Commit 4c9f4a97 by Chris Forbes

Remove asserts blocking pipeline derivatives

* Implementations must ignore basePipelineIndex & basePipelineHandle if VK_PIPELINE_CREATE_DERIVATIVE_BIT is not specified. * We choose to ignore the pipeline derivative controls entirely. This is consistent with other implementations. * Also remove assert blocking pipeline construction for subpasses other than 0. This works fine. Test: dEQP-VK.pipeline.derivative.compute.* Change-Id: Ia03508b33397c60a3de5caf8536f7d75058738f6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27828 Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Tested-by: 's avatarChris Forbes <chrisforbes@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com>
parent e43cda5f
...@@ -254,13 +254,10 @@ Pipeline::Pipeline(PipelineLayout const *layout) : layout(layout) {} ...@@ -254,13 +254,10 @@ Pipeline::Pipeline(PipelineLayout const *layout) : layout(layout) {}
GraphicsPipeline::GraphicsPipeline(const VkGraphicsPipelineCreateInfo* pCreateInfo, void* mem) GraphicsPipeline::GraphicsPipeline(const VkGraphicsPipelineCreateInfo* pCreateInfo, void* mem)
: Pipeline(Cast(pCreateInfo->layout)) : Pipeline(Cast(pCreateInfo->layout))
{ {
if((pCreateInfo->flags != 0) || if(((pCreateInfo->flags & ~(VK_PIPELINE_CREATE_DERIVATIVE_BIT | VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT)) != 0) ||
(pCreateInfo->stageCount != 2) || (pCreateInfo->stageCount != 2) ||
(pCreateInfo->pTessellationState != nullptr) || (pCreateInfo->pTessellationState != nullptr) ||
(pCreateInfo->pDynamicState != nullptr) || (pCreateInfo->pDynamicState != nullptr))
(pCreateInfo->subpass != 0) ||
(pCreateInfo->basePipelineHandle != VK_NULL_HANDLE) ||
(pCreateInfo->basePipelineIndex != 0))
{ {
UNIMPLEMENTED("pCreateInfo settings"); UNIMPLEMENTED("pCreateInfo settings");
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment