vkd3d-shader/msl: Implement VKD3DSIH_DP2.

This commit is contained in:
Feifan He 2024-11-22 15:45:54 +08:00 committed by Henri Verbeet
parent 6f7ee57e29
commit 77ed788a60
Notes: Henri Verbeet 2024-12-03 14:57:01 +01:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1291
3 changed files with 6 additions and 3 deletions

View File

@ -540,6 +540,9 @@ static void msl_handle_instruction(struct msl_generator *gen, const struct vkd3d
case VKD3DSIH_DIV:
msl_binop(gen, ins, "/");
break;
case VKD3DSIH_DP2:
msl_dot(gen, ins, vkd3d_write_mask_from_component_count(2));
break;
case VKD3DSIH_DP3:
msl_dot(gen, ins, vkd3d_write_mask_from_component_count(3));
break;

View File

@ -25,7 +25,7 @@ float4 main() : SV_TARGET
[test]
uniform 0 float4 2.0 3.0 0.0 0.0
uniform 4 float4 10.0 11.0 12.0 13.0
todo(sm<4 | msl) draw quad
todo(sm<4) draw quad
probe (0, 0) rgba (53.0, 53.0, 53.0, 53.0)
[pixel shader]

View File

@ -79,7 +79,7 @@ float4 main() : sv_target
[test]
uniform 0 float4 0.5 -0.1 0.0 0.0
uniform 4 float4 0.6 0.4 -0.3 1.0
todo(sm<4 | msl) draw quad
todo(sm<4) draw quad
probe (0, 0) rgba (0.188, -0.308, 0.0, 0.0) 4
[pixel shader]
@ -97,5 +97,5 @@ float4 main() : sv_target
[test]
uniform 0 float4 0.5 -0.1 0.2 0.0
uniform 4 float4 0.6 0.4 0.0 0.0
todo(sm<4 | msl) draw quad
todo(sm<4) draw quad
probe (0, 0) rgba (0.188, -0.308, 0.0, 0.0) 4