radv: remove redundant call to radv_dcc_enabled()
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 6 May 2021 12:06:05 +0000 (14:06 +0200)
committerMarge Bot <eric+marge@anholt.net>
Wed, 26 May 2021 06:59:35 +0000 (06:59 +0000)
radv_layout_dcc_compressed() is now per level.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10667>

src/amd/vulkan/radv_meta_fast_clear.c
src/amd/vulkan/radv_meta_resolve_cs.c

index b768003..74628aa 100644 (file)
@@ -626,7 +626,7 @@ radv_process_color_image(struct radv_cmd_buffer *cmd_buffer, struct radv_image *
    bool flush_cb = false;
    VkPipeline *pipeline;
 
-   if (decompress_dcc && radv_dcc_enabled(image, subresourceRange->baseMipLevel)) {
+   if (decompress_dcc) {
       pipeline = &device->meta_state.fast_clear_flush.dcc_decompress_pipeline;
    } else if (radv_image_has_fmask(image) && !image->tc_compatible_cmask) {
       pipeline = &device->meta_state.fast_clear_flush.fmask_decompress_pipeline;
@@ -701,7 +701,7 @@ radv_emit_color_decompress(struct radv_cmd_buffer *cmd_buffer, struct radv_image
 
    assert(cmd_buffer->queue_family_index == RADV_QUEUE_GENERAL);
 
-   if ((decompress_dcc && radv_dcc_enabled(image, subresourceRange->baseMipLevel)) ||
+   if (decompress_dcc ||
        (!(radv_image_has_fmask(image) && !image->tc_compatible_cmask) && image->fce_pred_offset)) {
       use_predication = true;
    }
@@ -756,11 +756,9 @@ radv_emit_color_decompress(struct radv_cmd_buffer *cmd_buffer, struct radv_image
       radv_update_fce_metadata(cmd_buffer, image, subresourceRange, false);
    }
 
-   if (radv_dcc_enabled(image, subresourceRange->baseMipLevel)) {
-      /* Mark the image as being decompressed. */
-      if (decompress_dcc)
-         radv_update_dcc_metadata(cmd_buffer, image, subresourceRange, false);
-   }
+   /* Mark the image as being decompressed. */
+   if (decompress_dcc)
+      radv_update_dcc_metadata(cmd_buffer, image, subresourceRange, false);
 }
 
 void
@@ -784,6 +782,7 @@ static void
 radv_decompress_dcc_gfx(struct radv_cmd_buffer *cmd_buffer, struct radv_image *image,
                         const VkImageSubresourceRange *subresourceRange)
 {
+   assert(radv_dcc_enabled(image, subresourceRange->baseMipLevel));
    radv_emit_color_decompress(cmd_buffer, image, subresourceRange, true);
 }
 
index 2d1b86b..4f49410 100644 (file)
@@ -678,8 +678,7 @@ radv_meta_resolve_compute_image(struct radv_cmd_buffer *cmd_buffer, struct radv_
    uint32_t queue_mask = radv_image_queue_family_mask(dest_image, cmd_buffer->queue_family_index,
                                                       cmd_buffer->queue_family_index);
 
-   if (radv_dcc_enabled(dest_image, region->dstSubresource.mipLevel) &&
-       radv_layout_dcc_compressed(cmd_buffer->device, dest_image, region->dstSubresource.mipLevel,
+   if (radv_layout_dcc_compressed(cmd_buffer->device, dest_image, region->dstSubresource.mipLevel,
                                   dest_image_layout, false, queue_mask) &&
        (region->dstOffset.x || region->dstOffset.y || region->dstOffset.z ||
         region->extent.width != dest_image->info.width ||
@@ -761,7 +760,6 @@ radv_meta_resolve_compute_image(struct radv_cmd_buffer *cmd_buffer, struct radv_
    radv_meta_restore(&saved_state, cmd_buffer);
 
    if (!radv_image_use_dcc_image_stores(cmd_buffer->device, dest_image) &&
-       radv_dcc_enabled(dest_image, region->dstSubresource.mipLevel) &&
        radv_layout_dcc_compressed(cmd_buffer->device, dest_image, region->dstSubresource.mipLevel,
                                   dest_image_layout, false, queue_mask)) {