vkd3d-shader/msl: Implement VKD3DSIH_FTOI.

This commit is contained in:
Feifan He 2024-11-22 15:45:54 +08:00 committed by Henri Verbeet
parent 16409569fd
commit ffbade9ed1
Notes: Henri Verbeet 2024-11-27 14:12:36 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1283
2 changed files with 5 additions and 2 deletions

View File

@ -513,6 +513,9 @@ static void msl_handle_instruction(struct msl_generator *gen, const struct vkd3d
case VKD3DSIH_FRC: case VKD3DSIH_FRC:
msl_intrinsic(gen, ins, "fract"); msl_intrinsic(gen, ins, "fract");
break; break;
case VKD3DSIH_FTOI:
msl_cast(gen, ins, "int");
break;
case VKD3DSIH_GEO: case VKD3DSIH_GEO:
msl_relop(gen, ins, ">="); msl_relop(gen, ins, ">=");
break; break;

View File

@ -10,7 +10,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 10.3 11.5 12.8 13.1 uniform 0 float4 10.3 11.5 12.8 13.1
todo(msl) draw quad draw quad
probe (0, 0) rgba (10, 11, 12, 0) probe (0, 0) rgba (10, 11, 12, 0)
@ -40,7 +40,7 @@ if(sm>=4) uniform 0 float 2.6
if(sm>=4) uniform 1 int -2 if(sm>=4) uniform 1 int -2
if(sm>=4) uniform 2 int -2 if(sm>=4) uniform 2 int -2
if(sm>=4) uniform 3 float -3.6 if(sm>=4) uniform 3 float -3.6
todo(sm<4 | msl) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.5, 0.5, 0.5, 0.5) probe (0, 0) rgba (0.5, 0.5, 0.5, 0.5)