summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/lima/ir/pp/instr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/lima/ir/pp/instr.c')
-rw-r--r--src/gallium/drivers/lima/ir/pp/instr.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/gallium/drivers/lima/ir/pp/instr.c b/src/gallium/drivers/lima/ir/pp/instr.c
index 8e1bc95158d..707055c48ac 100644
--- a/src/gallium/drivers/lima/ir/pp/instr.c
+++ b/src/gallium/drivers/lima/ir/pp/instr.c
@@ -186,18 +186,17 @@ bool ppir_instr_insert_node(ppir_instr *instr, ppir_node *node)
uint8_t swizzle[4] = {0};
if (ppir_instr_insert_const(&ic, nc, swizzle)) {
+ instr->constant[i] = ic;
ppir_node *succ = ppir_node_first_succ(node);
- ppir_src *src = NULL;
for (int s = 0; s < ppir_node_get_src_num(succ); s++) {
- src = ppir_node_get_src(succ, s);
- if (src->node == node)
- break;
- }
- assert(src->node == node);
+ ppir_src *src = ppir_node_get_src(succ, s);
+ assert(src);
+ if (src->node != node)
+ continue;
- instr->constant[i] = ic;
- ppir_update_src_pipeline(ppir_pipeline_reg_const0 + i, src,
- &c->dest, swizzle);
+ ppir_update_src_pipeline(ppir_pipeline_reg_const0 + i, src,
+ &c->dest, swizzle);
+ }
break;
}
}
@@ -284,7 +283,7 @@ void ppir_instr_print_list(ppir_compiler *comp)
list_for_each_entry(ppir_block, block, &comp->block_list, list) {
printf("-------block %3d-------\n", block->index);
list_for_each_entry(ppir_instr, instr, &block->instr_list, list) {
- printf("%c%03d: ", instr->is_end ? '*' : ' ', instr->index);
+ printf("%c%03d: ", instr->stop ? '*' : ' ', instr->index);
for (int i = 0; i < PPIR_INSTR_SLOT_NUM; i++) {
ppir_node *node = instr->slots[i];
if (node)