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;
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;
}
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
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);
}
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 ||
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)) {