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:
msl_mov(gen, ins);
break;
case VKD3DSIH_MUL:
msl_binop(gen, ins, "*");
break;
case VKD3DSIH_RET:
msl_ret(gen, ins);
break;

View File

@ -8,7 +8,7 @@ float4 main() : sv_target
[test]
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)
@ -22,5 +22,5 @@ float4 main() : sv_target
[test]
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)

View File

@ -246,7 +246,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 float4 9.0 10.0 11.0 12.0
todo(msl) draw quad
draw quad
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 8 float4 8.0 9.0 10.0 11.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)
@ -396,7 +396,7 @@ float4 main() : sv_target
uniform 0 float 1.0
uniform 1 float 2.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)

View File

@ -71,7 +71,7 @@ float4 main() : sv_target
[test]
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)
@ -190,7 +190,7 @@ float4 main() : sv_target
if(sm<4) uniform 0 float4 30 50 40 40
if(sm>=4) uniform 0 float4 10 20 0 0
if(sm>=4) uniform 4 float4 30 50 40 40
todo(msl) draw quad
draw quad
probe (0, 0) rgba (60, 100, 80, 80)

View File

@ -34,7 +34,7 @@ float4 main() : SV_TARGET
[test]
uniform 0 float4 16 32 48 64
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)
[pixel shader]

View File

@ -71,7 +71,7 @@ float4 main() : SV_TARGET
% Account for both the SM1 and SM4 uniform layout
uniform 0 float4 2.0 3.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)
[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 8 float4 0.1 0.3 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
@ -90,7 +90,7 @@ float4 main() : sv_target
[test]
uniform 0 float4 0.1 0.2 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.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 8 float4 0.1 0.3 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

View File

@ -12,5 +12,5 @@ float4 main() : SV_target
[test]
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)