vkd3d-shader/glsl: Implement VKD3DSIH_MUL.

This commit is contained in:
Henri Verbeet
2024-04-26 23:38:20 +02:00
parent 2fc35da940
commit 3b3fe1da2c
Notes: Henri Verbeet 2024-09-20 17:32:27 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1091
9 changed files with 16 additions and 13 deletions

View File

@@ -591,6 +591,9 @@ static void vkd3d_glsl_handle_instruction(struct vkd3d_glsl_generator *gen,
case VKD3DSIH_MOV: case VKD3DSIH_MOV:
shader_glsl_mov(gen, ins); shader_glsl_mov(gen, ins);
break; break;
case VKD3DSIH_MUL:
shader_glsl_binop(gen, ins, "*");
break;
case VKD3DSIH_RET: case VKD3DSIH_RET:
shader_glsl_ret(gen, ins); shader_glsl_ret(gen, ins);
break; break;

View File

@@ -8,7 +8,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 0.0 30.0 150.0 180.0 uniform 0 float4 0.0 30.0 150.0 180.0
todo(glsl) draw quad draw quad
probe (0, 0) rgba (0.0, 0.52359877, 2.61799387, 3.14159265) probe (0, 0) rgba (0.0, 0.52359877, 2.61799387, 3.14159265)
@@ -22,5 +22,5 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 0.0 0.78539816 1.57079632 2.35619449 uniform 0 float4 0.0 0.78539816 1.57079632 2.35619449
todo(glsl) draw quad draw quad
probe (0, 0) rgba (0.0, 45.0, 90.0, 135.0) probe (0, 0) rgba (0.0, 45.0, 90.0, 135.0)

View File

@@ -254,7 +254,7 @@ float4 main() : sv_target
uniform 0 float4 1.0 2.0 3.0 4.0 uniform 0 float4 1.0 2.0 3.0 4.0
uniform 4 float4 5.0 6.0 7.0 8.0 uniform 4 float4 5.0 6.0 7.0 8.0
uniform 8 float4 9.0 10.0 11.0 12.0 uniform 8 float4 9.0 10.0 11.0 12.0
todo(glsl) draw quad draw quad
probe (0, 0) rgba (509, 610, 711, 812) probe (0, 0) rgba (509, 610, 711, 812)
@@ -282,7 +282,7 @@ uniform 0 float4 0.0 1.0 2.0 3.0
uniform 4 float4 4.0 5.0 6.0 7.0 uniform 4 float4 4.0 5.0 6.0 7.0
uniform 8 float4 8.0 9.0 10.0 11.0 uniform 8 float4 8.0 9.0 10.0 11.0
uniform 12 float4 12.0 13.0 14.0 15.0 uniform 12 float4 12.0 13.0 14.0 15.0
todo(glsl) draw quad draw quad
probe (0, 0) rgba (12468.0, 13509.0, 14010.0, 15011.0) probe (0, 0) rgba (12468.0, 13509.0, 14010.0, 15011.0)
@@ -404,7 +404,7 @@ float4 main() : sv_target
uniform 0 float 1.0 uniform 0 float 1.0
uniform 1 float 2.0 uniform 1 float 2.0
uniform 4 float4 5.0 6.0 7.0 8.0 uniform 4 float4 5.0 6.0 7.0 8.0
todo(glsl) draw quad draw quad
probe (0, 0) rgba (512.0, 612.0, 712.0, 812.0) probe (0, 0) rgba (512.0, 612.0, 712.0, 812.0)

View File

@@ -71,7 +71,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 10.0 20.0 30.0 40.0 uniform 0 float4 10.0 20.0 30.0 40.0
todo(glsl) draw quad draw quad
probe (0, 0) rgba (20, 40, 60, 80) probe (0, 0) rgba (20, 40, 60, 80)
@@ -190,7 +190,7 @@ float4 main() : sv_target
if(sm<4) uniform 0 float4 30 50 40 40 if(sm<4) uniform 0 float4 30 50 40 40
if(sm>=4) uniform 0 float4 10 20 0 0 if(sm>=4) uniform 0 float4 10 20 0 0
if(sm>=4) uniform 4 float4 30 50 40 40 if(sm>=4) uniform 4 float4 30 50 40 40
todo(glsl) draw quad draw quad
probe (0, 0) rgba (60, 100, 80, 80) probe (0, 0) rgba (60, 100, 80, 80)

View File

@@ -34,7 +34,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 float4 16 32 48 64 uniform 0 float4 16 32 48 64
uniform 4 float4 1.0 0.5 0.25 0.125 uniform 4 float4 1.0 0.5 0.25 0.125
todo(glsl) draw quad draw quad
probe (0, 0) rgba (1.0, 16.0, 48.0, 0.125) probe (0, 0) rgba (1.0, 16.0, 48.0, 0.125)
[pixel shader] [pixel shader]

View File

@@ -71,7 +71,7 @@ float4 main() : SV_TARGET
% Account for both the SM1 and SM4 uniform layout % Account for both the SM1 and SM4 uniform layout
uniform 0 float4 2.0 3.0 0.0 0.0 uniform 0 float4 2.0 3.0 0.0 0.0
uniform 4 float4 3.0 0.0 0.0 0.0 uniform 4 float4 3.0 0.0 0.0 0.0
todo(glsl) draw quad draw quad
probe (0, 0) rgba (6.0, 6.0, 6.0, 6.0) probe (0, 0) rgba (6.0, 6.0, 6.0, 6.0)
[pixel shader] [pixel shader]

View File

@@ -17,7 +17,7 @@ uniform 0 float4 0.1 0.2 0.0 0.0
uniform 4 float4 0.3 0.4 0.0 0.0 uniform 4 float4 0.3 0.4 0.0 0.0
uniform 8 float4 0.1 0.3 0.0 0.0 uniform 8 float4 0.1 0.3 0.0 0.0
uniform 12 float4 0.2 0.4 0.0 0.0 uniform 12 float4 0.2 0.4 0.0 0.0
todo(glsl) draw quad draw quad
probe (0, 0) rgba (0.17, 0.39, 0.17, 0.39) 1 probe (0, 0) rgba (0.17, 0.39, 0.17, 0.39) 1
@@ -90,7 +90,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 0.1 0.2 0.0 0.0 uniform 0 float4 0.1 0.2 0.0 0.0
uniform 4 float4 0.3 0.4 0.0 0.0 uniform 4 float4 0.3 0.4 0.0 0.0
todo(glsl) draw quad draw quad
if(sm<6) probe (0,0) rgba (0.23, 0.34, 0.5, 0.5) 1 if(sm<6) probe (0,0) rgba (0.23, 0.34, 0.5, 0.5) 1
if(sm>=6) probe (0,0) rgba (0.17, 0.39, 0.5, 0.5) 1 if(sm>=6) probe (0,0) rgba (0.17, 0.39, 0.5, 0.5) 1

View File

@@ -18,5 +18,5 @@ uniform 0 float4 0.1 0.2 0.0 0.0
uniform 4 float4 0.3 0.4 0.0 0.0 uniform 4 float4 0.3 0.4 0.0 0.0
uniform 8 float4 0.1 0.3 0.0 0.0 uniform 8 float4 0.1 0.3 0.0 0.0
uniform 12 float4 0.2 0.4 0.0 0.0 uniform 12 float4 0.2 0.4 0.0 0.0
todo(glsl) draw quad draw quad
probe (0, 0) rgba (0.17, 0.39, 0.17, 0.39) 1 probe (0, 0) rgba (0.17, 0.39, 0.17, 0.39) 1

View File

@@ -12,5 +12,5 @@ float4 main() : SV_target
[test] [test]
uniform 0 float4 0.0303 0.08 0.07 0.0202 uniform 0 float4 0.0303 0.08 0.07 0.0202
todo(glsl) draw quad draw quad
probe (0, 0) rgba (0.5697, -0.08, -0.27, -0.4202) probe (0, 0) rgba (0.5697, -0.08, -0.27, -0.4202)