vkd3d/tests/hlsl-trunc.shader_test
Nikolay Sivov 4b3707aeb4 vkd3d-shader/hlsl: Partially implement trunc().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-04-28 21:04:11 +02:00

45 lines
793 B
Plaintext

[pixel shader]
float4 main(uniform float4 u) : sv_target
{
return trunc(u);
}
[test]
uniform 0 float4 -0.5 6.5 7.5 3.4
draw quad
probe all rgba (0.0, 6.0, 7.0, 3.0)
uniform 0 float4 -1.5 6.5 7.5 3.4
draw quad
probe all rgba (-1.0, 6.0, 7.0, 3.0)
[pixel shader]
float4 main(uniform float4 u) : sv_target
{
float a = trunc(u.r);
int2 b = trunc(u.gb);
float4 res = float4(b, a, u.a);
return trunc(res);
}
[test]
uniform 0 float4 -0.5 6.5 7.5 3.4
draw quad
probe all rgba (6.0, 7.0, 0.0, 3.0)
[require]
shader model >= 4.0
[pixel shader]
float4 main(uniform int4 u) : sv_target
{
float a = trunc(u.r);
int2 b = trunc(u.gb);
float4 res = float4(b, a, u.a);
return trunc(res);
}
[test]
uniform 0 int4 -1 6 7 3
draw quad
probe all rgba (6.0, 7.0, -1.0, 3.0)