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

Signed-off-by: Samuel Pitoiset <[email protected]>
---
 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

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to