diff --git a/.pick_status.json b/.pick_status.json index 015a28c0b5c..17937b1f22c 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4,7 +4,7 @@ "description": "ac/nir: fix check for increasing size of non-descriptor loads", "nominated": true, "nomination_type": 4, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/amd/common/nir/ac_nir.c b/src/amd/common/nir/ac_nir.c index 01c06b5702d..3b8f72a18f2 100644 --- a/src/amd/common/nir/ac_nir.c +++ b/src/amd/common/nir/ac_nir.c @@ -573,8 +573,8 @@ ac_nir_mem_vectorize_callback(unsigned align_mul, unsigned align_offset, unsigne low->intrinsic == nir_intrinsic_load_global ? NIR_ALIGN_MUL_MAX : 4; uint32_t page_size = 4096; uint32_t mul = MIN3(align_mul, page_size, resource_align); - unsigned end = (align_offset + unaligned_new_size / 8u) & (mul - 1); - if ((aligned_new_size - unaligned_new_size) / 8u > (mul - end)) + unsigned end = (align_offset + unaligned_new_size / 8u); + if ((aligned_new_size - unaligned_new_size) / 8u > (align(end, mul) - end)) return false; }