vkd3d-shader/d3dbc: Don't write inconsequential MOVs.
1 unresolved thread
1 unresolved thread
CASTS from floats to integers are implemented as mere MOVs. These often, but not always, end up moving the value from one register to the same register.
1/2 avoids writing the MOV instructions if they have no effect.
2/2 is an unrelated but tiny memory fix.
Merge request reports
Activity
added 1 commit
- 72d85bbb - vkd3d-shader/hlsl: Free array sizes on function parameters (valgrind).
I am keeping write_sm1_instruction()'s implementation in the vsir translation, which receives a struct sm1_instruction for argument passing, so it can be preserved.
It can be argued that this can be written as a vsir pass, but it is mainly to get rid of all the inconsequential MOVs that may appear when writing casts/reinterprets that don't perform any operation but MOV in SM1.
I don't mind letting this MR wait though.
added 98 commits
-
72d85bbb...daa13934 - 96 commits from branch
wine:master
- b92baa40 - vkd3d-shader/d3dbc: Don't write inconsequential MOVs.
- 7bd53cf6 - vkd3d-shader/hlsl: Free array sizes on function parameters (Valgrind).
-
72d85bbb...daa13934 - 96 commits from branch
Please register or sign in to reply