layers: Add additional check for RenderPass sampleCount
Was checking PSO MSAA num samples against FrameBuffer sampleCount. This change adds an additional check against RenderPass sampleCount.
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index 7836198..81faa12 100755
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -522,9 +522,9 @@
if (pCB->activeRenderPass) {
VkRenderPassCreateInfo* pRPCI = renderPassMap[pCB->activeRenderPass];
VkFramebufferCreateInfo* pFBCI = frameBufferMap[pCB->framebuffer];
- if (psoNumSamples != pFBCI->sampleCount) {
+ if ((psoNumSamples != pFBCI->sampleCount) || (psoNumSamples != pRPCI->sampleCount)) {
char str[1024];
- sprintf(str, "Num samples mismatche! Binding PSO (%p) with %u samples while current RenderPass (%p) uses FB (%p) with %u samples!", (void*)pipeline, psoNumSamples, (void*)pCB->activeRenderPass, (void*)pCB->framebuffer, pFBCI->sampleCount);
+ sprintf(str, "Num samples mismatche! Binding PSO (%p) with %u samples while current RenderPass (%p) w/ %u samples uses FB (%p) with %u samples!", (void*)pipeline, psoNumSamples, (void*)pCB->activeRenderPass, pRPCI->sampleCount, (void*)pCB->framebuffer, pFBCI->sampleCount);
layerCbMsg(VK_DBG_MSG_ERROR, VK_VALIDATION_LEVEL_0, pipeline, 0, DRAWSTATE_NUM_SAMPLES_MISMATCH, "DS", str);
}
} else {