[Mesa-dev] [PATCH 09/19] radv: remove radv_layout_is_htile_compressed()

Samuel Pitoiset samuel.pitoiset at gmail.com
Fri Sep 29 15:48:56 UTC 2017


Similar to radv_layout_has_htile(). Also remove an assertion
which was always false.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/amd/vulkan/radv_cmd_buffer.c | 12 +++++-------
 src/amd/vulkan/radv_image.c      | 10 ----------
 src/amd/vulkan/radv_meta_clear.c |  4 ++--
 src/amd/vulkan/radv_private.h    | 12 +++---------
 4 files changed, 10 insertions(+), 28 deletions(-)

diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index 4db9d7628c..f13979cc9e 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -1388,9 +1388,7 @@ radv_emit_framebuffer_state(struct radv_cmd_buffer *cmd_buffer)
 		MAYBE_UNUSED uint32_t queue_mask = radv_image_queue_family_mask(image,
 										cmd_buffer->queue_family_index,
 										cmd_buffer->queue_family_index);
-		/* We currently don't support writing decompressed HTILE */
-		assert(radv_layout_has_htile(image, layout, queue_mask) ==
-		       radv_layout_is_htile_compressed(image, layout, queue_mask));
+		/* XXX: We currently don't support writing decompressed HTILE */
 
 		radv_emit_fb_ds_state(cmd_buffer, &att->ds, image, layout);
 
@@ -3404,11 +3402,11 @@ static void radv_handle_depth_image_transition(struct radv_cmd_buffer *cmd_buffe
 	           radv_layout_has_htile(image, dst_layout, dst_queue_mask)) {
 		/* TODO: merge with the clear if applicable */
 		radv_initialize_htile(cmd_buffer, image, range, 0);
-	} else if (!radv_layout_is_htile_compressed(image, src_layout, src_queue_mask) &&
-	           radv_layout_is_htile_compressed(image, dst_layout, dst_queue_mask)) {
+	} else if (!radv_layout_has_htile(image, src_layout, src_queue_mask) &&
+	           radv_layout_has_htile(image, dst_layout, dst_queue_mask)) {
 		radv_initialize_htile(cmd_buffer, image, range, 0xffffffff);
-	} else if (radv_layout_is_htile_compressed(image, src_layout, src_queue_mask) &&
-	           !radv_layout_is_htile_compressed(image, dst_layout, dst_queue_mask)) {
+	} else if (radv_layout_has_htile(image, src_layout, src_queue_mask) &&
+	           !radv_layout_has_htile(image, dst_layout, dst_queue_mask)) {
 		VkImageSubresourceRange local_range = *range;
 		local_range.aspectMask = VK_IMAGE_ASPECT_DEPTH_BIT;
 		local_range.baseMipLevel = 0;
diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
index 9fa4d8d2f7..f104ba2cb6 100644
--- a/src/amd/vulkan/radv_image.c
+++ b/src/amd/vulkan/radv_image.c
@@ -1047,16 +1047,6 @@ bool radv_layout_has_htile(const struct radv_image *image,
 	       queue_mask == (1u << RADV_QUEUE_GENERAL);
 }
 
-bool radv_layout_is_htile_compressed(const struct radv_image *image,
-                                     VkImageLayout layout,
-                                     unsigned queue_mask)
-{
-	return image->surface.htile_size &&
-	       (layout == VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL ||
-	        layout == VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL) &&
-	       queue_mask == (1u << RADV_QUEUE_GENERAL);
-}
-
 bool radv_layout_can_fast_clear(const struct radv_image *image,
 			        VkImageLayout layout,
 			        unsigned queue_mask)
diff --git a/src/amd/vulkan/radv_meta_clear.c b/src/amd/vulkan/radv_meta_clear.c
index 5242078a86..a354ceecba 100644
--- a/src/amd/vulkan/radv_meta_clear.c
+++ b/src/amd/vulkan/radv_meta_clear.c
@@ -556,7 +556,7 @@ static bool depth_view_can_fast_clear(struct radv_cmd_buffer *cmd_buffer,
 	if (iview->image->surface.htile_size &&
 	    iview->base_mip == 0 &&
 	    iview->base_layer == 0 &&
-	    radv_layout_is_htile_compressed(iview->image, layout, queue_mask) &&
+	    radv_layout_has_htile(iview->image, layout, queue_mask) &&
 	    !radv_image_extent_compare(iview->image, &iview->extent))
 		return true;
 	return false;
@@ -681,7 +681,7 @@ emit_fast_htile_clear(struct radv_cmd_buffer *cmd_buffer,
 	if (cmd_buffer->device->debug_flags & RADV_DEBUG_NO_FAST_CLEARS)
 		return false;
 
-	if (!radv_layout_is_htile_compressed(iview->image, image_layout, radv_image_queue_family_mask(iview->image, cmd_buffer->queue_family_index, cmd_buffer->queue_family_index)))
+	if (!radv_layout_has_htile(iview->image, image_layout, radv_image_queue_family_mask(iview->image, cmd_buffer->queue_family_index, cmd_buffer->queue_family_index)))
 		goto fail;
 
 	/* don't fast clear 3D */
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index f292709805..0f94af9852 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -1229,21 +1229,15 @@ struct radv_image {
 	uint32_t dcc_pred_offset;
 };
 
-/* Whether the image has a htile that is known consistent with the contents of
- * the image. */
-bool radv_layout_has_htile(const struct radv_image *image,
-                           VkImageLayout layout,
-                           unsigned queue_mask);
-
 /* Whether the image has a htile  that is known consistent with the contents of
  * the image and is allowed to be in compressed form.
  *
  * If this is false reads that don't use the htile should be able to return
  * correct results.
  */
-bool radv_layout_is_htile_compressed(const struct radv_image *image,
-                                     VkImageLayout layout,
-                                     unsigned queue_mask);
+bool radv_layout_has_htile(const struct radv_image *image,
+                           VkImageLayout layout,
+                           unsigned queue_mask);
 
 bool radv_layout_can_fast_clear(const struct radv_image *image,
 			        VkImageLayout layout,
-- 
2.14.2



More information about the mesa-dev mailing list