rhi: vulkan: Prevent a misplaced assert from triggering in debug builds

One place where this popped up was the qrhi autotest (in debug builds).

This check is meant for VkRenderpass objects for texture render targets,
should not bother with it for the "main" renderpass.

Amends 19384f2e8f50bad0a0775f7b2e10aff3372bcbb5

Change-Id: I877a2458fe17fe339b4741d4aa8af3fbda4dabcc
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit 3c85f8e9fc1977cf2a650b17b43d3eac4960155e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Laszlo Agocs 2021-03-22 14:55:52 +01:00 committed by Qt Cherry-pick Bot
parent 9a72beca56
commit cc3260b37a

View File

@ -1181,7 +1181,6 @@ static void fillRenderPassCreateInfo(VkRenderPassCreateInfo *rpInfo,
memset(subpassDesc, 0, sizeof(VkSubpassDescription));
subpassDesc->pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS;
subpassDesc->colorAttachmentCount = uint32_t(rpD->colorRefs.count());
Q_ASSERT(rpD->colorRefs.count() == rpD->resolveRefs.count());
subpassDesc->pColorAttachments = !rpD->colorRefs.isEmpty() ? rpD->colorRefs.constData() : nullptr;
subpassDesc->pDepthStencilAttachment = rpD->hasDepthStencil ? &rpD->dsRef : nullptr;
subpassDesc->pResolveAttachments = !rpD->resolveRefs.isEmpty() ? rpD->resolveRefs.constData() : nullptr;
@ -1378,6 +1377,7 @@ bool QRhiVulkan::createOffscreenRenderPass(QVkRenderPassDescriptor *rpD,
rpD->resolveRefs.append(ref);
}
}
Q_ASSERT(rpD->colorRefs.count() == rpD->resolveRefs.count());
// rpD->subpassDeps stays empty: don't yet know the correct initial/final
// access and stage stuff for the implicit deps at this point, so leave it