On 16 Apr 2021, at 16:01, Henri Verbeet hverbeet@gmail.com wrote:
On Fri, 16 Apr 2021 at 10:45, Jan Sikorski jsikorski@codeweavers.com wrote:
- hr = ID3D11Device_CreateInputLayout(device, layout_desc, ARRAY_SIZE(layout_desc),
vs_code, sizeof(vs_code), &test_context.input_layout);
- ok(SUCCEEDED(hr), "Failed to create input layout, hr %#x.\n", hr);
Some quick testing (i.e., getting rid of input layout creation here, and creating the input layout in draw_quad_vs_() against default_vs_code[]) seems to suggest this also works without a matching input layout. Should we perhaps look at the shader input signature instead?
That works, but gave me a validation error: D3D11 ERROR: ID3D11DeviceContext::Draw: Input Assembler - Vertex Shader linkage error: Signatures between stages are incompatible. The input stage requires Semantic/Index (COLOR,0) as input, but it is not provided by the output stage. [ EXECUTION ERROR #342: DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND]
It looks like an extra complication to match against the shader signature, I’m not sure if there are other reasons to prefer that?
- Jan