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

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
This commit is contained in:
Nikolay Sivov
2024-09-04 13:19:16 +02:00
committed by Henri Verbeet
parent 75299c04fd
commit de6abd964e
Notes: Henri Verbeet 2024-09-10 21:56:01 +02:00
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1036
3 changed files with 37 additions and 5 deletions

View File

@@ -91,7 +91,7 @@ uniform 0 float4 1.0 0.0 0.0 0.0
todo(glsl) draw quad
probe (0, 0) rgba (1e99, 1e99, 1e99, 1e99)
[pixel shader todo]
[pixel shader]
uniform float4 a, b, c;
float4 main() : sv_target
@@ -103,11 +103,11 @@ float4 main() : sv_target
uniform 0 float4 1.00000007 -42.1 4.0 45.0
uniform 4 float4 1.625 -5.0 4.125 5.0
uniform 8 float4 1.00000007 -1.0 0.5 -0.5
todo(sm<6) draw quad
todo(glsl) draw quad
probe (0, 0) rgba (2.62500024, 209.5, 17.0, 224.5) 1
% precise mad() is not allowed to fuse, even though unfused is less precise.
[pixel shader todo]
[pixel shader]
uniform float4 a, b, c;
float4 main() : sv_target
@@ -120,8 +120,8 @@ float4 main() : sv_target
uniform 0 float4 1.00000007 -42.1 4.0 45.0
uniform 4 float4 1.625 -5.0 4.125 5.0
uniform 8 float4 1.00000007 -1.0 0.5 -0.5
todo(sm<6) draw quad
probe (0, 0) rgba (2.62500048, 209.5, 17.0, 224.5)
todo(glsl) draw quad
probe (0, 0) rgba (2.62500048, 209.5, 17.0, 224.5) 1
[require]
shader model >= 5.0