vkd3d-shader/glsl: Implement VKD3DSIH_EXP.

This commit is contained in:
Henri Verbeet 2024-05-03 01:19:55 +02:00
parent d68e60a78a
commit 44e96ad4d6
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
4 changed files with 13 additions and 10 deletions

View File

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

View File

@ -8,7 +8,7 @@ float4 main() : sv_target
[test]
uniform 0 float4 -1.0 0.0 1.0 2.0
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (0.5, 1.0, 2.0, 4.0) 2
[pixel shader]
@ -21,5 +21,5 @@ float4 main() : sv_target
[test]
uniform 0 float4 -1.0 0.0 1.0 2.0
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (0.36787948, 1.0, 2.7182815, 7.38905573) 2

View File

@ -10,7 +10,7 @@ float4 main() : SV_TARGET
[test]
uniform 0 float4 2.0 3.0 4.0 5.0
uniform 4 float4 0.0 -10.0 10.0 100.0
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (2.0, 0.00292968750, 4096.0, 6.33825300e+030) 2
@ -28,7 +28,7 @@ if(sm<4) uniform 0 float4 2 3 4 5
if(sm<4) uniform 4 float4 0 -10 10 100
if(sm>=4) uniform 0 int4 2 3 4 5
if(sm>=4) uniform 4 int4 0 -10 10 100
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (2.0, 0.00292968750, 4096.0, 6.33825300e+030) 2

View File

@ -86,10 +86,10 @@ float4 main() : sv_target
[test]
uniform 0 float4 -6.28318531 -0.88137359 0.88137359 6.28318531
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (-267.744894, -1.0, 1.0, 267.744894) 2
uniform 0 float4 -0.0 0.0 -90.0 90.0
todo(glsl) draw quad
draw quad
% mingw does not support "inf" for scanf(), but numbers beyond FLOAT_MAX consistently result in inf.
probe (0, 0) rgba (0.0, 0.0, -1.0e39, 1.0e39) 1
@ -104,10 +104,10 @@ float4 main() : sv_target
[test]
uniform 0 float4 -1.76274717 -1.3169579 1.3169579 1.76274717
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (3.0, 2.0, 2.0, 3.0) 2
uniform 0 float4 -0.0 0.0 -90.0 90.0
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0e39, 1.0e39) 1
@ -121,10 +121,10 @@ float4 main() : sv_target
[test]
uniform 0 float4 -1.57079633 -0.54930614 0.54930614 1.57079633
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (-0.91715234, -0.5, 0.5, 0.91715234) 2
uniform 0 float4 -10.0 -0.0 0.0 10.0
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (-1.0, 0.0, 0.0, 1.0) 1