"description": "radv: fix buffers in vkGetDescriptorEXT with size not aligned to 4",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": "46e0c77582dd2cfbe77e78cf33399eb761ccb7b6",
"notes": null
dst[0] = va;
dst[1] = S_008F04_BASE_ADDRESS_HI(va >> 32);
- dst[2] = range;
+ /* robustBufferAccess is relaxed enough to allow this (in combination with the alignment/size
+ * we return from vkGetBufferMemoryRequirements) and this allows the shader compiler to create
+ * more efficient 8/16-bit buffer accesses.
+ */
+ dst[2] = align(range, 4);
dst[3] = rsrc_word3;
}
range = vk_buffer_range(&buffer->vk, buffer_info->offset, buffer_info->range);
assert(buffer->vk.size > 0 && range > 0);
-
- /* robustBufferAccess is relaxed enough to allow this (in combination with the alignment/size
- * we return from vkGetBufferMemoryRequirements) and this allows the shader compiler to create
- * more efficient 8/16-bit buffer accesses.
- */
- range = align(range, 4);
}
write_buffer_descriptor(device, dst, va, range);