aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--layers/core_validation.cpp14
-rw-r--r--layers/core_validation_types.h20
2 files changed, 10 insertions, 24 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index 09f4bcb8..471237c1 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -2240,11 +2240,7 @@ static bool isDynamic(const PIPELINE_NODE *pPipeline, const VkDynamicState state
// Validate state stored as flags at time of draw call
static bool validate_draw_state_flags(layer_data *dev_data, GLOBAL_CB_NODE *pCB, const PIPELINE_NODE *pPipe, bool indexedDraw) {
- bool result;
- result = validate_status(dev_data, pCB, CBSTATUS_VIEWPORT_SET, VK_DEBUG_REPORT_ERROR_BIT_EXT, DRAWSTATE_VIEWPORT_NOT_BOUND,
- "Dynamic viewport state not set for this command buffer");
- result |= validate_status(dev_data, pCB, CBSTATUS_SCISSOR_SET, VK_DEBUG_REPORT_ERROR_BIT_EXT, DRAWSTATE_SCISSOR_NOT_BOUND,
- "Dynamic scissor state not set for this command buffer");
+ bool result = false;
if (pPipe->graphicsPipelineCI.pInputAssemblyState &&
((pPipe->graphicsPipelineCI.pInputAssemblyState->topology == VK_PRIMITIVE_TOPOLOGY_LINE_LIST) ||
(pPipe->graphicsPipelineCI.pInputAssemblyState->topology == VK_PRIMITIVE_TOPOLOGY_LINE_STRIP))) {
@@ -4073,12 +4069,6 @@ static void set_cb_pso_status(GLOBAL_CB_NODE *pCB, const PIPELINE_NODE *pPipe) {
CBStatusFlags psoDynStateMask = CBSTATUS_ALL;
for (uint32_t i = 0; i < pPipe->graphicsPipelineCI.pDynamicState->dynamicStateCount; i++) {
switch (pPipe->graphicsPipelineCI.pDynamicState->pDynamicStates[i]) {
- case VK_DYNAMIC_STATE_VIEWPORT:
- psoDynStateMask &= ~CBSTATUS_VIEWPORT_SET;
- break;
- case VK_DYNAMIC_STATE_SCISSOR:
- psoDynStateMask &= ~CBSTATUS_SCISSOR_SET;
- break;
case VK_DYNAMIC_STATE_LINE_WIDTH:
psoDynStateMask &= ~CBSTATUS_LINE_WIDTH_SET;
break;
@@ -7020,7 +7010,6 @@ CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t v
GLOBAL_CB_NODE *pCB = getCBNode(dev_data, commandBuffer);
if (pCB) {
skip_call |= addCmd(dev_data, pCB, CMD_SETVIEWPORTSTATE, "vkCmdSetViewport()");
- pCB->status |= CBSTATUS_VIEWPORT_SET;
pCB->viewportMask |= ((1u<<viewportCount) - 1u) << firstViewport;
}
lock.unlock();
@@ -7036,7 +7025,6 @@ CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t sci
GLOBAL_CB_NODE *pCB = getCBNode(dev_data, commandBuffer);
if (pCB) {
skip_call |= addCmd(dev_data, pCB, CMD_SETSCISSORSTATE, "vkCmdSetScissor()");
- pCB->status |= CBSTATUS_SCISSOR_SET;
pCB->scissorMask |= ((1u<<scissorCount) - 1u) << firstScissor;
}
lock.unlock();
diff --git a/layers/core_validation_types.h b/layers/core_validation_types.h
index 4edfa9c2..df05e345 100644
--- a/layers/core_validation_types.h
+++ b/layers/core_validation_types.h
@@ -402,17 +402,15 @@ typedef VkFlags CBStatusFlags;
enum CBStatusFlagBits {
// clang-format off
CBSTATUS_NONE = 0x00000000, // No status is set
- CBSTATUS_VIEWPORT_SET = 0x00000001, // Viewport has been set
- CBSTATUS_LINE_WIDTH_SET = 0x00000002, // Line width has been set
- CBSTATUS_DEPTH_BIAS_SET = 0x00000004, // Depth bias has been set
- CBSTATUS_BLEND_CONSTANTS_SET = 0x00000008, // Blend constants state has been set
- CBSTATUS_DEPTH_BOUNDS_SET = 0x00000010, // Depth bounds state object has been set
- CBSTATUS_STENCIL_READ_MASK_SET = 0x00000020, // Stencil read mask has been set
- CBSTATUS_STENCIL_WRITE_MASK_SET = 0x00000040, // Stencil write mask has been set
- CBSTATUS_STENCIL_REFERENCE_SET = 0x00000080, // Stencil reference has been set
- CBSTATUS_SCISSOR_SET = 0x00000100, // Scissor has been set
- CBSTATUS_INDEX_BUFFER_BOUND = 0x00000200, // Index buffer has been set
- CBSTATUS_ALL = 0x000001FF, // All dynamic state set (intentionally exclude index buffer)
+ CBSTATUS_LINE_WIDTH_SET = 0x00000001, // Line width has been set
+ CBSTATUS_DEPTH_BIAS_SET = 0x00000002, // Depth bias has been set
+ CBSTATUS_BLEND_CONSTANTS_SET = 0x00000004, // Blend constants state has been set
+ CBSTATUS_DEPTH_BOUNDS_SET = 0x00000008, // Depth bounds state object has been set
+ CBSTATUS_STENCIL_READ_MASK_SET = 0x00000010, // Stencil read mask has been set
+ CBSTATUS_STENCIL_WRITE_MASK_SET = 0x00000020, // Stencil write mask has been set
+ CBSTATUS_STENCIL_REFERENCE_SET = 0x00000040, // Stencil reference has been set
+ CBSTATUS_INDEX_BUFFER_BOUND = 0x00000080, // Index buffer has been set
+ CBSTATUS_ALL = 0x0000007F, // All dynamic state set (intentionally exclude index buffer)
// clang-format on
};