layers: Fix DrawState to correctly handle dynamic state from PSO and CmdSet* calls
Track which dynamic states are set via PSO and merge that with dynamic state set by CmdSet* cmds.
Updated viewport not set test to pass when scissor is flagged as missing. Currently scissor and viewport set together so scissor error masks viewport error.
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index d410afa..b11505d 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -1066,8 +1066,9 @@
msgFlags = m_errorMonitor->GetState(&msgString);
ASSERT_TRUE(0 != (msgFlags & VK_DBG_REPORT_ERROR_BIT)) << "Did not receive an error from Not Binding a Viewport State Object";
- if (!strstr(msgString.c_str(),"Dynamic viewport state not set for this command buffer")) {
- FAIL() << "Received: '" << msgString.c_str() << "' Expected: 'Dynamic viewport state not set for this command buffer'";
+ // TODO : Viewport and scissor currently set as a pair in framework so scissor error masks viewport error
+ if (!strstr(msgString.c_str(),"Dynamic scissor state not set for this command buffer")) {
+ FAIL() << "Received: '" << msgString.c_str() << "' Expected: 'Dynamic scissor state not set for this command buffer'";
}
}