mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-19 08:28:21 +02:00
What we're checking in the assertion we're changing seems to be what the OpenGL spec describes as: "<offset> must be an integer multiple of the implementation dependent constant SPARSE_BUFFER_PAGE_SIZE_ARB, and <size> must either be a multiple of SPARSE_BUFFER_PAGE_SIZE_ARB, or extend to the end of the buffer's data store" There are two sizes in question here: the size of the VkBuffer and the size of its corresponding VkDeviceMemory. It looks like bo->base.base.size corresponds to VkDeviceMemory, while res->obj->size corresponds to VkBuffer. Here we're really talking about the VkBuffer size, so fix the assertion. On Anv, we're hitting this issue because piglit's arb_sparse_buffer-basic creates a buffer of size 32k and tries to issue a bind operation with size 32k. The catch here is that Anv requires the memory to be 64kb, so Zink gets confused and hits the assertion. Issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10220 Testcase: piglit/arb_sparse_buffer-basic Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26410> |
||
|---|---|---|
| .. | ||
| amd | ||
| android_stub | ||
| asahi | ||
| broadcom | ||
| c11 | ||
| compiler | ||
| drm-shim | ||
| egl | ||
| etnaviv | ||
| freedreno | ||
| gallium | ||
| gbm | ||
| getopt | ||
| glx | ||
| gtest | ||
| imagination | ||
| imgui | ||
| intel | ||
| loader | ||
| mapi | ||
| mesa | ||
| microsoft | ||
| nouveau | ||
| panfrost | ||
| tool | ||
| util | ||
| virtio | ||
| vulkan | ||
| .clang-format | ||
| meson.build | ||