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)
|
static enum vkd3d_result sm6_function_emit_blocks(const struct sm6_function *function, struct sm6_parser *sm6)
|
||||||
{
|
{
|
||||||
struct vsir_program *program = sm6->program;
|
struct vsir_program *program = sm6->program;
|
||||||
unsigned int i;
|
struct vkd3d_shader_instruction *ins;
|
||||||
|
unsigned int i, j;
|
||||||
|
|
||||||
program->block_count = function->block_count;
|
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_parser_emit_label(sm6, block->id);
|
||||||
sm6_block_emit_phi(block, sm6);
|
sm6_block_emit_phi(block, sm6);
|
||||||
|
|
||||||
memcpy(&program->instructions.elements[program->instructions.count], block->instructions,
|
for (j = 0; j < block->instruction_count; ++j)
|
||||||
block->instruction_count * sizeof(*block->instructions));
|
{
|
||||||
program->instructions.count += block->instruction_count;
|
ins = vsir_program_append(program);
|
||||||
|
*ins = block->instructions[j];
|
||||||
|
}
|
||||||
sm6_block_emit_terminator(block, sm6);
|
sm6_block_emit_terminator(block, sm6);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user