It makes no sense to clone texture coords if it's not varying, moreover
we don't support cloning ALU nodes.
Fixes:
1c1890fa7077 ("lima/ppir: clone uniforms and load_coords into each successor")
Reviewed-by: Andreas Baierl <ichgeh@imkreisrum.de>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
list_addtail(&new_tnode->node.list, &block->node_list);
if (tex_coords) {
- new_tex_coords = ppir_node_clone(block, tex_coords);
- if (!new_tex_coords)
- return NULL;
+ switch (tex_coords->op) {
+ case ppir_op_load_varying:
+ case ppir_op_load_coords:
+ new_tex_coords = ppir_node_clone(block, tex_coords);
+ assert(new_tex_coords);
+ break;
+ default:
+ new_tex_coords = tex_coords;
+ break;
+ }
}
ppir_dest *dest = ppir_node_get_dest(node);