vkd3d/tests/hlsl/cast-64-bit.shader_test

108 lines
1.8 KiB
Plaintext
Raw Normal View History

[require]
shader model >= 5.0
float64
[pixel shader todo]
uniform double2 d;
uniform float2 f;
float4 main() : sv_target
{
double2 n = d / f;
return float4(d.x, d.y, n.x, n.y);
}
[test]
uniform 0 double2 -4.5 8.5
uniform 4 float4 -2.25 4.25 0.0 0.0
todo(sm<6) draw quad
probe all rgba (-4.5, 8.5, 2.0, 2.0)
[pixel shader todo]
uniform double2 d;
uint4 main() : sv_target
{
uint4 result;
asuint(d.x, result.x, result.y);
asuint(d.y, result.z, result.w);
return result;
}
[test]
uniform 0 double2 -4.5 8.500003814697266
todo(sm<6) draw quad
probe all rgbaui (0, 0xc0120000, 0x80000000, 0x40210000)
2024-03-18 07:21:27 -07:00
[pixel shader todo]
uniform uint4 u;
float4 main() : sv_target
{
// Low bits, high bits
double2 d = asdouble(u.xz, u.yw);
return float4(d, 0, 0);
}
[test]
uniform 0 uint4 0xc000000 0x40020000 0x80000000 0xc04be000
todo(sm<6) draw quad
2024-03-18 07:21:27 -07:00
probe all rgba (2.25, -55.75001526, 0.0, 0.0) 1
[pixel shader todo]
uniform uint2 u;
float4 main() : sv_target
{
double d = asdouble(u.x, u.y);
return float4(d, 0, 0, 0);
}
[test]
uniform 0 uint4 0x80000000 0xc04be000 0 0
todo(sm<6) draw quad
2024-03-18 07:21:27 -07:00
probe all rgba (-55.75001526, 0.0, 0.0, 0.0) 1
[require]
shader model >= 6.0
int64
[pixel shader]
uniform uint64_t2 l;
uniform uint2 u;
float4 main() : sv_target
{
uint64_t2 n = l / u;
uint4 result = uint4(l.x, l.y, n.x, n.y);
return result;
}
[test]
uniform 0 uint64_t2 0x500000001 0x100000002
uniform 4 uint4 10 4 0 0
draw quad
probe all rgba (1.0, 2.0, 2147483648.0, 1073741824.0)
[pixel shader]
uniform int64_t2 l;
uniform int2 i;
float4 main() : sv_target
{
int64_t2 n = l / i;
int4 result = int4(l.x, l.y, n.x, n.y);
return result;
}
[test]
uniform 0 int64_t2 -21474836481 0x100000002
uniform 4 int4 -20 8 0 0
draw quad
probe all rgba (-1.0, 2.0, 1073741824.0, 536870912.0)