2024-02-20 22:06:45 -03:00
|
|
|
[pixel shader]
|
2023-09-14 19:29:24 +10:00
|
|
|
uniform int i;
|
|
|
|
|
uniform uint u;
|
|
|
|
|
uniform bool b;
|
|
|
|
|
uniform float f;
|
2021-09-09 21:11:33 -05:00
|
|
|
|
2023-09-14 19:29:24 +10:00
|
|
|
float4 main() : sv_target
|
2021-09-09 21:11:33 -05:00
|
|
|
{
|
|
|
|
|
return float4(((half)i) + 1.5, ((half)u) - 2.5, ((half)b) / 2, f);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[test]
|
2024-01-31 17:10:29 -03:00
|
|
|
if(sm<4) uniform 0 float -1
|
|
|
|
|
if(sm<4) uniform 4 float 3
|
|
|
|
|
if(sm<4) uniform 8 float 1
|
|
|
|
|
if(sm<4) uniform 12 float 0.5
|
|
|
|
|
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
|
2025-09-02 20:57:51 +02:00
|
|
|
draw quad
|
2024-02-10 13:16:22 -06:00
|
|
|
probe (0, 0) rgba (0.5, 0.5, 0.5, 0.5)
|
2021-09-09 21:11:33 -05:00
|
|
|
|
|
|
|
|
|
2024-01-31 17:10:29 -03:00
|
|
|
[pixel shader]
|
2021-09-09 21:11:33 -05:00
|
|
|
float4 main() : sv_target
|
|
|
|
|
{
|
|
|
|
|
int i = -1;
|
|
|
|
|
uint u = 3;
|
|
|
|
|
bool b = true;
|
|
|
|
|
float f = 0.5;
|
|
|
|
|
return float4(((half)i) + 1.5, ((half)u) - 2.5, ((half)b) / 2, f);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[test]
|
2024-11-22 15:45:54 +08:00
|
|
|
draw quad
|
2024-02-10 13:16:22 -06:00
|
|
|
probe (0, 0) rgba (0.5, 0.5, 0.5, 0.5)
|
2025-02-21 13:11:28 +10:00
|
|
|
|
|
|
|
|
[require]
|
|
|
|
|
shader model >= 6.2
|
|
|
|
|
native-16-bit
|
|
|
|
|
|
|
|
|
|
[pixel shader]
|
|
|
|
|
uniform float4 f;
|
|
|
|
|
|
|
|
|
|
float4 main() : sv_target
|
|
|
|
|
{
|
|
|
|
|
half4 h = f;
|
2025-10-17 10:16:16 +02:00
|
|
|
/* WARP and AMD (but not NVIDIA) convert 65536.0f to 65504.0h rather than
|
|
|
|
|
* to infinity. We're not currently interested in modelling these details,
|
|
|
|
|
* so we flush 65504.0h to infinity manually. */
|
|
|
|
|
bool4 near_infinity = (abs(h) == 65504.0);
|
|
|
|
|
h /= !near_infinity;
|
2025-02-21 13:11:28 +10:00
|
|
|
return h * half4(2.0, 2.0, 0.5, 0.5);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[test]
|
|
|
|
|
uniform 0 float4 65536.0 32768.0 65536.0 32768.0
|
|
|
|
|
draw quad
|
2025-10-17 09:49:42 +02:00
|
|
|
probe (0, 0) f32(inf, inf, inf, 16384.0)
|
2025-02-21 13:11:28 +10:00
|
|
|
uniform 0 float4 -65536.0 -32768.0 -65536.0 -32768.0
|
|
|
|
|
draw quad
|
2025-10-17 09:49:42 +02:00
|
|
|
probe (0, 0) f32(-inf, -inf, -inf, -16384.0)
|
2025-10-17 10:16:16 +02:00
|
|
|
uniform 0 float4 0.000062 5.97e-8 0.000062 5.97e-8
|
2025-02-21 13:11:28 +10:00
|
|
|
draw quad
|
2025-10-17 10:16:16 +02:00
|
|
|
probe (0, 0) f32(0.00012397766, 1.1920929e-7, 0.000030994415, 0.0) 1
|
|
|
|
|
uniform 0 float4 -0.000062 -5.97e-8 -0.000062 -5.97e-8
|
2025-02-21 13:11:28 +10:00
|
|
|
draw quad
|
2025-10-17 10:16:16 +02:00
|
|
|
probe (0, 0) f32(-0.00012397766, -1.1920929e-7, -0.000030994415, 0.0) 1
|