Mesa (master): radv: allocate DCC metadata for each mip

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jun 17 20:17:47 UTC 2019


Module: Mesa
Branch: master
Commit: 58506fec6355fb21de272218c18debcb8e067db2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=58506fec6355fb21de272218c18debcb8e067db2

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri Jun 14 14:52:28 2019 +0200

radv: allocate DCC metadata for each mip

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

---

 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 a74884f411b..98df24d3546 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);
 }
 




More information about the mesa-commit mailing list