aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.cpp
diff options
context:
space:
mode:
authorChris Forbes <chrisforbes@google.com>2016-09-07 14:08:31 +1200
committerChris Forbes <chrisforbes@google.com>2016-09-07 16:58:25 +1200
commitda8990d1e3fa6a440bc431475cb2bce4e12e7e4d (patch)
tree67551cfb2429d122a29178408caa29c37964b1c7 /layers/core_validation.cpp
parent17970efc48a4a606337361f32bfb6224b72c8987 (diff)
downloadusermoji-da8990d1e3fa6a440bc431475cb2bce4e12e7e4d.tar.xz
layers: Add error for CmdEndRenderPass before reaching final subpass
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Diffstat (limited to 'layers/core_validation.cpp')
-rw-r--r--layers/core_validation.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index 5d3e1609..55d5c334 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -10103,6 +10103,13 @@ VKAPI_ATTR void VKAPI_CALL CmdEndRenderPass(VkCommandBuffer commandBuffer) {
RENDER_PASS_NODE* pRPNode = pCB->activeRenderPass;
auto framebuffer = getFramebuffer(dev_data, pCB->activeFramebuffer);
if (pRPNode) {
+ if (pCB->activeSubpass != pRPNode->pCreateInfo->subpassCount - 1) {
+ skip_call |=
+ log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,
+ reinterpret_cast<uint64_t>(commandBuffer), __LINE__, DRAWSTATE_INVALID_SUBPASS_INDEX, "DS",
+ "vkCmdEndRenderPass(): Called before reaching final subpass");
+ }
+
for (size_t i = 0; i < pRPNode->attachments.size(); ++i) {
MT_FB_ATTACHMENT_INFO &fb_info = framebuffer->attachments[i];
VkFormat format = pRPNode->pCreateInfo->pAttachments[pRPNode->attachments[i].attachment].format;