tests: Add test case for excessive CmdNextSubpass
Signed-off-by: Chris Forbes <chrisforbes@google.com>
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index f256063..c8871fe 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -11104,6 +11104,26 @@
m_errorMonitor->VerifyFound();
}
+TEST_F(VkLayerTest, RenderPassExcessiveNextSubpass) {
+ TEST_DESCRIPTION("Test that an error is produced when CmdNextSubpass is "
+ "called too many times in a renderpass instance");
+
+ m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
+ "vkCmdNextSubpass(): Attempted to advance "
+ "beyond final subpass");
+
+ ASSERT_NO_FATAL_FAILURE(InitState());
+ ASSERT_NO_FATAL_FAILURE(InitRenderTarget());
+
+ BeginCommandBuffer();
+
+ // error here.
+ vkCmdNextSubpass(m_commandBuffer->GetBufferHandle(), VK_SUBPASS_CONTENTS_INLINE);
+ m_errorMonitor->VerifyFound();
+
+ EndCommandBuffer();
+}
+
TEST_F(VkLayerTest, BufferMemoryBarrierNoBuffer) {
// Try to add a buffer memory barrier with no buffer.
m_errorMonitor->SetDesiredFailureMsg(