[Mesa-dev] [PATCH 3/3] radv: fix decompressing DCC levels with compute

Samuel Pitoiset samuel.pitoiset at gmail.com
Thu Jun 27 13:06:17 UTC 2019


Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/amd/vulkan/radv_meta_fast_clear.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_meta_fast_clear.c b/src/amd/vulkan/radv_meta_fast_clear.c
index f18f7637593..a642d6243d4 100644
--- a/src/amd/vulkan/radv_meta_fast_clear.c
+++ b/src/amd/vulkan/radv_meta_fast_clear.c
@@ -807,11 +807,17 @@ radv_decompress_dcc_compute(struct radv_cmd_buffer *cmd_buffer,
 	                     device->meta_state.fast_clear_flush.dcc_decompress_compute_pipeline);
 
 	for (uint32_t l = 0; l < radv_get_levelCount(image, subresourceRange); l++) {
+		uint32_t width, height;
 
 		/* Do not decompress levels without DCC. */
 		if (!radv_dcc_enabled(image, subresourceRange->baseMipLevel + l))
 			continue;
 
+		width = radv_minify(image->info.width,
+				    subresourceRange->baseMipLevel + l);
+		height = radv_minify(image->info.height,
+				    subresourceRange->baseMipLevel + l);
+
 		radv_image_view_init(&iview, cmd_buffer->device,
 				     &(VkImageViewCreateInfo) {
 					     .sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
@@ -863,7 +869,7 @@ radv_decompress_dcc_compute(struct radv_cmd_buffer *cmd_buffer,
 					              }
 					      });
 
-		radv_unaligned_dispatch(cmd_buffer, image->info.width, image->info.height, 1);
+		radv_unaligned_dispatch(cmd_buffer, width, height, 1);
 	}
 
 	/* Mark this image as actually being decompressed. */
-- 
2.22.0



More information about the mesa-dev mailing list