tests/hlsl: Test casts to 16-bit float.

This commit is contained in:
Conor McCarthy
2025-02-21 13:11:28 +10:00
committed by Henri Verbeet
parent 7fb288819a
commit 88a85024e2
Notes: Henri Verbeet 2025-04-09 16:47:36 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1455

View File

@@ -35,3 +35,32 @@ float4 main() : sv_target
[test]
draw quad
probe (0, 0) rgba (0.5, 0.5, 0.5, 0.5)
[require]
shader model >= 6.2
native-16-bit
[pixel shader]
uniform float4 f;
float4 main() : sv_target
{
half4 h = f;
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
% The shader runner doesn't support floating-point special literals like "inf",
% but numbers beyond FLOAT_MAX consistently result in inf.
probe (0, 0) rgba(1.0e39, 1.0e39, 1.0e39, 16384.0)
uniform 0 float4 -65536.0 -32768.0 -65536.0 -32768.0
draw quad
probe (0, 0) rgba(-1.0e39, -1.0e39, -1.0e39, -16384.0)
uniform 0 float4 0.000062 5.0e-8 0.000062 5.0e-8
draw quad
probe (0, 0) rgba(0.00012397766, 1.1920929e-7, 0.000030994415, 0.0) 1
uniform 0 float4 -0.000062 -5.0e-8 -0.000062 -5.0e-8
draw quad
probe (0, 0) rgba(-0.00012397766, -1.1920929e-7, -0.000030994415, 0.0) 1