Skip to content

lima/ppir: Skip instruction merge when having more than one successor

Andreas Baierl requested to merge rellla/mesa:lima-fix-ppir-instr-merge into master

ppir_do_one_node_to_instr merges instructions and uses a pipeline reg to save a reg. It tests if ppir_node_has_single_src_succ, but it should also check if ppir_node_has_single_succ.

The following deqp tests run into this issue because they have a node with 2 successors in different blocks, where one was merged into the same instruction and the second one is pointing to a missing predecessor then.

Fixes the following deqp tests: dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.vector_counter_fragment dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.vector_counter_fragment dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.vector_counter_fragment

Signed-off-by: Andreas Baierl ichgeh@imkreisrum.de

Merge request reports