From 40e760960319bc8c9ee943c3d8136e23ef474d59 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 16 Jul 2019 11:59:35 -0700 Subject: [PATCH] v3d: Fix assertion failures in debug builds. nir_lower_io leaves around deref_var instructions after lowering away deref intrinsics. This ends up breaking validation after v3d_nir_lower_io removes variables not actually being stored by the shader's store_output()s. Reviewed-by: Iago Toral Quiroga --- src/broadcom/compiler/vir.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/broadcom/compiler/vir.c b/src/broadcom/compiler/vir.c index c18318a6295..04129fa522e 100644 --- a/src/broadcom/compiler/vir.c +++ b/src/broadcom/compiler/vir.c @@ -761,6 +761,8 @@ v3d_nir_lower_vs_early(struct v3d_compile *c) NIR_PASS_V(c->s, nir_lower_io, nir_var_shader_in | nir_var_shader_out, type_size_vec4, (nir_lower_io_options)0); + /* clean up nir_lower_io's deref_var remains */ + NIR_PASS_V(c->s, nir_opt_dce); } static void -- 2.30.2