diff --git a/src/compiler/nir/nir_lower_point_size.c b/src/compiler/nir/nir_lower_point_size.c index fbb93b8536d..3d0a9271d09 100644 --- a/src/compiler/nir/nir_lower_point_size.c +++ b/src/compiler/nir/nir_lower_point_size.c @@ -42,10 +42,10 @@ lower_point_size_intrin(nir_builder *b, nir_intrinsic_instr *intr, void *data) if (intr->intrinsic == nir_intrinsic_store_deref) { nir_deref_instr *deref = nir_src_as_deref(intr->src[0]); - nir_variable *var = nir_deref_instr_get_variable(deref); - if (!var) + if (!nir_deref_mode_is(deref, nir_var_shader_out)) return false; + nir_variable *var = nir_deref_instr_get_variable(deref); location = var->data.location; psiz_src = &intr->src[1]; } else if (intr->intrinsic == nir_intrinsic_store_output ||