Files
vkd3d/tests/hlsl/cast-to-uint.shader_test

86 lines
1.4 KiB
Plaintext
Raw Permalink Normal View History

% On SM1, uints can only be used with known-positive values.
[require]
shader model >= 4.0
[pixel shader]
uniform float f;
uniform int i;
uniform bool b;
uniform float h;
float4 main() : sv_target
{
float4 ret;
ret.x = ((float)(uint)f) - 1.5;
ret.y = ((float)(uint)i) - 1.5;
ret.z = ((float)(uint)b) / 2;
ret.w = ((float)(uint)(half)h) + 0.5;
return ret;
}
[test]
uniform 0 float 2.6
uniform 1 int 2
uniform 2 int -2
uniform 3 float -3.6
draw quad
probe (0, 0) rgba (0.5, 0.5, 0.5, 0.5)
[pixel shader]
float4 main() : sv_target
{
float f = 2.6;
int i = 2;
bool b = true;
half h = -3.6;
float4 ret;
ret.x = ((float)(uint)f) - 1.5;
ret.y = ((float)(uint)i) - 1.5;
ret.z = ((float)(uint)b) / 2;
ret.w = ((float)(uint)h) + 0.5;
return ret;
}
[test]
draw quad
probe (0, 0) rgba (0.5, 0.5, 0.5, 0.5)
2025-02-21 15:44:12 +10:00
[require]
shader model >= 6.2
native-16-bit
[pixel shader]
uniform uint4 i;
uint4 main() : sv_target
{
uint16_t4 s = i;
return s * uint16_t4(2, 2, 1, 1);
}
[test]
uniform 0 uint4 0x10002 0x8003 0x10002 0x8003
draw quad
probe (0, 0) rgbaui(4, 6, 2, 0x8003)
uniform 0 uint4 0xffffffff 0xfffffffd 0xffffffff 0xfffffffd
draw quad
probe (0, 0) rgbaui(0xfffe, 0xfffa, 0xffff, 0xfffd)
[pixel shader]
uniform float4 f;
uint4 main() : sv_target
{
uint16_t4 s = f;
return s * uint16_t4(2, 2, 1, 1);
}
[test]
uniform 0 float4 0.5 1.0 0.5 1.0
todo draw quad
probe (0, 0) rgbaui(0, 2, 0, 1)