vkd3d-shader/ir: Require signed source operands for ITOF instructions.

This commit is contained in:
Henri Verbeet
2025-09-02 18:56:38 +02:00
parent 9ee53c9573
commit 89641d3d42
Notes: Henri Verbeet 2025-09-16 16:19:58 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1727
13 changed files with 37 additions and 48 deletions

View File

@@ -19,7 +19,7 @@ float4 main() : sv_target
[test]
uniform 0 float4 -1.9 -1.0 2.9 4.0
draw quad
todo(msl & sm>=6) probe (0, 0) f32(-1.0, -1.0, 2.0, 4.0)
probe (0, 0) f32(-1.0, -1.0, 2.0, 4.0)
% As above, but cast "x" to float4 first.
% In SM 6 a cast seems to implicitly promote the type to const,
@@ -89,8 +89,7 @@ float4 main() : sv_target
if(sm<4) uniform 0 float4 -2 0 1 -3000000
if(sm>=4) uniform 0 int4 -2 0 1 -3000000
draw quad
todo(msl & sm>=6) probe (0, 0) f32(-1.0, 0.0, 1.0, -3000000.0) 4
probe (0, 0) f32(-1.0, 0.0, 1.0, -3000000.0) 4
% An explicit cast gets applied right before assignment, as if it was on the lhs.
[pixel shader fail(sm>=6)]