- nir_foreach_function(shader, function) {
- if (function->impl) {
- nir_builder_init(&state.builder, function->impl);
- nir_foreach_block_call(function->impl, apply_dynamic_offsets_block,
- &state);
- nir_metadata_preserve(function->impl, nir_metadata_block_index |
- nir_metadata_dominance);
+ const bool add_bounds_checks = pipeline->device->robust_buffer_access;
+
+ nir_foreach_function(function, shader) {
+ if (!function->impl)
+ continue;
+
+ nir_builder builder;
+ nir_builder_init(&builder, function->impl);
+
+ nir_foreach_block(block, function->impl) {
+ apply_dynamic_offsets_block(block, &builder, pipeline->layout,
+ add_bounds_checks, shader->num_uniforms);