vkd3d/tests/hlsl/any.shader_test
Francisco Casas 6a8939e19f 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.
2024-02-13 22:51:23 +01:00

103 lines
2.3 KiB
Plaintext

[pixel shader todo(sm<4)]
uniform float4 f;
float4 main() : sv_target
{
return any(f);
}
[test]
uniform 0 float4 1.0 1.0 1.0 1.0
todo(sm<4) draw quad
probe all rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 1.0 0.0 0.0 0.0
todo(sm<4) draw quad
probe all rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 1.0 0.0 0.0
todo(sm<4) draw quad
probe all rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 0.0 1.0 0.0
todo(sm<4) draw quad
probe all rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 0.0 0.0 1.0
todo(sm<4) draw quad
probe all rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 0.0 0.0 0.0
todo(sm<4) draw quad
probe all rgba (0.0, 0.0, 0.0, 0.0)
uniform 0 float4 -1.0 -1.0 -1.0 -1.0
todo(sm<4) draw quad
probe all rgba (1.0, 1.0, 1.0, 1.0)
[pixel shader todo(sm<4)]
uniform float f;
float4 main() : sv_target
{
return any(f);
}
[test]
uniform 0 float4 1.0 0.0 0.0 0.0
todo(sm<4) draw quad
probe all rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 0.0 0.0 0.0
todo(sm<4) draw quad
probe all rgba (0.0, 0.0, 0.0, 0.0)
uniform 0 float4 -1.0 0.0 0.0 0.0
todo(sm<4) draw quad
probe all rgba (1.0, 1.0, 1.0, 1.0)
[pixel shader todo(sm<4)]
uniform uint4 b;
float4 main() : sv_target
{
return any((bool4)b);
}
[test]
if(sm<4) uniform 0 float4 1 1 1 1
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)
if(sm<4) uniform 0 float4 1 0 0 0
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)
if(sm<4) uniform 0 float4 0 1 0 0
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)
if(sm<4) uniform 0 float4 0 0 1 0
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)
if(sm<4) uniform 0 float4 0 0 0 1
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)
if(sm<4) uniform 0 float4 0 0 0 0
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)
[pixel shader todo(sm<4)]
uniform uint b;
float4 main() : sv_target
{
return any((bool)b);
}
[test]
if(sm<4) uniform 0 float4 1 0 0 0
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)
if(sm<4) uniform 0 float4 0 0 0 0
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)