venus: reduce to use 4K mem suballoc align on platforms known to fit
This is a workaround for low ram arm devices before fixing: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9351 Test: patch to prior higher limit 16384 and run dEQP-VK.api.object_management.max_concurrent.query_pool Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24219>
This commit is contained in:
@@ -153,12 +153,15 @@ vn_device_memory_pool_suballocate(struct vn_device *dev,
|
||||
uint32_t mem_type_index)
|
||||
{
|
||||
const VkDeviceSize pool_size = 16 * 1024 * 1024;
|
||||
/* XXX We don't know the alignment requirement. Use 64K because some GPUs
|
||||
* have 64K pages. It is also required by newer Intel GPUs. But really we
|
||||
* should require kernel 5.12+, where there is no KVM memslot limit, and
|
||||
* remove this whole thing.
|
||||
/* TODO fix https://gitlab.freedesktop.org/mesa/mesa/-/issues/9351
|
||||
* Before that, we use 64K default alignment because some GPUs have 64K
|
||||
* pages. It is also required by newer Intel GPUs. Meanwhile, use prior 4K
|
||||
* align on implementations known to fit.
|
||||
*/
|
||||
const VkDeviceSize pool_align = 64 * 1024;
|
||||
const VkDeviceSize pool_align =
|
||||
dev->physical_device->renderer_driver_id == VK_DRIVER_ID_ARM_PROPRIETARY
|
||||
? 4096
|
||||
: 64 * 1024;
|
||||
struct vn_device_memory_pool *pool = &dev->memory_pools[mem_type_index];
|
||||
|
||||
assert(mem->size <= pool_size);
|
||||
|
||||
Reference in New Issue
Block a user