radv/meta: remove redundant barriers in vkCmdResolveImage2()

The source image layout must be either TRANSFER_SRC or GENERAL and the
application must emit the image layout transition. There is no reason
the source image wouldn't be readable by shaders.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40135>
This commit is contained in:
Samuel Pitoiset 2026-02-13 08:04:53 +01:00 committed by Marge Bot
parent e1ed7de274
commit 421b15cd3a

View file

@ -429,8 +429,6 @@ resolve_image(struct radv_cmd_buffer *cmd_buffer, struct radv_image *src_image,
depth_region.srcSubresource.aspectMask = VK_IMAGE_ASPECT_DEPTH_BIT;
depth_region.dstSubresource.aspectMask = VK_IMAGE_ASPECT_DEPTH_BIT;
radv_decompress_resolve_src(cmd_buffer, src_image, src_image_layout, &depth_region, NULL);
if (resolve_method == RESOLVE_FRAGMENT) {
radv_gfx_resolve_image(cmd_buffer, src_image, src_image->vk.format, src_image_layout, dst_image,
dst_image->vk.format, dst_image_layout, resolve_mode_info->resolveMode,
@ -449,8 +447,6 @@ resolve_image(struct radv_cmd_buffer *cmd_buffer, struct radv_image *src_image,
stencil_region.srcSubresource.aspectMask = VK_IMAGE_ASPECT_STENCIL_BIT;
stencil_region.dstSubresource.aspectMask = VK_IMAGE_ASPECT_STENCIL_BIT;
radv_decompress_resolve_src(cmd_buffer, src_image, src_image_layout, &stencil_region, NULL);
if (resolve_method == RESOLVE_FRAGMENT) {
radv_gfx_resolve_image(cmd_buffer, src_image, src_image->vk.format, src_image_layout, dst_image,
dst_image->vk.format, dst_image_layout, resolve_mode_info->stencilResolveMode,
@ -480,14 +476,10 @@ resolve_image(struct radv_cmd_buffer *cmd_buffer, struct radv_image *src_image,
dst_image_layout, region);
break;
case RESOLVE_FRAGMENT:
radv_decompress_resolve_src(cmd_buffer, src_image, src_image_layout, region, NULL);
radv_gfx_resolve_image(cmd_buffer, src_image, src_format, src_image_layout, dst_image, dst_format,
dst_image_layout, resolve_mode, region);
break;
case RESOLVE_COMPUTE:
radv_decompress_resolve_src(cmd_buffer, src_image, src_image_layout, region, NULL);
radv_compute_resolve_image(cmd_buffer, src_image, src_format, src_image_layout, dst_image, dst_format,
dst_image_layout, resolve_mode, region);
break;