radv: handle layered fast clears.
[mesa.git] / src / amd / vulkan / radv_meta_resolve_cs.c
index bfe4ceed8e6fc9b82c4fe6d887a8fff2d7ceb1ac..9cb4ce810946fd14f74018dd48ae4d3621dc85e5 100644 (file)
@@ -350,6 +350,14 @@ void radv_meta_resolve_compute_image(struct radv_cmd_buffer *cmd_buffer,
                const struct VkOffset3D dstOffset =
                        radv_sanitize_image_offset(dest_image->type, region->dstOffset);
 
+               VkImageSubresourceRange range;
+               range.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
+               range.baseMipLevel = region->srcSubresource.mipLevel;
+               range.levelCount = 1;
+               range.baseArrayLayer = src_base_layer;
+               range.layerCount = region->srcSubresource.layerCount;
+               radv_fast_clear_flush_image_inplace(cmd_buffer, src_image, &range);
+
                for (uint32_t layer = 0; layer < region->srcSubresource.layerCount;
                     ++layer) {