Mesa (master): radv: only re-initialize HTILE after ds compute resolves if compressed
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jan 11 11:37:20 UTC 2021
Module: Mesa
Branch: master
Commit: 8914efb5b7e8d1d99c9a3f65909f515df887cd50
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8914efb5b7e8d1d99c9a3f65909f515df887cd50
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Fri Jan 8 14:39:40 2021 +0100
radv: only re-initialize HTILE after ds compute resolves if compressed
If the current layout isn't compressed we don't have to re-initialize
the HTILE metadata.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8389>
---
src/amd/vulkan/radv_meta_resolve_cs.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/amd/vulkan/radv_meta_resolve_cs.c b/src/amd/vulkan/radv_meta_resolve_cs.c
index 934aab4aed1..74e6de5fcce 100644
--- a/src/amd/vulkan/radv_meta_resolve_cs.c
+++ b/src/amd/vulkan/radv_meta_resolve_cs.c
@@ -981,7 +981,14 @@ radv_depth_stencil_resolve_subpass_cs(struct radv_cmd_buffer *cmd_buffer,
cmd_buffer->state.flush_bits |= RADV_CMD_FLAG_CS_PARTIAL_FLUSH |
RADV_CMD_FLAG_INV_VCACHE;
- if (radv_image_has_htile(dst_image)) {
+ VkImageLayout layout =
+ cmd_buffer->state.attachments[dest_att.attachment].current_layout;
+ uint32_t queue_mask = radv_image_queue_family_mask(dst_image,
+ cmd_buffer->queue_family_index,
+ cmd_buffer->queue_family_index);
+
+ if (radv_layout_is_htile_compressed(cmd_buffer->device, dst_image,
+ layout, false, queue_mask)) {
VkImageSubresourceRange range = {0};
range.aspectMask = aspects;
range.baseMipLevel = dst_iview->base_mip;
More information about the mesa-commit
mailing list