radv: adjust assertions for multi-layer resolves with the HW/FS paths

Only compute supports layers.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26316>
This commit is contained in:
Samuel Pitoiset 2023-12-01 09:17:41 +01:00 committed by Marge Bot
parent 70556739e0
commit 9027c6d8ca
2 changed files with 6 additions and 7 deletions

View file

@ -344,14 +344,12 @@ radv_meta_resolve_hardware_image(struct radv_cmd_buffer *cmd_buffer, struct radv
*
* - The aspectMask member of srcSubresource and dstSubresource must
* only contain VK_IMAGE_ASPECT_COLOR_BIT
*
* - The layerCount member of srcSubresource and dstSubresource must
* match
*/
assert(region->srcSubresource.aspectMask == VK_IMAGE_ASPECT_COLOR_BIT);
assert(region->dstSubresource.aspectMask == VK_IMAGE_ASPECT_COLOR_BIT);
assert(vk_image_subresource_layer_count(&src_image->vk, &region->srcSubresource) ==
vk_image_subresource_layer_count(&dst_image->vk, &region->dstSubresource));
/* Multi-layer resolves are handled by compute */
assert(vk_image_subresource_layer_count(&src_image->vk, &region->srcSubresource) == 1 &&
vk_image_subresource_layer_count(&dst_image->vk, &region->dstSubresource) == 1);
/**
* From Vulkan 1.0.6 spec: 18.6 Resolving Multisample Images
*

View file

@ -726,8 +726,9 @@ radv_meta_resolve_fragment_image(struct radv_cmd_buffer *cmd_buffer, struct radv
assert(region->srcSubresource.aspectMask == VK_IMAGE_ASPECT_COLOR_BIT);
assert(region->dstSubresource.aspectMask == VK_IMAGE_ASPECT_COLOR_BIT);
assert(vk_image_subresource_layer_count(&src_image->vk, &region->srcSubresource) ==
vk_image_subresource_layer_count(&dst_image->vk, &region->dstSubresource));
/* Multi-layer resolves are handled by compute */
assert(vk_image_subresource_layer_count(&src_image->vk, &region->srcSubresource) == 1 &&
vk_image_subresource_layer_count(&dst_image->vk, &region->dstSubresource) == 1);
const struct VkExtent3D extent = vk_image_sanitize_extent(&src_image->vk, region->extent);
const struct VkOffset3D srcOffset = vk_image_sanitize_offset(&src_image->vk, region->srcOffset);