diff --git a/.pick_status.json b/.pick_status.json index a819b9b6a33..c28897e3e3b 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1579,7 +1579,7 @@ "description": "anv: fix push range for descriptor offsets", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "379b9bb7b04dc87797e49933bbfac786b7ef38fb" }, diff --git a/src/intel/vulkan/anv_nir_compute_push_layout.c b/src/intel/vulkan/anv_nir_compute_push_layout.c index 24f8d06074e..1d4b8009eaf 100644 --- a/src/intel/vulkan/anv_nir_compute_push_layout.c +++ b/src/intel/vulkan/anv_nir_compute_push_layout.c @@ -67,12 +67,13 @@ anv_nir_compute_push_layout(nir_shader *nir, break; } - case nir_intrinsic_load_desc_set_address_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_address_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;