vkd3d-shader/msl: Implement VKD3DSIH_MUL.

This commit is contained in:
Feifan He
2024-11-22 15:45:54 +08:00
committed by Henri Verbeet
parent 4f549155c5
commit a2d56c8bfc
Notes: Henri Verbeet 2024-11-25 21:02:08 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1277
9 changed files with 16 additions and 13 deletions

View File

@ -451,6 +451,9 @@ static void msl_handle_instruction(struct msl_generator *gen, const struct vkd3d
case VKD3DSIH_MOV: case VKD3DSIH_MOV:
msl_mov(gen, ins); msl_mov(gen, ins);
break; break;
case VKD3DSIH_MUL:
msl_binop(gen, ins, "*");
break;
case VKD3DSIH_RET: case VKD3DSIH_RET:
msl_ret(gen, ins); msl_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(msl) 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(msl) 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

@ -246,7 +246,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(msl) draw quad draw quad
probe (0, 0) rgba (509, 610, 711, 812) probe (0, 0) rgba (509, 610, 711, 812)
@ -274,7 +274,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(msl) 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)
@ -396,7 +396,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(msl) 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(msl) 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(msl) 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(msl) 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(msl) 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(msl) 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(msl) 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(msl) 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(msl) 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)