anv/image: Handle compressed format stride and size

These formulas did not take compressed formats into account.

Reviewed-by: Chad Versace <chad.versace@intel.com>
This commit is contained in:
Nanley Chery
2015-09-28 17:51:30 -07:00
parent 7b4244dea0
commit 300f7c2be3
+4 -2
View File
@@ -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);