vkd3d-shader/msl: Implement VKD3DSIH_RET.

This commit is contained in:
Feifan He 2024-09-16 19:15:39 +08:00 committed by Henri Verbeet
parent 7aa0de27e9
commit 9b1b7e86cf
Notes: Henri Verbeet 2024-09-18 15:13:12 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1080

View File

@ -186,6 +186,12 @@ static void msl_mov(struct msl_generator *gen, const struct vkd3d_shader_instruc
msl_dst_cleanup(&dst, &gen->string_buffers);
}
static void msl_ret(struct msl_generator *gen, const struct vkd3d_shader_instruction *ins)
{
msl_print_indent(gen->buffer, gen->indent);
vkd3d_string_buffer_printf(gen->buffer, "return;\n");
}
static void msl_handle_instruction(struct msl_generator *gen, const struct vkd3d_shader_instruction *ins)
{
gen->location = ins->location;
@ -197,6 +203,9 @@ static void msl_handle_instruction(struct msl_generator *gen, const struct vkd3d
case VKD3DSIH_MOV:
msl_mov(gen, ins);
break;
case VKD3DSIH_RET:
msl_ret(gen, ins);
break;
default:
msl_unhandled(gen, ins);
break;