From 41cf35d1d86e2075b736db7701764d66ea894b66 Mon Sep 17 00:00:00 2001 From: Nanley Chery Date: Fri, 2 Oct 2015 16:11:24 -0700 Subject: [PATCH] anv/image: Determine the alignment units for compressed formats Alignment units, i and j, match the compressed format block width and height respectively. v2: Don't assert against HALIGN* and VALIGN* enums (Chad) 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 affabd1aebf..247a75dd8f4 100644 --- a/src/vulkan/anv_image.c +++ b/src/vulkan/anv_image.c @@ -152,8 +152,10 @@ anv_image_make_surface(const struct anv_image_create_info *create_info, const struct anv_tile_info *tile_info = &anv_tile_info_table[tile_mode]; - const uint32_t i = 4; /* FINISHME: Stop hardcoding subimage alignment */ - const uint32_t j = 4; /* FINISHME: Stop hardcoding subimage alignment */ + const uint32_t i = MAX(4, format->bw); /* FINISHME: Stop hardcoding subimage alignment */ + const uint32_t j = MAX(4, format->bh); /* FINISHME: Stop hardcoding subimage alignment */ + assert(i == 4 || i == 8 || i == 16); + assert(j == 4 || j == 8 || j == 16); uint16_t qpitch = min_qpitch; uint32_t mt_width = 0; -- 2.30.2