diff --git a/libobs-d3d11/d3d11-rebuild.cpp b/libobs-d3d11/d3d11-rebuild.cpp index db7dc3dc4..58cb6d9dc 100644 --- a/libobs-d3d11/d3d11-rebuild.cpp +++ b/libobs-d3d11/d3d11-rebuild.cpp @@ -178,10 +178,13 @@ void gs_vertex_shader::Rebuild(ID3D11Device *dev) if (FAILED(hr)) throw HRError("Failed to create vertex shader", hr); - hr = dev->CreateInputLayout(layoutData.data(), (UINT)layoutData.size(), - data.data(), data.size(), &layout); - if (FAILED(hr)) - throw HRError("Failed to create input layout", hr); + const UINT layoutSize = (UINT)layoutData.size(); + if (layoutSize > 0) { + hr = dev->CreateInputLayout(layoutData.data(), layoutSize, + data.data(), data.size(), &layout); + if (FAILED(hr)) + throw HRError("Failed to create input layout", hr); + } if (constantSize) { hr = dev->CreateBuffer(&bd, NULL, &constants);