Check both resolveImageView and resolveMode before referencing the view

When MRTSS is used, resolveImageView must be NULL since resolve happens
into the same image:

> VUID-VkRenderingAttachmentInfo-imageView-06863
> If imageView is not VK_NULL_HANDLE, resolveMode is not VK_RESOLVE_MODE_NONE,
> the pNext chain of VkRenderingInfo includes a VkMultisampledRenderToSingleSampledInfoEXT
> structure with the multisampledRenderToSingleSampledEnable field equal to
> VK_TRUE, and imageView has a sample count of VK_SAMPLE_COUNT_1_BIT,
> resolveImageView must be VK_NULL_HANDLE

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
This commit is contained in:
Danylo Piliaiev
2026-08-13 21:48:54 +09:00
committed by Baldur Karlsson
parent 717d23e770
commit 6c7c9e16b8
@@ -7994,7 +7994,7 @@ void WrappedVulkan::vkCmdBeginRendering(VkCommandBuffer commandBuffer,
}
record->MarkImageViewFrameReferenced(viewRecord, ImageRange(), refType);
if(att->resolveMode)
if(att->resolveMode && att->resolveImageView != VK_NULL_HANDLE)
record->MarkImageViewFrameReferenced(GetRecord(att->resolveImageView), ImageRange(), refType);
}
}