diff --git a/.pick_status.json b/.pick_status.json index 8f821ee3b6c..0ddc6aa2df2 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -34,7 +34,7 @@ "description": "nir/glsl: set deref cast mode for blocks during function inlining", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "d681cf96fbf962b67d98ecab1968ed0bb7a04eb0", "notes": null diff --git a/src/compiler/nir/nir_functions.c b/src/compiler/nir/nir_functions.c index 4423ef593d1..3ad986f6979 100644 --- a/src/compiler/nir/nir_functions.c +++ b/src/compiler/nir/nir_functions.c @@ -67,6 +67,10 @@ fixup_cast_deref_mode(nir_deref_instr *deref) deref->modes |= nir_var_uniform; } else if (parent->modes & nir_var_image) { deref->modes |= nir_var_image; + } else if (parent->modes & nir_var_mem_ubo) { + deref->modes |= nir_var_mem_ubo; + } else if (parent->modes & nir_var_mem_ssbo) { + deref->modes |= nir_var_mem_ssbo; } else return;