From 58506fec6355fb21de272218c18debcb8e067db2 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 14 Jun 2019 14:52:28 +0200 Subject: [PATCH] radv: allocate DCC metadata for each mip Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_image.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c index a74884f..98df24d 100644 --- a/src/amd/vulkan/radv_image.c +++ b/src/amd/vulkan/radv_image.c @@ -924,11 +924,11 @@ radv_image_alloc_dcc(struct radv_image *image) assert(image->plane_count == 1); image->dcc_offset = align64(image->size, image->planes[0].surface.dcc_alignment); - /* + 16 for storing the clear values + dcc pred */ + /* + 24 for storing the clear values + fce pred + dcc pred for each mip */ image->clear_value_offset = image->dcc_offset + image->planes[0].surface.dcc_size; - image->fce_pred_offset = image->clear_value_offset + 8; - image->dcc_pred_offset = image->clear_value_offset + 16; - image->size = image->dcc_offset + image->planes[0].surface.dcc_size + 24; + image->fce_pred_offset = image->clear_value_offset + 8 * image->info.levels; + image->dcc_pred_offset = image->clear_value_offset + 16 * image->info.levels; + image->size = image->dcc_offset + image->planes[0].surface.dcc_size + 24 * image->info.levels; image->alignment = MAX2(image->alignment, image->planes[0].surface.dcc_alignment); } -- 2.7.4