[PATCH v2 1/6] d3d11/tests: Added test for unbound input streams.

Jan Sikorski jsikorski at codeweavers.com
Mon Apr 19 10:24:05 CDT 2021


> On 19 Apr 2021, at 17:00, Henri Verbeet <hverbeet at gmail.com> wrote:
> 
> On Mon, 19 Apr 2021 at 16:24, Jan Sikorski <jsikorski at codeweavers.com> wrote:
>>> On 16 Apr 2021, at 16:01, Henri Verbeet <hverbeet at gmail.com> wrote:
>>> 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?
>> 
> It seems simpler in some regards. E.g., in
> wined3d_stream_info_from_declaration(), after the loop over the
> declaration elements, you'd loop over the shader's input signature,
> and insert entries for inputs not already setup, instead of using the
> "require_buffer" parameter.

Yeah, the part I’m missing is the mapping between wined3d_shader_signature_element and stream index / binding / location. Maybe it’s just something simple that I didn’t find?


More information about the wine-devel mailing list