aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/vk/GrVkPipelineState.cpp
diff options
context:
space:
mode:
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;
}