mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
tests/hlsl: Test shader model 6.2 denormal mode for 32-bit floats.
This commit is contained in:
committed by
Henri Verbeet
parent
da6ce78c1c
commit
69c109786b
Notes:
Henri Verbeet
2025-10-30 20:00:32 +01:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1809
@@ -479,3 +479,33 @@ uniform 1 uint 0xc7803000 % 0.125 -7.5
|
||||
draw quad
|
||||
% The computation is done in f16, but ULPs are relative to the f32 result.
|
||||
probe (0, 0) rgba(-0.0156173706, -6.5, 1.90734863e-06, 15.0) 16384
|
||||
|
||||
[require]
|
||||
shader model >= 6.2
|
||||
|
||||
[pixel shader]
|
||||
uniform float2 f;
|
||||
|
||||
float4 main() : SV_Target
|
||||
{
|
||||
return float4(f.x, f.x / 100.0f, f.x * 100.0f, f.x / f.y);
|
||||
}
|
||||
|
||||
% Some C libraries are unable to parse denormal numbers, so we bitcast to uint
|
||||
|
||||
[test]
|
||||
denorm preserve
|
||||
uniform 0 float4 1.0e-37 100.0 0.0 0.0
|
||||
draw quad
|
||||
todo probe (0, 0) u32(0x02081cea, 0x000ae398, 0x0554ad2e, 0x000ae398) % f32(1.0e-37, 1.0e-39, 1.0e-35, 1.0e-39)
|
||||
uniform 0 uint4 0x000ae398 0x3c23d70a 0 0 % f32(1.0e-39, 0.01, 0, 0)
|
||||
draw quad
|
||||
todo probe (0, 0) u32(0x000ae398, 0x00001be0, 0x02081cec, 0x02081cec) % f32(1.0e-39, 1.0e-41, 9.999989e-38, 9.999989e-38)
|
||||
|
||||
denorm ftz
|
||||
uniform 0 float4 1.0e-37 100.0 0.0 0.0
|
||||
draw quad
|
||||
probe (0, 0) u32(0x02081cea, 0x00000000, 0x0554ad2e, 0x00000000) % f32(1.0e-37, 0.0, 1.0e-35, 0.0)
|
||||
uniform 0 uint4 0x000ae398 0x3c23d70a 0 0 % f32(1.0e-39, 0.01, 0, 0)
|
||||
draw quad
|
||||
probe (0, 0) u32(0x000ae398, 0x00000000, 0x00000000, 0x00000000) % f32(1.0e-39, 0.0, 0.0, 0.0)
|
||||
|
||||
Reference in New Issue
Block a user