vkd3d-shader/hlsl: Implement tex2Dbias().
Merge request reports
Activity
The failure is triggered by ir validation which is enabled for CI runs. It's not a problem of this MR directly, because same shader compiled on Windows produces exactly the same validation failure when compiling as d3dbc -> spriv-binary. I'll see if I can figure out how to address this.
What I believe fails in combined samplers case, the path is d3dbc_parse -> vkd3d_shader_parser_validate. There is no normalization happening here that would reset swizzle to 0. @giomasce, could you check how this was intended to work? In essence this reports false positives for anything using tex2D*() functions in d3dbc.
The problem happens in
vsir_program_normalise_combined_samplers()
, where the combined sampler is replaced with a sampler and an explicit texture. The texture should have dimension VEC4, since swizzling on the texture is interpreted as swizzling on the values read from the texture, but it does not. This triggers the validator's ire. I guess the correct fix is to add this line invsir_program_normalise_combined_samplers()
:srcs[1].reg.dimension = VSIR_DIMENSION_VEC4;
Thanks, that works! I submitted this as !887 (merged).
added 27 commits
-
05cccb89...9693271d - 24 commits from branch
wine:master
- 6427a12c - vkd3d-shader/hlsl: Implement tex2Dbias().
- f28948a6 - vkd3d-shader/asm: Output 'bias' flag for 'texld'.
- e69ffa2e - vkd3d-shader/d3dbc: Write load instruction for tex2Dbias().
Toggle commit list-
05cccb89...9693271d - 24 commits from branch
added 9 commits
-
e69ffa2e...1fe7a658 - 6 commits from branch
wine:master
- b23e516e - vkd3d-shader/hlsl: Implement tex2Dbias().
- bc74dcd8 - vkd3d-shader/asm: Output 'bias' flag for 'texld'.
- f6c4e953 - vkd3d-shader/d3dbc: Write load instruction for tex2Dbias().
Toggle commit list-
e69ffa2e...1fe7a658 - 6 commits from branch
added 23 commits
-
f6c4e953...f0cd35b4 - 20 commits from branch
wine:master
- ccbe36fb - vkd3d-shader/hlsl: Implement tex2Dbias().
- a289393f - vkd3d-shader/asm: Output 'bias' flag for 'texld'.
- ba180352 - vkd3d-shader/d3dbc: Write load instruction for tex2Dbias().
Toggle commit list-
f6c4e953...f0cd35b4 - 20 commits from branch