radv: fix potential crash in the compute resolve path

If the destination attachment is UNUSED.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
Samuel Pitoiset 2019-07-04 08:54:48 +02:00
parent 0cc02c9ea6
commit 8a425e057d

View file

@ -917,12 +917,13 @@ radv_cmd_buffer_resolve_subpass_cs(struct radv_cmd_buffer *cmd_buffer)
for (uint32_t i = 0; i < subpass->color_count; ++i) {
struct radv_subpass_attachment src_att = subpass->color_attachments[i];
struct radv_subpass_attachment dst_att = subpass->resolve_attachments[i];
struct radv_image_view *src_iview = fb->attachments[src_att.attachment].attachment;
struct radv_image_view *dst_iview = fb->attachments[dst_att.attachment].attachment;
if (dst_att.attachment == VK_ATTACHMENT_UNUSED)
continue;
struct radv_image_view *src_iview = fb->attachments[src_att.attachment].attachment;
struct radv_image_view *dst_iview = fb->attachments[dst_att.attachment].attachment;
VkImageResolve region = {
.extent = (VkExtent3D){ fb->width, fb->height, 0 },
.srcSubresource = (VkImageSubresourceLayers) {