vkd3d-shader/hlsl: Implement the isinf() intrinsic.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
This commit is contained in:
Nikolay Sivov
2025-01-09 14:54:26 +01:00
committed by Henri Verbeet
parent ce4f2728ba
commit a082daeb56
Notes: Henri Verbeet 2025-01-16 19:30:04 +01:00
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1336
6 changed files with 139 additions and 0 deletions

View File

@ -0,0 +1,31 @@
[pixel shader]
float4 v;
float4 main() : sv_target
{
return isinf(1.0f / v) + 1.0f;
}
[test]
uniform 0 float4 1.0 0.0 -0.0 0.0
draw quad
probe (0, 0) rgba(1.0, 2.0, 2.0, 2.0)
[require]
shader model >= 4.0
[pixel shader]
float4 v;
float4 main() : sv_target
{
return isinf(v) + 1.0f;
}
[test]
uniform 0 float4 1.0 0.0 -1.0 2.0
draw quad
probe (0, 0) rgba(1.0, 1.0, 1.0, 1.0)
uniform 0 uint4 0x7f800000 0xff800000 0xffc00001 0xff800001
draw quad
probe (0, 0) rgba(2.0, 2.0, 1.0, 1.0)