diff --git a/src/compiler/nir/nir_opt_ray_queries.c b/src/compiler/nir/nir_opt_ray_queries.c index b7d7c8341cc64..a95e5173687e3 100644 --- a/src/compiler/nir/nir_opt_ray_queries.c +++ b/src/compiler/nir/nir_opt_ray_queries.c @@ -232,8 +232,6 @@ nir_opt_ray_query_ranges(nir_shader *shader) (struct nir_function *)exec_list_get_head_const(&shader->functions); assert(func->impl); - void *mem_ctx = ralloc_context(NULL); - uint32_t ray_query_count = 0; nir_foreach_variable_in_shader(var, shader) { if (!var->data.ray_query || glsl_type_is_array(var->type)) @@ -251,6 +249,8 @@ nir_opt_ray_query_ranges(nir_shader *shader) return false; } + void *mem_ctx = ralloc_context(NULL); + nir_metadata_require(func->impl, nir_metadata_instr_index | nir_metadata_dominance); nir_variable **ray_queries = ralloc_array(mem_ctx, nir_variable*, ray_query_count);