diff options
Diffstat (limited to 'src/gpu/vk/GrVkPipelineState.cpp')
-rw-r--r-- | src/gpu/vk/GrVkPipelineState.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/gpu/vk/GrVkPipelineState.cpp b/src/gpu/vk/GrVkPipelineState.cpp index 17197750ab..5256c6dbcd 100644 --- a/src/gpu/vk/GrVkPipelineState.cpp +++ b/src/gpu/vk/GrVkPipelineState.cpp @@ -571,9 +571,9 @@ bool GrVkPipelineState::Desc::Build(Desc* desc, const GrPipeline& pipeline, const GrStencilSettings& stencil, GrPrimitiveType primitiveType, - const GrShaderCaps& caps) { + const GrCaps& caps) { if (!INHERITED::Build(desc, primProc, primitiveType == GrPrimitiveType::kPoints, pipeline, - caps)) { + *caps.shaderCaps())) { return false; } @@ -587,5 +587,12 @@ bool GrVkPipelineState::Desc::Build(Desc* desc, b.add32((uint32_t)primitiveType); + if (GrCaps::WindowRectsSupport::kNone != caps.windowRectsSupport()) { + const GrWindowRectsState& windowState = pipeline.getWindowRectsState(); + uint32_t mode = (0u - (uint32_t)windowState.mode()); + SkASSERT(0u == mode || ~0u == mode); + b.add32((uint32_t)windowState.numWindows() ^ mode); + } + return true; } |