[PATCH 4/5] d3d11/tests: Add test for shader input register limits.

Józef Kucia joseph.kucia at gmail.com
Mon Nov 28 16:19:48 CST 2016


On Fri, Nov 25, 2016 at 4:05 PM, Henri Verbeet <hverbeet at gmail.com> wrote:
> On 25 November 2016 at 12:17, Józef Kucia <jkucia at codeweavers.com> wrote:
>> Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
>> ---
>>
>> The "ps_many_resources_code" shader bytecode is very big because texture
>> resources cannot be indexed and the loop is unrolled.
>>
>> ---
>>  dlls/d3d11/tests/d3d11.c | 221 +++++++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 221 insertions(+)
>>
>
> This doesn't work here. In particular:
>
>     fixme:d3d_shader:print_glsl_info_log Info log received from GLSL shader #5:
>     fixme:d3d_shader:print_glsl_info_log     error: Too many fragment
> shader texture samplers

That's bad. Generally, SM4 hardware is expected to support 32
samplers. In order to prevent this OpenGL error, the number of
samplers used in generated GLSL code could be limited to the number of
samplers supported by OpenGL implementation. However, the test will
fail when wined3d starts to correctly handle more than 16 samplers in
pixel shaders.

>     ...
>     fixme:d3d:context_bind_shader_resources Shader 0x18bb10 needs 21
> samplers, but only 16 are supported.

This one is expected. The two instances of "todo_wine" in the test are
related to this issue.



More information about the wine-devel mailing list