mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
tests: Remove [require] directives for tests that use int and bool uniforms.
These tests should actually compile and run in SM1, which is possible if we pass the int and uint uniforms in the expected IEEE 754 float format for SM1 shaders. Also, bools should be passed as 1.0f or 0.0f to SM1.
This commit is contained in:
parent
22c47e57f5
commit
6a8939e19f
Notes:
Alexandre Julliard
2024-02-13 23:11:43 +01:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/616
@ -48,10 +48,8 @@ uniform 0 float4 -1.0 0.0 0.0 0.0
|
|||||||
todo(sm<4) draw quad
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
||||||
|
|
||||||
[require]
|
|
||||||
shader model >= 4.0
|
|
||||||
|
|
||||||
[pixel shader]
|
[pixel shader todo(sm<4)]
|
||||||
uniform uint4 b;
|
uniform uint4 b;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -60,26 +58,32 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 uint4 1 1 1 1
|
if(sm<4) uniform 0 float4 1 1 1 1
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 1 1 1 1
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
||||||
uniform 0 uint4 1 0 0 0
|
if(sm<4) uniform 0 float4 1 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 1 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
||||||
uniform 0 uint4 0 1 0 0
|
if(sm<4) uniform 0 float4 0 1 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 0 1 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
||||||
uniform 0 uint4 0 0 1 0
|
if(sm<4) uniform 0 float4 0 0 1 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 0 0 1 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
||||||
uniform 0 uint4 0 0 0 1
|
if(sm<4) uniform 0 float4 0 0 0 1
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 0 0 0 1
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
||||||
uniform 0 uint4 0 0 0 0
|
if(sm<4) uniform 0 float4 0 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 0 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (0.0, 0.0, 0.0, 0.0)
|
probe all rgba (0.0, 0.0, 0.0, 0.0)
|
||||||
|
|
||||||
[pixel shader]
|
[pixel shader todo(sm<4)]
|
||||||
uniform uint b;
|
uniform uint b;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -88,9 +92,11 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 uint4 1 0 0 0
|
if(sm<4) uniform 0 float4 1 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 1 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
||||||
uniform 0 uint4 0 0 0 0
|
if(sm<4) uniform 0 float4 0 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 0 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (0.0, 0.0, 0.0, 0.0)
|
probe all rgba (0.0, 0.0, 0.0, 0.0)
|
||||||
|
@ -14,11 +14,7 @@ draw quad
|
|||||||
probe all rgba (0.0, 0.0, 1.0, 1.0)
|
probe all rgba (0.0, 0.0, 1.0, 1.0)
|
||||||
|
|
||||||
|
|
||||||
[require]
|
[pixel shader todo(sm<4)]
|
||||||
shader model >= 4.0
|
|
||||||
|
|
||||||
|
|
||||||
[pixel shader]
|
|
||||||
uniform float4 x;
|
uniform float4 x;
|
||||||
uniform int4 y;
|
uniform int4 y;
|
||||||
|
|
||||||
@ -29,12 +25,13 @@ float4 main() : SV_TARGET
|
|||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 float4 0.0 0.0 2.0 4.0
|
uniform 0 float4 0.0 0.0 2.0 4.0
|
||||||
uniform 4 int4 0 1 0 10
|
if(sm<4) uniform 4 float4 0 1 0 10
|
||||||
draw quad
|
if(sm>=4) uniform 4 int4 0 1 0 10
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (0.0, 10.0, 1.0, 11.0)
|
probe all rgba (0.0, 10.0, 1.0, 11.0)
|
||||||
|
|
||||||
|
|
||||||
[pixel shader]
|
[pixel shader todo(sm<4)]
|
||||||
uniform bool4 b;
|
uniform bool4 b;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -43,6 +40,7 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 uint4 0x00000001 0x00000002 0x80000000 0x00000000
|
if(sm<4) uniform 0 float4 1.0 1.0 1.0 0.0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 0x00000001 0x00000002 0x80000000 0x00000000
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (2.0, 2.0, 2.0, 0.0)
|
probe all rgba (2.0, 2.0, 2.0, 0.0)
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
[require]
|
[pixel shader todo(sm<4)]
|
||||||
shader model >= 4.0
|
|
||||||
|
|
||||||
[pixel shader]
|
|
||||||
uniform int i;
|
uniform int i;
|
||||||
uniform uint u;
|
uniform uint u;
|
||||||
uniform bool b;
|
uniform bool b;
|
||||||
@ -13,15 +10,19 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 int -1
|
if(sm<4) uniform 0 float -1
|
||||||
uniform 1 uint 3
|
if(sm<4) uniform 4 float 3
|
||||||
uniform 2 int -2
|
if(sm<4) uniform 8 float 1
|
||||||
uniform 3 float 0.5
|
if(sm<4) uniform 12 float 0.5
|
||||||
draw quad
|
if(sm>=4) uniform 0 int -1
|
||||||
|
if(sm>=4) uniform 1 uint 3
|
||||||
|
if(sm>=4) uniform 2 int -2
|
||||||
|
if(sm>=4) uniform 3 float 0.5
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (0.5, 0.5, 0.5, 0.5)
|
probe all rgba (0.5, 0.5, 0.5, 0.5)
|
||||||
|
|
||||||
[pixel shader]
|
|
||||||
|
|
||||||
|
[pixel shader]
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
{
|
{
|
||||||
int i = -1;
|
int i = -1;
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
[require]
|
[pixel shader todo(sm<4)]
|
||||||
shader model >= 4.0
|
|
||||||
|
|
||||||
[pixel shader]
|
|
||||||
uniform int i;
|
uniform int i;
|
||||||
uniform uint u;
|
uniform uint u;
|
||||||
uniform bool b;
|
uniform bool b;
|
||||||
@ -13,15 +10,19 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 int -1
|
if(sm<4) uniform 0 float -1
|
||||||
uniform 1 uint 3
|
if(sm<4) uniform 4 float 3
|
||||||
uniform 2 int -2
|
if(sm<4) uniform 8 float 1
|
||||||
uniform 3 float 0.5
|
if(sm<4) uniform 12 float 0.5
|
||||||
draw quad
|
if(sm>=4) uniform 0 int -1
|
||||||
|
if(sm>=4) uniform 1 uint 3
|
||||||
|
if(sm>=4) uniform 2 int -2
|
||||||
|
if(sm>=4) uniform 3 float 0.5
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (0.5, 0.5, 0.5, 0.5)
|
probe all rgba (0.5, 0.5, 0.5, 0.5)
|
||||||
|
|
||||||
[pixel shader]
|
|
||||||
|
|
||||||
|
[pixel shader]
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
{
|
{
|
||||||
int i = -1;
|
int i = -1;
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
[require]
|
[pixel shader todo(sm<4)]
|
||||||
shader model >= 4.0
|
|
||||||
|
|
||||||
[pixel shader]
|
|
||||||
uniform float f;
|
uniform float f;
|
||||||
uniform uint u;
|
uniform uint u;
|
||||||
uniform bool b;
|
uniform bool b;
|
||||||
@ -19,15 +16,19 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 float 2.6
|
if(sm<4) uniform 0 float 2.6
|
||||||
uniform 1 int -2
|
if(sm<4) uniform 4 float -2
|
||||||
uniform 2 int -2
|
if(sm<4) uniform 8 float 1.0
|
||||||
uniform 3 float -3.6
|
if(sm<4) uniform 12 float -3.6
|
||||||
draw quad
|
if(sm>=4) uniform 0 float 2.6
|
||||||
|
if(sm>=4) uniform 1 int -2
|
||||||
|
if(sm>=4) uniform 2 int -2
|
||||||
|
if(sm>=4) uniform 3 float -3.6
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (0.5, 0.5, 0.5, 0.5)
|
probe all rgba (0.5, 0.5, 0.5, 0.5)
|
||||||
|
|
||||||
[pixel shader]
|
|
||||||
|
|
||||||
|
[pixel shader]
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
{
|
{
|
||||||
float f = 2.6;
|
float f = 2.6;
|
||||||
@ -45,4 +46,5 @@ float4 main() : sv_target
|
|||||||
|
|
||||||
[test]
|
[test]
|
||||||
draw quad
|
draw quad
|
||||||
probe all rgba (0.5, 0.5, 0.5, 0.5)
|
if(sm<4) todo probe all rgba (0.5, 4.2949673e+009, 0.5, 0.5)
|
||||||
|
if(sm>=4) probe all rgba (0.5, 0.5, 0.5, 0.5)
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
|
% On SM1, uints can only be used with known-positive values.
|
||||||
[require]
|
[require]
|
||||||
shader model >= 4.0
|
shader model >= 4.0
|
||||||
|
|
||||||
|
|
||||||
[pixel shader]
|
[pixel shader]
|
||||||
uniform float f;
|
uniform float f;
|
||||||
uniform int i;
|
uniform int i;
|
||||||
@ -26,8 +28,8 @@ uniform 3 float -3.6
|
|||||||
draw quad
|
draw quad
|
||||||
probe all rgba (0.5, 0.5, 0.5, 0.5)
|
probe all rgba (0.5, 0.5, 0.5, 0.5)
|
||||||
|
|
||||||
[pixel shader]
|
|
||||||
|
|
||||||
|
[pixel shader]
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
{
|
{
|
||||||
float f = 2.6;
|
float f = 2.6;
|
||||||
|
@ -37,10 +37,7 @@ uniform 0 float4 -0.5 6.5 7.5 3.4
|
|||||||
todo(sm<4) draw quad
|
todo(sm<4) draw quad
|
||||||
probe all rgba (7.0, 8.0, 0.0, 4.0) 4
|
probe all rgba (7.0, 8.0, 0.0, 4.0) 4
|
||||||
|
|
||||||
[require]
|
[pixel shader todo(sm<4)]
|
||||||
shader model >= 4.0
|
|
||||||
|
|
||||||
[pixel shader]
|
|
||||||
uniform int4 u;
|
uniform int4 u;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -52,6 +49,7 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 int4 -1 6 7 3
|
if(sm<4) uniform 0 float4 -1 6 7 3
|
||||||
draw quad
|
if(sm>=4) uniform 0 int4 -1 6 7 3
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (6.0, 7.0, -1.0, 3.0) 4
|
probe all rgba (6.0, 7.0, -1.0, 3.0) 4
|
||||||
|
@ -37,10 +37,8 @@ uniform 0 float4 -0.5 6.5 7.5 3.4
|
|||||||
todo(sm<4) draw quad
|
todo(sm<4) draw quad
|
||||||
probe all rgba (6.0, 7.0, -1.0, 3.0) 4
|
probe all rgba (6.0, 7.0, -1.0, 3.0) 4
|
||||||
|
|
||||||
[require]
|
|
||||||
shader model >= 4.0
|
|
||||||
|
|
||||||
[pixel shader]
|
[pixel shader todo(sm<4)]
|
||||||
uniform int4 u;
|
uniform int4 u;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -52,6 +50,7 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 int4 -1 6 7 3
|
if(sm<4) uniform 0 float4 -1 6 7 3
|
||||||
draw quad
|
if(sm>=4) uniform 0 int4 -1 6 7 3
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (6.0, 7.0, -1.0, 3.0) 4
|
probe all rgba (6.0, 7.0, -1.0, 3.0) 4
|
||||||
|
@ -69,8 +69,6 @@ uniform 0 float4 -1.9 -1.0 2.9 4.0
|
|||||||
todo draw quad
|
todo draw quad
|
||||||
probe all rgba (-1.0, -1.0, 2.0, 4.0)
|
probe all rgba (-1.0, -1.0, 2.0, 4.0)
|
||||||
|
|
||||||
[require]
|
|
||||||
shader model >= 4.0
|
|
||||||
|
|
||||||
[pixel shader todo]
|
[pixel shader todo]
|
||||||
uniform int4 i;
|
uniform int4 i;
|
||||||
@ -88,6 +86,7 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 int4 -2 0 1 -3000000
|
if(sm<4) uniform 0 float4 -2 0 1 -3000000
|
||||||
|
if(sm>=4) uniform 0 int4 -2 0 1 -3000000
|
||||||
todo(sm<6) draw quad
|
todo(sm<6) draw quad
|
||||||
probe all rgba (-1.0, 0.0, 1.0, -3000000.0)
|
probe all rgba (-1.0, 0.0, 1.0, -3000000.0) 4
|
||||||
|
@ -13,10 +13,8 @@ uniform 4 float4 0.0 -10.0 10.0 100.0
|
|||||||
draw quad
|
draw quad
|
||||||
probe all rgba (2.0, 0.00292968750, 4096.0, 6.33825300e+030) 2
|
probe all rgba (2.0, 0.00292968750, 4096.0, 6.33825300e+030) 2
|
||||||
|
|
||||||
[require]
|
|
||||||
shader model >= 4.0
|
|
||||||
|
|
||||||
[pixel shader]
|
[pixel shader todo(sm<4)]
|
||||||
uniform int4 x;
|
uniform int4 x;
|
||||||
uniform int4 y;
|
uniform int4 y;
|
||||||
|
|
||||||
@ -26,9 +24,11 @@ float4 main() : SV_TARGET
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 int4 2 3 4 5
|
if(sm<4) uniform 0 float4 2 3 4 5
|
||||||
uniform 4 int4 0 -10 10 100
|
if(sm<4) uniform 4 float4 0 -10 10 100
|
||||||
draw quad
|
if(sm>=4) uniform 0 int4 2 3 4 5
|
||||||
|
if(sm>=4) uniform 4 int4 0 -10 10 100
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (2.0, 0.00292968750, 4096.0, 6.33825300e+030) 2
|
probe all rgba (2.0, 0.00292968750, 4096.0, 6.33825300e+030) 2
|
||||||
|
|
||||||
|
|
||||||
|
@ -15,10 +15,8 @@ uniform 8 float4 0.0 1.0 -1.0 0.75
|
|||||||
draw quad
|
draw quad
|
||||||
probe all rgba (2.0, -10.0, -2.0, 76.25)
|
probe all rgba (2.0, -10.0, -2.0, 76.25)
|
||||||
|
|
||||||
[require]
|
|
||||||
shader model >= 4.0
|
|
||||||
|
|
||||||
[pixel shader]
|
[pixel shader todo(sm<4)]
|
||||||
uniform int4 x;
|
uniform int4 x;
|
||||||
uniform int4 y;
|
uniform int4 y;
|
||||||
uniform int4 s;
|
uniform int4 s;
|
||||||
@ -29,10 +27,13 @@ float4 main() : SV_TARGET
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 int4 2 3 4 0
|
if(sm<4) uniform 0 float4 2 3 4 0
|
||||||
uniform 4 int4 0 -10 10 1000000
|
if(sm<4) uniform 4 float4 0 -10 10 1000000
|
||||||
uniform 8 int4 0 1 -1 1000000
|
if(sm<4) uniform 8 float4 0 1 -1 1000000
|
||||||
draw quad
|
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
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (2.0, -10.0, -2.0, 1e12)
|
probe all rgba (2.0, -10.0, -2.0, 1e12)
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@ uniform 0 float4 0.0 0.0 0.0 0.0
|
|||||||
todo(sm<4) draw quad
|
todo(sm<4) draw quad
|
||||||
probe all rgba (0.0, 0.0, 0.0, 0.0)
|
probe all rgba (0.0, 0.0, 0.0, 0.0)
|
||||||
|
|
||||||
|
|
||||||
[pixel shader todo(sm<4)]
|
[pixel shader todo(sm<4)]
|
||||||
uniform float4 f;
|
uniform float4 f;
|
||||||
|
|
||||||
@ -30,6 +31,7 @@ uniform 0 float4 1.0 2.0 3.0 4.0
|
|||||||
todo(sm<4) draw quad
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
||||||
|
|
||||||
|
|
||||||
[pixel shader todo(sm<4)]
|
[pixel shader todo(sm<4)]
|
||||||
uniform float2x2 f;
|
uniform float2x2 f;
|
||||||
|
|
||||||
@ -44,9 +46,6 @@ uniform 4 float4 3.0 4.0 0.0 0.0
|
|||||||
todo(sm<4) draw quad
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
probe all rgba (1.0, 1.0, 1.0, 1.0)
|
||||||
|
|
||||||
[require]
|
|
||||||
% SM1-3 doesn't support integral types
|
|
||||||
shader model >= 4.0
|
|
||||||
|
|
||||||
[pixel shader todo(sm<4)]
|
[pixel shader todo(sm<4)]
|
||||||
uniform int f;
|
uniform int f;
|
||||||
@ -57,16 +56,20 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 int4 1 0 0 0
|
if(sm<4) uniform 0 float4 1 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 int4 1 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1, 1, 1, 1)
|
probe all rgba (1, 1, 1, 1)
|
||||||
uniform 0 int4 -1 0 0 0
|
if(sm<4) uniform 0 float4 -1 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 int4 -1 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (-1, -1, -1, -1)
|
probe all rgba (-1, -1, -1, -1)
|
||||||
uniform 0 int4 0 0 0 0
|
if(sm<4) uniform 0 float4 0 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 int4 0 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (0, 0, 0, 0)
|
probe all rgba (0, 0, 0, 0)
|
||||||
|
|
||||||
|
|
||||||
[pixel shader todo(sm<4)]
|
[pixel shader todo(sm<4)]
|
||||||
uniform int4 f;
|
uniform int4 f;
|
||||||
|
|
||||||
@ -76,10 +79,12 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 int4 1 2 3 4
|
if(sm<4) uniform 0 float4 1 2 3 4
|
||||||
draw quad
|
if(sm>=4) uniform 0 int4 1 2 3 4
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1, 1, 1, 1)
|
probe all rgba (1, 1, 1, 1)
|
||||||
|
|
||||||
|
|
||||||
[pixel shader todo(sm<4)]
|
[pixel shader todo(sm<4)]
|
||||||
uniform int2x2 f;
|
uniform int2x2 f;
|
||||||
|
|
||||||
@ -89,7 +94,9 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 int4 1 2 0 0
|
if(sm<4) uniform 0 float4 1 2 0 0
|
||||||
uniform 4 int4 3 4 0 0
|
if(sm<4) uniform 4 float4 3 4 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 int4 1 2 0 0
|
||||||
|
if(sm>=4) uniform 4 int4 3 4 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1, 1, 1, 1)
|
probe all rgba (1, 1, 1, 1)
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
[require]
|
[pixel shader todo(sm<4)]
|
||||||
shader model >= 4.0
|
|
||||||
|
|
||||||
[pixel shader]
|
|
||||||
uint4 v;
|
uint4 v;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -18,18 +15,22 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 uint4 3 0 0 0
|
if(sm<4) uniform 0 float4 3 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 3 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (5.0, 5.0, 5.0, 5.0)
|
probe all rgba (5.0, 5.0, 5.0, 5.0)
|
||||||
uniform 0 uint4 1 0 0 0
|
if(sm<4) uniform 0 float4 1 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 1 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (4.0, 4.0, 4.0, 4.0)
|
probe all rgba (4.0, 4.0, 4.0, 4.0)
|
||||||
uniform 0 uint4 0 0 0 0
|
if(sm<4) uniform 0 float4 0 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 0 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (3.0, 3.0, 3.0, 3.0)
|
probe all rgba (3.0, 3.0, 3.0, 3.0)
|
||||||
|
|
||||||
|
|
||||||
% just a default case
|
% just a default case
|
||||||
[pixel shader]
|
[pixel shader todo(sm<4)]
|
||||||
uint4 v;
|
uint4 v;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -42,16 +43,20 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 uint4 3 0 0 0
|
if(sm<4) uniform 0 float4 3 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 3 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (5.0, 5.0, 5.0, 5.0)
|
probe all rgba (5.0, 5.0, 5.0, 5.0)
|
||||||
uniform 0 uint4 1 0 0 0
|
if(sm<4) uniform 0 float4 1 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 1 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (5.0, 5.0, 5.0, 5.0)
|
probe all rgba (5.0, 5.0, 5.0, 5.0)
|
||||||
uniform 0 uint4 0 0 0 0
|
if(sm<4) uniform 0 float4 0 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 0 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (5.0, 5.0, 5.0, 5.0)
|
probe all rgba (5.0, 5.0, 5.0, 5.0)
|
||||||
|
|
||||||
|
|
||||||
% completely empty
|
% completely empty
|
||||||
[pixel shader fail]
|
[pixel shader fail]
|
||||||
uint4 v;
|
uint4 v;
|
||||||
@ -63,8 +68,9 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
% falling through is only supported for empty case statements
|
% falling through is only supported for empty case statements
|
||||||
[pixel shader]
|
[pixel shader todo(sm<4)]
|
||||||
uint4 v;
|
uint4 v;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -83,18 +89,22 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 uint4 2 0 0 0
|
if(sm<4) uniform 0 float4 2 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 2 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 2.0, 3.0, 4.0)
|
probe all rgba (1.0, 2.0, 3.0, 4.0)
|
||||||
uniform 0 uint4 1 0 0 0
|
if(sm<4) uniform 0 float4 1 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 1 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.1, 2.0, 3.0, 4.0)
|
probe all rgba (1.1, 2.0, 3.0, 4.0)
|
||||||
uniform 0 uint4 0 0 0 0
|
if(sm<4) uniform 0 float4 0 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 0 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.1, 2.0, 3.0, 4.0)
|
probe all rgba (1.1, 2.0, 3.0, 4.0)
|
||||||
|
|
||||||
|
|
||||||
% case value evaluation
|
% case value evaluation
|
||||||
[pixel shader]
|
[pixel shader todo(sm<4)]
|
||||||
uint4 v;
|
uint4 v;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -115,15 +125,18 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 uint4 2 0 0 0
|
if(sm<4) uniform 0 float4 2 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 2 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.1, 2.1, 3.1, 4.1)
|
probe all rgba (1.1, 2.1, 3.1, 4.1)
|
||||||
uniform 0 uint4 1 0 0 0
|
if(sm<4) uniform 0 float4 1 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 1 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 2.0, 3.0, 4.0)
|
probe all rgba (1.0, 2.0, 3.0, 4.0)
|
||||||
|
|
||||||
|
|
||||||
% floats are accepted
|
% floats are accepted
|
||||||
[pixel shader fail(sm>=6)]
|
[pixel shader fail(sm>=6) todo(sm<4)]
|
||||||
uint4 v;
|
uint4 v;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -144,14 +157,16 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 uint4 2 0 0 0
|
if(sm<4) uniform 0 float4 2 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 2 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.1, 2.1, 3.1, 4.1)
|
probe all rgba (1.1, 2.1, 3.1, 4.1)
|
||||||
uniform 0 uint4 1 0 0 0
|
if(sm<4) uniform 0 float4 1 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 1 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 2.0, 3.0, 4.0)
|
probe all rgba (1.0, 2.0, 3.0, 4.0)
|
||||||
|
|
||||||
[pixel shader fail(sm>=6)]
|
[pixel shader fail(sm<4 | sm>=6) todo(sm<4)]
|
||||||
float4 v;
|
float4 v;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -173,10 +188,10 @@ float4 main() : sv_target
|
|||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 float4 2.0 0.0 0.0 0.0
|
uniform 0 float4 2.0 0.0 0.0 0.0
|
||||||
draw quad
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.1, 2.1, 3.1, 4.1)
|
probe all rgba (1.1, 2.1, 3.1, 4.1)
|
||||||
uniform 0 float4 1.0 0.0 0.0 0.0
|
uniform 0 float4 1.0 0.0 0.0 0.0
|
||||||
draw quad
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 2.0, 3.0, 4.0)
|
probe all rgba (1.0, 2.0, 3.0, 4.0)
|
||||||
|
|
||||||
[pixel shader fail]
|
[pixel shader fail]
|
||||||
@ -347,7 +362,7 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
% more complicated breaks
|
% more complicated breaks
|
||||||
[pixel shader]
|
[pixel shader todo(sm<4)]
|
||||||
uint4 v;
|
uint4 v;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -373,18 +388,21 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 uint4 2 0 0 0
|
if(sm<4) uniform 0 float4 2 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 2 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.1, 2.1, 3.1, 4.1)
|
probe all rgba (1.1, 2.1, 3.1, 4.1)
|
||||||
uniform 0 uint4 1 0 0 0
|
if(sm<4) uniform 0 float4 1 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 1 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.2, 2.2, 3.2, 4.2)
|
probe all rgba (1.2, 2.2, 3.2, 4.2)
|
||||||
uniform 0 uint4 0 0 0 0
|
if(sm<4) uniform 0 float4 0 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 0 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 2.0, 3.0, 4.0)
|
probe all rgba (1.0, 2.0, 3.0, 4.0)
|
||||||
|
|
||||||
% switch breaks within a loop
|
% switch breaks within a loop
|
||||||
[pixel shader]
|
[pixel shader todo(sm<4)]
|
||||||
uint4 v;
|
uint4 v;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -411,12 +429,14 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 uint4 2 0 0 0
|
if(sm<4) uniform 0 float4 2 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 2 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (5.0, 6.0, 7.0, 8.0)
|
probe all rgba (5.0, 6.0, 7.0, 8.0)
|
||||||
|
|
||||||
|
|
||||||
% default case placement
|
% default case placement
|
||||||
[pixel shader]
|
[pixel shader todo(sm<4)]
|
||||||
uint4 v;
|
uint4 v;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -442,17 +462,21 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 uint4 0 0 0 0
|
if(sm<4) uniform 0 float4 0 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 0 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (4.0, 5.0, 6.0, 7.0)
|
probe all rgba (4.0, 5.0, 6.0, 7.0)
|
||||||
uniform 0 uint4 2 0 0 0
|
if(sm<4) uniform 0 float4 2 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 2 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (2.0, 3.0, 4.0, 5.0)
|
probe all rgba (2.0, 3.0, 4.0, 5.0)
|
||||||
uniform 0 uint4 3 0 0 0
|
if(sm<4) uniform 0 float4 3 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 3 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (4.0, 5.0, 6.0, 7.0)
|
probe all rgba (4.0, 5.0, 6.0, 7.0)
|
||||||
|
|
||||||
[pixel shader]
|
|
||||||
|
[pixel shader todo(sm<4)]
|
||||||
uint4 v;
|
uint4 v;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -479,14 +503,17 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 uint4 3 0 0 0
|
if(sm<4) uniform 0 float4 3 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 3 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 2.0, 3.0, 4.0)
|
probe all rgba (1.0, 2.0, 3.0, 4.0)
|
||||||
uniform 0 uint4 0 0 0 0
|
if(sm<4) uniform 0 float4 0 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 0 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (4.0, 5.0, 6.0, 7.0)
|
probe all rgba (4.0, 5.0, 6.0, 7.0)
|
||||||
uniform 0 uint4 5 0 0 0
|
if(sm<4) uniform 0 float4 5 0 0 0
|
||||||
draw quad
|
if(sm>=4) uniform 0 uint4 5 0 0 0
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (1.0, 2.0, 3.0, 4.0)
|
probe all rgba (1.0, 2.0, 3.0, 4.0)
|
||||||
|
|
||||||
% 'continue' is not supported in switches
|
% 'continue' is not supported in switches
|
||||||
@ -515,7 +542,7 @@ float4 main() : sv_target
|
|||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
[pixel shader]
|
[pixel shader fail(sm<4) todo(sm<4)]
|
||||||
uint4 v;
|
uint4 v;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -545,15 +572,17 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 uint4 1 0 3 1
|
if(sm<4) uniform 0 float4 1 0 3 1
|
||||||
|
if(sm>=4) uniform 0 uint4 1 0 3 1
|
||||||
draw quad
|
draw quad
|
||||||
probe all rgba (10.0, 11.0, 12.0, 13.0)
|
probe all rgba (10.0, 11.0, 12.0, 13.0)
|
||||||
uniform 0 uint4 0 0 3 1
|
if(sm<4) uniform 0 float4 0 0 3 1
|
||||||
|
if(sm>=4) uniform 0 uint4 0 0 3 1
|
||||||
draw quad
|
draw quad
|
||||||
probe all rgba (7.0, 8.0, 9.0, 10.0)
|
probe all rgba (7.0, 8.0, 9.0, 10.0)
|
||||||
|
|
||||||
% return from a switch nested in a loop
|
% return from a switch nested in a loop
|
||||||
[pixel shader]
|
[pixel shader fail(sm<4) todo(sm<4)]
|
||||||
uint4 v;
|
uint4 v;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -579,9 +608,11 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 uint4 0 0 3 1
|
if(sm<4) uniform 0 float4 0 0 3 1
|
||||||
|
if(sm>=4) uniform 0 uint4 0 0 3 1
|
||||||
draw quad
|
draw quad
|
||||||
probe all rgba (304.0, 305.0, 306.0, 307.0)
|
probe all rgba (304.0, 305.0, 306.0, 307.0)
|
||||||
uniform 0 uint4 1 0 3 1
|
if(sm<4) uniform 0 float4 1 0 3 1
|
||||||
|
if(sm>=4) uniform 0 uint4 1 0 3 1
|
||||||
draw quad
|
draw quad
|
||||||
probe all rgba (3.0, 4.0, 5.0, 6.0)
|
probe all rgba (3.0, 4.0, 5.0, 6.0)
|
||||||
|
@ -30,10 +30,8 @@ uniform 0 float4 -0.5 6.5 7.5 3.4
|
|||||||
todo(sm<4) draw quad
|
todo(sm<4) draw quad
|
||||||
probe all rgba (6.0, 7.0, 0.0, 3.0)
|
probe all rgba (6.0, 7.0, 0.0, 3.0)
|
||||||
|
|
||||||
[require]
|
|
||||||
shader model >= 4.0
|
|
||||||
|
|
||||||
[pixel shader]
|
[pixel shader todo(sm<4)]
|
||||||
uniform int4 u;
|
uniform int4 u;
|
||||||
|
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
@ -45,6 +43,7 @@ float4 main() : sv_target
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 int4 -1 6 7 3
|
if(sm<4) uniform 0 float4 -1 6 7 3
|
||||||
draw quad
|
if(sm>=4) uniform 0 int4 -1 6 7 3
|
||||||
|
todo(sm<4) draw quad
|
||||||
probe all rgba (6.0, 7.0, -1.0, 3.0)
|
probe all rgba (6.0, 7.0, -1.0, 3.0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user