diff --git a/src/intel/vulkan/anv_nir_compute_push_layout.c b/src/intel/vulkan/anv_nir_compute_push_layout.c index bfe6a6c5c7e..cea03ca47d2 100644 --- a/src/intel/vulkan/anv_nir_compute_push_layout.c +++ b/src/intel/vulkan/anv_nir_compute_push_layout.c @@ -69,12 +69,13 @@ anv_nir_compute_push_layout(nir_shader *nir, } case nir_intrinsic_load_desc_set_address_intel: - case nir_intrinsic_load_desc_set_dynamic_index_intel: - push_start = MIN2(push_start, - offsetof(struct anv_push_constants, desc_sets)); - push_end = MAX2(push_end, push_start + + case nir_intrinsic_load_desc_set_dynamic_index_intel: { + unsigned base = offsetof(struct anv_push_constants, desc_sets); + push_start = MIN2(push_start, base); + push_end = MAX2(push_end, base + sizeof_field(struct anv_push_constants, desc_sets)); break; + } default: break;