vkd3d-shader/glsl: Implement VKD3DSIH_IEQ.

This commit is contained in:
Henri Verbeet 2024-05-03 01:11:06 +02:00
parent 55de9ea405
commit d68e60a78a
Notes: Henri Verbeet 2024-09-26 17:49:23 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1117
5 changed files with 13 additions and 10 deletions

View File

@ -722,6 +722,9 @@ static void vkd3d_glsl_handle_instruction(struct vkd3d_glsl_generator *gen,
case VKD3DSIH_DP4:
shader_glsl_dot(gen, ins, VKD3DSP_WRITEMASK_ALL);
break;
case VKD3DSIH_IEQ:
shader_glsl_relop(gen, ins, "==", "equal");
break;
case VKD3DSIH_FRC:
shader_glsl_intrinsic(gen, ins, "fract");
break;

View File

@ -26,7 +26,7 @@ float4 main() : sv_target
uniform 0 float4 1.0 2.0 3.0 4.0
uniform 4 float4 5.0 6.0 7.0 8.0
uniform 8 float 2
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (10.0, 10.0, 10.0, 10.0)
@ -56,10 +56,10 @@ float4 main() : sv_target
[test]
uniform 0 float4 1.0 2.0 3.0 4.0
uniform 4 float 0
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (4.0, 4.0, 4.0, 4.0)
uniform 4 float 2
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
@ -99,5 +99,5 @@ float4 main() : sv_target
[test]
uniform 0 float4 1.0 2.0 3.0 4.0
uniform 4 float 1
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (2.0, 2.0, 2.0, 2.0)

View File

@ -120,7 +120,7 @@ float4 main() : sv_target
[test]
uniform 0 float 2
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (8, 9, 10, 11)

View File

@ -36,16 +36,16 @@ float4 main() : SV_TARGET
[test]
uniform 0 float 0
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (11.0, 11.0, 11.0, 11.0)
uniform 0 float 1
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (12.0, 12.0, 12.0, 12.0)
uniform 0 float 2
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (13.0, 13.0, 13.0, 13.0)
uniform 0 float 3
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (14.0, 14.0, 14.0, 14.0)

View File

@ -12,5 +12,5 @@ float4 main() : SV_TARGET
[test]
uniform 0 float 2
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (0.5, 0.3, 0.8, 0.2)