On 16 Apr 2021, at 16:01, Henri Verbeet <hverbeet(a)gmail.com> wrote:
On Fri, 16 Apr 2021 at 10:45, Jan Sikorski <jsikorski(a)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