From: Mark Lobodzinski Date: Fri, 16 Dec 2016 20:06:41 +0000 (-0700) Subject: layers: Remove redundant CV checks X-Git-Tag: sdk-1.0.39.0~214 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dcfa519862e3ee788cf008388cc6b66832f74477;p=platform%2Fupstream%2FVulkan-LoaderAndValidationLayers.git layers: Remove redundant CV checks These CreateGraphicsPipeline checks are covered in parameter_validation. Change-Id: I4c273aa2cd88791d2f6cfa7a5b6c48e629706a85 --- diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 54ad2b3..b8b9f50 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -3311,54 +3311,11 @@ static bool verifyPipelineCreateState(layer_data *my_data, std::vectorgraphicsPipelineCI.pRasterizationState->lineWidth); } } - // Viewport state must be included if rasterization is enabled. - // If the viewport state is included, the viewport and scissor counts should always match. - // NOTE : Even if these are flagged as dynamic, counts need to be set correctly for shader compiler - if (!pPipeline->graphicsPipelineCI.pRasterizationState || - (pPipeline->graphicsPipelineCI.pRasterizationState->rasterizerDiscardEnable == VK_FALSE)) { - if (!pPipeline->graphicsPipelineCI.pViewportState) { - skip_call |= log_msg(my_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, - DRAWSTATE_VIEWPORT_SCISSOR_MISMATCH, "DS", "Gfx Pipeline pViewportState is null. Even if viewport " - "and scissors are dynamic PSO must include " - "viewportCount and scissorCount in pViewportState."); - } else if (pPipeline->graphicsPipelineCI.pViewportState->scissorCount != - pPipeline->graphicsPipelineCI.pViewportState->viewportCount) { - skip_call |= log_msg(my_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, - DRAWSTATE_VIEWPORT_SCISSOR_MISMATCH, "DS", - "Gfx Pipeline viewport count (%u) must match scissor count (%u).", - pPipeline->graphicsPipelineCI.pViewportState->viewportCount, - pPipeline->graphicsPipelineCI.pViewportState->scissorCount); - } else { - // If viewport or scissor are not dynamic, then verify that data is appropriate for count - bool dynViewport = isDynamic(pPipeline, VK_DYNAMIC_STATE_VIEWPORT); - bool dynScissor = isDynamic(pPipeline, VK_DYNAMIC_STATE_SCISSOR); - if (!dynViewport) { - if (pPipeline->graphicsPipelineCI.pViewportState->viewportCount && - !pPipeline->graphicsPipelineCI.pViewportState->pViewports) { - skip_call |= - log_msg(my_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, - DRAWSTATE_VIEWPORT_SCISSOR_MISMATCH, "DS", - "Gfx Pipeline viewportCount is %u, but pViewports is NULL. For non-zero viewportCount, you " - "must either include pViewports data, or include viewport in pDynamicState and set it with " - "vkCmdSetViewport().", - pPipeline->graphicsPipelineCI.pViewportState->viewportCount); - } - } - if (!dynScissor) { - if (pPipeline->graphicsPipelineCI.pViewportState->scissorCount && - !pPipeline->graphicsPipelineCI.pViewportState->pScissors) { - skip_call |= log_msg(my_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, - __LINE__, DRAWSTATE_VIEWPORT_SCISSOR_MISMATCH, "DS", - "Gfx Pipeline scissorCount is %u, but pScissors is NULL. For non-zero scissorCount, you " - "must either include pScissors data, or include scissor in pDynamicState and set it with " - "vkCmdSetScissor().", - pPipeline->graphicsPipelineCI.pViewportState->scissorCount); - } - } - } - // If rasterization is not disabled, and subpass uses a depth/stencil - // attachment, pDepthStencilState must be a pointer to a valid structure + // If rasterization is not disabled and subpass uses a depth/stencil attachment, pDepthStencilState must be a pointer to a + // valid structure + if (pPipeline->graphicsPipelineCI.pRasterizationState && + (pPipeline->graphicsPipelineCI.pRasterizationState->rasterizerDiscardEnable == VK_FALSE)) { auto subpass_desc = renderPass ? &renderPass->createInfo.pSubpasses[pPipeline->graphicsPipelineCI.subpass] : nullptr; if (subpass_desc && subpass_desc->pDepthStencilAttachment && subpass_desc->pDepthStencilAttachment->attachment != VK_ATTACHMENT_UNUSED) {