crocus: Add missing nir_metadata_preserve in crocus_lower_storage_image_derefs

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Fixes: f3630548f1 ("crocus: initial gallium driver for Intel gfx 4-7")
Closes: #12589
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33450>
(cherry picked from commit 40948b9715)
This commit is contained in:
Ian Romanick 2025-02-07 09:53:54 -08:00 committed by Eric Engestrom
parent 1c8f1e820f
commit 20f09fc0d4
2 changed files with 9 additions and 1 deletions

View file

@ -494,7 +494,7 @@
"description": "crocus: Add missing nir_metadata_preserve in crocus_lower_storage_image_derefs",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "f3630548f1da904ec6c63b43ece7e68afdb8867e",
"notes": null

View file

@ -283,6 +283,7 @@ crocus_lower_storage_image_derefs(nir_shader *nir)
nir_function_impl *impl = nir_shader_get_entrypoint(nir);
nir_builder b = nir_builder_create(impl);
bool progress = false;
nir_foreach_block(block, impl) {
nir_foreach_instr_safe(instr, block) {
@ -307,6 +308,7 @@ crocus_lower_storage_image_derefs(nir_shader *nir)
nir_iadd_imm(&b, get_aoa_deref_offset(&b, deref, 1),
var->data.driver_location);
nir_rewrite_image_intrinsic(intrin, index, false);
progress = true;
break;
}
@ -315,6 +317,12 @@ crocus_lower_storage_image_derefs(nir_shader *nir)
}
}
}
if (progress) {
nir_metadata_preserve(impl, nir_metadata_control_flow);
} else {
nir_metadata_preserve(impl, nir_metadata_all);
}
}
// XXX: need unify_interfaces() at link time...