diff --git a/.pick_status.json b/.pick_status.json index f0836762f78..81e067b4d83 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1244,7 +1244,7 @@ "description": "glsl: fix compiler global temp collisions", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "cbfc225e2bda2c8627a4580fa3a9b63bfb7133e0", "notes": null diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp index 49db6d17e01..5e47477c8d9 100644 --- a/src/compiler/glsl/glsl_to_nir.cpp +++ b/src/compiler/glsl/glsl_to_nir.cpp @@ -481,11 +481,14 @@ nir_visitor::visit(ir_variable *ir) switch(ir->data.mode) { case ir_var_auto: - case ir_var_temporary: - if (is_global) + if (is_global) { var->data.mode = nir_var_shader_temp; - else - var->data.mode = nir_var_function_temp; + break; + } + + FALLTHROUGH; + case ir_var_temporary: + var->data.mode = nir_var_function_temp; break; case ir_var_function_in: