From e418710f8bd2bc95a863d0a04154d7da37ead7ac Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Sun, 2 May 2021 14:41:21 +0200 Subject: [PATCH] compiler/nir: check whether var is an input in lower_fragcoord_wtrans Otherwise the lowering pass might try to lower any other load from a deref if its data.location value happens to be zero. Fixes: 418c4c0d7d48a42f475df1ffb93b3a33763e7a4a compiler/nir: extend lower_fragcoord_wtrans to support VARYING_SLOT_POS Signed-off-by: Gert Wollny Part-of: --- src/compiler/nir/nir_lower_fragcoord_wtrans.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/compiler/nir/nir_lower_fragcoord_wtrans.c b/src/compiler/nir/nir_lower_fragcoord_wtrans.c index ed630bb..25f93b4 100644 --- a/src/compiler/nir/nir_lower_fragcoord_wtrans.c +++ b/src/compiler/nir/nir_lower_fragcoord_wtrans.c @@ -46,6 +46,9 @@ lower_fragcoord_wtrans_filter(const nir_instr *instr, UNUSED const void *_option return false; nir_variable *var = nir_intrinsic_get_var(intr, 0); + if (var->data.mode != nir_var_shader_in) + return false; + return var->data.location == VARYING_SLOT_POS; } -- 2.7.4