vkd3d-shader/ir: Set merged signature element interpolation mode only from used elements.
Merge request reports
Activity
added 1 commit
- 639f8852 - vkd3d-shader/ir: Revert "Do not merge signature elements which have different interpolation modes."
This issue is a little more specific than it first appeared. It occurs when an I/O row is split into multiple elements by components, but the first element is unused, e.g.:
Name Index Mask Register SysValue Format Used -------------------- ----- ------ -------- -------- ------- ------ sv_position 0 xyzw 0 POS float texcoord 0 xy 1 NONE float texcoord 1 zw 1 NONE float zw
And the declaration contains an interpolation mode:
dcl_input_ps constant v1.zw
The old fix needs to be reverted, and replaced with a new fix. When split elements are merged, the interpolation mode should be taken from those which have one.
I was unable to make a shader runner test which touches the issue. My knowledge of interpolation modes and their effects isn't great. Any suggestions?
A d3d12 test seems excessive
I don't think we should keep a particularly high barrier on adding d3d12 tests. It would be nice to move as many as possible of them to the shader runner to save on boilerplate (and to make the shader runner language more powerful so that more tests can be converted), but in the meantime I don't think we want to give up on d3d12 tests because they're too many or because only some features can be tested there.
mentioned in merge request !537 (merged)
added 17 commits
-
639f8852...50cebc72 - 14 commits from branch
wine:master
- db353669 - vkd3d-shader/ir: Revert "Do not merge signature elements which have different interpolation modes."
- dfc85c23 - tests: Test an interpolated PS input where component x is unused.
- a0dc5254 - vkd3d-shader/ir: Set merged signature element interpolation mode only from used elements.
Toggle commit list-
639f8852...50cebc72 - 14 commits from branch
added 3 commits
added 83 commits
-
8a201593...cd77b2a9 - 80 commits from branch
wine:master
- 9daf8b07 - vkd3d-shader/ir: Revert "Do not merge signature elements which have different interpolation modes."
- fd0e5e0f - tests: Test an interpolated PS input where component x is unused.
- 3201d151 - vkd3d-shader/ir: Set merged signature element interpolation mode only from used elements.
Toggle commit list-
8a201593...cd77b2a9 - 80 commits from branch
added 10 commits
-
3201d151...efe800f7 - 7 commits from branch
wine:master
- b8280e42 - vkd3d-shader/ir: Revert "Do not merge signature elements which have different...
- 759362b5 - tests: Test an interpolated PS input where component x is unused.
- 83851133 - vkd3d-shader/ir: Set merged signature element interpolation mode only from used elements.
Toggle commit list-
3201d151...efe800f7 - 7 commits from branch