lima/ppir: don't attempt to clone tex coords if it's not varying

It makes no sense to clone texture coords if it's not varying, moreover
we don't support cloning ALU nodes.

Fixes: 1c1890fa70 ("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>
This commit is contained in:
Vasily Khoruzhick 2019-09-23 21:20:07 -07:00
parent 0e1310e59f
commit 4fcfed426a

View file

@ -635,9 +635,16 @@ ppir_node_clone_tex(ppir_block *block, ppir_node *node)
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);