From: Nanley Chery Date: Tue, 29 Sep 2015 00:51:30 +0000 (-0700) Subject: anv/image: Handle compressed format stride and size X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=300f7c2be34f9d20497b4127020d520de1c09ba5;p=mesa.git anv/image: Handle compressed format stride and size These formulas did not take compressed formats into account. Reviewed-by: Chad Versace --- 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);