瀏覽代碼

Merge pull request #2131 from jpark37/input-layout-error

libobs-d3d11: Fix null input layout rebuild
Jim 6 年之前
父節點
當前提交
8c5d22e12c
共有 1 個文件被更改,包括 7 次插入4 次删除
  1. 7 4
      libobs-d3d11/d3d11-rebuild.cpp

+ 7 - 4
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);