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
