From 41d0a81c2a3f09701e8c694b520c8d900f6ac2f1 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 31 Aug 2020 14:20:59 -0400 Subject: [PATCH] pan/mdg: Fix perspective combination It's not enough to multiply by a .w reciprocal, we have to be taking the reciprocal of the thing we're actually multiplying against. Fixes incorrect rendering in Manhattan. Signed-off-by: Alyssa Rosenzweig Cc: mesa-stable Part-of: --- src/panfrost/midgard/midgard_opt_perspective.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/panfrost/midgard/midgard_opt_perspective.c b/src/panfrost/midgard/midgard_opt_perspective.c index 34afcfa6c93..f2a83576bba 100644 --- a/src/panfrost/midgard/midgard_opt_perspective.c +++ b/src/panfrost/midgard/midgard_opt_perspective.c @@ -88,6 +88,7 @@ midgard_opt_combine_projection(compiler_context *ctx, midgard_block *block) } if (!frcp_found) continue; + if (frcp_from != ins->src[0]) continue; if (frcp_component != COMPONENT_W && frcp_component != COMPONENT_Z) continue; if (!mir_single_use(ctx, frcp)) continue; -- 2.30.2