From: Vasily Khoruzhick Date: Sat, 25 Jan 2020 19:40:37 +0000 (-0800) Subject: lima: ppir: don't delete root ld_tex nodes without successors in current block X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4a0f62f1fcab5350d6173c843fd95089953431a0;p=mesa.git lima: ppir: don't delete root ld_tex nodes without successors in current block We don't clone ld_tex nodes into each block anymore, so ld_tex may have successors in another block. Fixes: c8554f849e41 ("lima/ppir: don't clone texture loads") Reviewed-by: Erico Nunes Signed-off-by: Vasily Khoruzhick Part-of: --- diff --git a/src/gallium/drivers/lima/ir/pp/lower.c b/src/gallium/drivers/lima/ir/pp/lower.c index 8fbbcb5dbb5..034425c97a7 100644 --- a/src/gallium/drivers/lima/ir/pp/lower.c +++ b/src/gallium/drivers/lima/ir/pp/lower.c @@ -150,14 +150,9 @@ static bool ppir_lower_texture(ppir_block *block, ppir_node *node) { ppir_load_texture_node *load_tex = ppir_node_to_load_texture(node); ppir_dest *dest = ppir_node_get_dest(node); - - if (ppir_node_is_root(node) && dest->type == ppir_target_ssa) { - ppir_node_delete(node); - return true; - } - ppir_node *src_coords = ppir_node_get_src(node, 0)->node; ppir_load_node *load = NULL; + if (src_coords && ppir_node_has_single_src_succ(src_coords) && (src_coords->op == ppir_op_load_coords)) load = ppir_node_to_load(src_coords);