anv: Align memory VA to support for Ys, Tile64 tiled images
authorJason Ekstrand <jason.ekstrand@intel.com>
Thu, 11 Oct 2018 21:38:31 +0000 (16:38 -0500)
committerMarge Bot <emma+marge@anholt.net>
Fri, 1 Sep 2023 23:22:18 +0000 (23:22 +0000)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23620>

src/intel/vulkan/anv_allocator.c

index 9013446..34ffe05 100644 (file)
@@ -1405,6 +1405,10 @@ anv_bo_vma_alloc_or_close(struct anv_device *device,
 
    uint32_t align = device->physical->info.mem_alignment;
 
+   /* If it's big enough to store a tiled resource, we need 64K alignment */
+   if (bo->size >= 64 * 1024)
+      align = MAX2(64 * 1024, align);
+
    /* If we're using the AUX map, make sure we follow the required
     * alignment.
     */