mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
vkd3d-shader/ir: Require signed source operands for ITOF instructions.
This commit is contained in:
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
@@ -73,7 +73,7 @@ float4 main() : SV_TARGET
|
||||
[test]
|
||||
uniform 0 uint4 2 0 0 0
|
||||
draw quad
|
||||
todo(msl & sm>=6) probe (0, 0) f32(20, -48, 20, -48)
|
||||
probe (0, 0) f32(20, -48, 20, -48)
|
||||
|
||||
[pixel shader fail]
|
||||
% Make sure that bitshifts DON'T work with floats
|
||||
|
||||
@@ -11,8 +11,7 @@ float4 main() : sv_target
|
||||
[test]
|
||||
uniform 0 float4 10.3 -11.6 12.8 13.1
|
||||
draw quad
|
||||
todo(msl & sm>=6) probe (0, 0) f32(10, -11, 12, 0)
|
||||
|
||||
probe (0, 0) f32(10, -11, 12, 0)
|
||||
|
||||
[vertex shader]
|
||||
uniform float4 f;
|
||||
@@ -32,8 +31,7 @@ float4 main(float4 t1 : TEXCOORD1) : sv_target
|
||||
[test]
|
||||
uniform 0 float4 -0.4 -0.7 -12.8 14.8
|
||||
draw quad
|
||||
todo(msl & sm>=6) probe (0, 0) f32(0, 0, -12, 14)
|
||||
|
||||
probe (0, 0) f32(0, 0, -12, 14)
|
||||
|
||||
[pixel shader]
|
||||
uniform float f;
|
||||
|
||||
@@ -52,4 +52,4 @@ float4 main() : sv_target
|
||||
if(sm<4) uniform 0 float4 -1 6 7 3
|
||||
if(sm>=4) uniform 0 int4 -1 6 7 3
|
||||
draw quad
|
||||
todo(msl & sm>=6) probe (0, 0) f32(6.0, 7.0, -1.0, 3.0) 4
|
||||
probe (0, 0) f32(6.0, 7.0, -1.0, 3.0) 4
|
||||
|
||||
@@ -12,7 +12,7 @@ float4 main() : sv_target
|
||||
[test]
|
||||
uniform 0 float4 -0.5 6.5 7.5 3.4
|
||||
draw quad
|
||||
todo(msl & sm>=6) probe (0, 0) f32(1912.0, 1657.0, -127.0, 867.0) 1
|
||||
probe (0, 0) f32(1912.0, 1657.0, -127.0, 867.0) 1
|
||||
|
||||
[pixel shader]
|
||||
uniform float4 u;
|
||||
@@ -25,4 +25,4 @@ float4 main() : sv_target
|
||||
[test]
|
||||
uniform 0 float4 -0.5 6.5 7.5 3.4
|
||||
draw quad
|
||||
todo(msl & sm>=6) probe (0, 0) f32(-127.0, -127.0, -127.0, -127.0) 1
|
||||
probe (0, 0) f32(-127.0, -127.0, -127.0, -127.0) 1
|
||||
|
||||
@@ -53,4 +53,4 @@ float4 main() : sv_target
|
||||
if(sm<4) uniform 0 float4 -1 6 7 3
|
||||
if(sm>=4) uniform 0 int4 -1 6 7 3
|
||||
draw quad
|
||||
todo(msl & sm>=6) probe (0, 0) f32(6.0, 7.0, -1.0, 3.0) 4
|
||||
probe (0, 0) f32(6.0, 7.0, -1.0, 3.0) 4
|
||||
|
||||
@@ -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)]
|
||||
|
||||
@@ -29,8 +29,7 @@ if(sm<4) uniform 4 float4 0 -10 10 100
|
||||
if(sm>=4) uniform 0 int4 2 3 4 5
|
||||
if(sm>=4) uniform 4 int4 0 -10 10 100
|
||||
draw quad
|
||||
todo(msl & sm>=6) probe (0, 0) f32(2.0, 0.00292968750, 4096.0, 6.33825300e+030) 2
|
||||
|
||||
probe (0, 0) f32(2.0, 0.00292968750, 4096.0, 6.33825300e+030) 2
|
||||
|
||||
[pixel shader]
|
||||
float4 main() : sv_target
|
||||
|
||||
@@ -34,8 +34,7 @@ if(sm>=4) uniform 0 int4 2 3 4 0
|
||||
if(sm>=4) uniform 4 int4 0 -10 10 1000000
|
||||
if(sm>=4) uniform 8 int4 0 1 -1 1000000
|
||||
draw quad
|
||||
todo(msl & sm>=6) probe (0, 0) f32(2.0, -10.0, -2.0, 1e12) 4
|
||||
|
||||
probe (0, 0) f32(2.0, -10.0, -2.0, 1e12) 4
|
||||
|
||||
[pixel shader]
|
||||
float4 main() : sv_target
|
||||
|
||||
@@ -11,8 +11,6 @@ uniform 0 float4 -0.4 -6.6 7.6 3.4
|
||||
draw quad
|
||||
probe (0, 0) rgba (0.0, -7.0, 8.0, 3.0) 4
|
||||
|
||||
|
||||
|
||||
[pixel shader]
|
||||
uniform float4 u;
|
||||
|
||||
@@ -27,9 +25,7 @@ float4 main() : sv_target
|
||||
[test]
|
||||
uniform 0 float4 -0.4 -6.6 7.6 3.4
|
||||
draw quad
|
||||
todo(msl & sm>=6) probe (0, 0) f32(-7.0, 8.0, 0.0, 3.0) 4
|
||||
|
||||
|
||||
probe (0, 0) f32(-7.0, 8.0, 0.0, 3.0) 4
|
||||
|
||||
[pixel shader]
|
||||
uniform float4 u;
|
||||
@@ -43,7 +39,7 @@ float4 main() : sv_target
|
||||
[test]
|
||||
uniform 0 float4 -1 0 2 10
|
||||
draw quad
|
||||
todo(msl & sm>=6) probe (0, 0) f32(-1.0, 0.0, 2.0, 10.0) 4
|
||||
probe (0, 0) f32(-1.0, 0.0, 2.0, 10.0) 4
|
||||
|
||||
[pixel shader]
|
||||
float4 main() : sv_target
|
||||
|
||||
@@ -23,7 +23,7 @@ float4 main() : sv_target
|
||||
[test]
|
||||
uniform 0 float4 -2 0 2 -1
|
||||
draw quad
|
||||
todo(msl & sm>=6) probe (0, 0) f32(0.0, 0.0, 1.0, 0.0)
|
||||
probe (0, 0) f32(0.0, 0.0, 1.0, 0.0)
|
||||
|
||||
[pixel shader]
|
||||
uniform float4 u;
|
||||
|
||||
@@ -46,4 +46,4 @@ float4 main() : sv_target
|
||||
if(sm<4) uniform 0 float4 -1 6 7 3
|
||||
if(sm>=4) uniform 0 int4 -1 6 7 3
|
||||
draw quad
|
||||
todo(msl & sm>=6) probe (0, 0) f32(6.0, 7.0, -1.0, 3.0)
|
||||
probe (0, 0) f32(6.0, 7.0, -1.0, 3.0)
|
||||
|
||||
Reference in New Issue
Block a user