mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/dxil: Use vsir_program_append() in sm6_function_emit_blocks().
This commit is contained in:
committed by
Henri Verbeet
parent
f2ac70fa60
commit
49e189fec6
Notes:
Henri Verbeet
2025-08-29 15:13:14 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1690
@@ -8589,7 +8589,8 @@ static void sm6_parser_emit_label(struct sm6_parser *sm6, unsigned int label_id)
|
||||
static enum vkd3d_result sm6_function_emit_blocks(const struct sm6_function *function, struct sm6_parser *sm6)
|
||||
{
|
||||
struct vsir_program *program = sm6->program;
|
||||
unsigned int i;
|
||||
struct vkd3d_shader_instruction *ins;
|
||||
unsigned int i, j;
|
||||
|
||||
program->block_count = function->block_count;
|
||||
|
||||
@@ -8607,10 +8608,11 @@ static enum vkd3d_result sm6_function_emit_blocks(const struct sm6_function *fun
|
||||
sm6_parser_emit_label(sm6, block->id);
|
||||
sm6_block_emit_phi(block, sm6);
|
||||
|
||||
memcpy(&program->instructions.elements[program->instructions.count], block->instructions,
|
||||
block->instruction_count * sizeof(*block->instructions));
|
||||
program->instructions.count += block->instruction_count;
|
||||
|
||||
for (j = 0; j < block->instruction_count; ++j)
|
||||
{
|
||||
ins = vsir_program_append(program);
|
||||
*ins = block->instructions[j];
|
||||
}
|
||||
sm6_block_emit_terminator(block, sm6);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user