vkd3d-shader/hlsl: Write the SM4 ret instruction.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2021-08-19 18:44:31 -05:00 committed by Alexandre Julliard
parent 40ec063a26
commit 636ec27381

View File

@ -775,6 +775,16 @@ static void write_sm4_dcl_temps(struct vkd3d_bytecode_buffer *buffer, uint32_t t
write_sm4_instruction(buffer, &instr);
}
static void write_sm4_ret(struct vkd3d_bytecode_buffer *buffer)
{
struct sm4_instruction instr =
{
.opcode = VKD3D_SM4_OP_RET,
};
write_sm4_instruction(buffer, &instr);
}
static void write_sm4_shdr(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc)
{
const struct hlsl_profile_info *profile = ctx->profile;
@ -813,6 +823,8 @@ static void write_sm4_shdr(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc)
if (ctx->temp_count)
write_sm4_dcl_temps(&buffer, ctx->temp_count);
write_sm4_ret(&buffer);
dxbc_writer_add_section(dxbc, TAG_SHDR, buffer.data, buffer.size);
}