aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/vk/GrVkPipelineState.cpp
diff options
context:
space:
mode:
authorGravatar Chris Dalton <csmartdalton@google.com>2017-11-01 17:15:06 -0600
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-11-02 15:27:21 +0000
commit94c0468b2b4255e3beed81efdcfbf6d9d39e11e4 (patch)
treec4e318a9b0316c7b7bdb956b1502e2f08ee1fb15 /src/gpu/vk/GrVkPipelineState.cpp
parent8d05a2dc09b870bcd8e330a589f34cf1c7e00553 (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.cpp11
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;
}