From 300f7c2be34f9d20497b4127020d520de1c09ba5 Mon Sep 17 00:00:00 2001 From: Nanley Chery Date: Mon, 28 Sep 2015 17:51:30 -0700 Subject: [PATCH] anv/image: Handle compressed format stride and size These formulas did not take compressed formats into account. Reviewed-by: Chad Versace --- src/vulkan/anv_image.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/vulkan/anv_image.c b/src/vulkan/anv_image.c index 8aa74c2e191..7051ac746f2 100644 --- a/src/vulkan/anv_image.c +++ b/src/vulkan/anv_image.c @@ -225,11 +225,13 @@ anv_image_make_surface(const struct anv_image_create_info *create_info, */ assert(anv_is_aligned(qpitch, j)); - uint32_t stride = align_u32(mt_width * format->bs, tile_info->width); + uint32_t stride = align_u32(mt_width * format->bs / format->bw, + tile_info->width); if (create_info->stride > 0) stride = create_info->stride; - const uint32_t size = stride * align_u32(mt_height, tile_info->height); + const uint32_t size = stride * align_u32(mt_height / format->bh, + tile_info->height); const uint32_t offset = align_u32(*inout_image_size, tile_info->surface_alignment); -- 2.30.2