diff options
| -rw-r--r-- | layers/core_validation.cpp | 14 | ||||
| -rw-r--r-- | layers/core_validation_types.h | 20 |
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 }; |
