diff --git a/src/compiler/glsl/opt_dead_builtin_variables.cpp b/src/compiler/glsl/opt_dead_builtin_variables.cpp index 48452fc312e..c03c243ac5d 100644 --- a/src/compiler/glsl/opt_dead_builtin_variables.cpp +++ b/src/compiler/glsl/opt_dead_builtin_variables.cpp @@ -36,8 +36,9 @@ void optimize_dead_builtin_variables(exec_list *instructions, enum ir_variable_mode other) { - foreach_in_list_safe(ir_variable, var, instructions) { - if (var->ir_type != ir_type_variable || var->data.used) + foreach_in_list_safe(ir_instruction, inst, instructions) { + ir_variable *var = inst->as_variable(); + if (!var || var->data.used) continue; if (var->data.mode != ir_var_uniform