diff options
author | 2017-11-01 17:15:06 -0600 | |
---|---|---|
committer | 2017-11-02 15:27:21 +0000 | |
commit | 94c0468b2b4255e3beed81efdcfbf6d9d39e11e4 (patch) | |
tree | c4e318a9b0316c7b7bdb956b1502e2f08ee1fb15 /src/gpu/vk/GrVkPipelineState.cpp | |
parent | 8d05a2dc09b870bcd8e330a589f34cf1c7e00553 (diff) |
Implement window rectangles in vulkan
Bug: skia:
Change-Id: I32c079b90a5503c797dfc073a093f940cd8c550a
Reviewed-on: https://skia-review.googlesource.com/65423
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
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; } |