aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/vk/GrVkPipelineStateBuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/vk/GrVkPipelineStateBuilder.cpp')
-rw-r--r--src/gpu/vk/GrVkPipelineStateBuilder.cpp23
1 files changed, 7 insertions, 16 deletions
diff --git a/src/gpu/vk/GrVkPipelineStateBuilder.cpp b/src/gpu/vk/GrVkPipelineStateBuilder.cpp
index f7a61730a5..4125938bae 100644
--- a/src/gpu/vk/GrVkPipelineStateBuilder.cpp
+++ b/src/gpu/vk/GrVkPipelineStateBuilder.cpp
@@ -19,7 +19,7 @@ GrVkPipelineState* GrVkPipelineStateBuilder::CreatePipelineState(
const GrStencilSettings& stencil,
const GrPrimitiveProcessor& primProc,
GrPrimitiveType primitiveType,
- GrVkPipelineState::Desc* desc,
+ const GrVkPipelineState::Desc& desc,
const GrVkRenderPass& renderPass) {
// create a builder. This will be handed off to effects so they can use it to add
// uniforms, varyings, textures, etc
@@ -39,7 +39,7 @@ GrVkPipelineState* GrVkPipelineStateBuilder::CreatePipelineState(
GrVkPipelineStateBuilder::GrVkPipelineStateBuilder(GrVkGpu* gpu,
const GrPipeline& pipeline,
const GrPrimitiveProcessor& primProc,
- GrProgramDesc* desc)
+ const GrProgramDesc& desc)
: INHERITED(pipeline, primProc, desc)
, fGpu(gpu)
, fVaryingHandler(this)
@@ -62,8 +62,7 @@ bool GrVkPipelineStateBuilder::createVkShaderModule(VkShaderStageFlagBits stage,
const GrGLSLShaderBuilder& builder,
VkShaderModule* shaderModule,
VkPipelineShaderStageCreateInfo* stageInfo,
- const SkSL::Program::Settings& settings,
- GrVkPipelineState::Desc* desc) {
+ const SkSL::Program::Settings& settings) {
SkString shaderString;
for (int i = 0; i < builder.fCompilerStrings.count(); ++i) {
if (builder.fCompilerStrings[i]) {
@@ -81,19 +80,13 @@ bool GrVkPipelineStateBuilder::createVkShaderModule(VkShaderStageFlagBits stage,
if (inputs.fRTHeight) {
this->addRTHeightUniform(SKSL_RTHEIGHT_NAME);
}
- if (!inputs.fFlipY) {
- // the program doesn't care about the surface origin, set the key to zero to indicate that
- // it doesn't matter
- desc->setSurfaceOriginKey(0);
- desc->finalize();
- }
return result;
}
GrVkPipelineState* GrVkPipelineStateBuilder::finalize(const GrStencilSettings& stencil,
GrPrimitiveType primitiveType,
const GrVkRenderPass& renderPass,
- GrVkPipelineState::Desc* desc) {
+ const GrVkPipelineState::Desc& desc) {
VkDescriptorSetLayout dsLayout[2];
VkPipelineLayout pipelineLayout;
VkShaderModule vertShaderModule;
@@ -140,8 +133,7 @@ GrVkPipelineState* GrVkPipelineStateBuilder::finalize(const GrStencilSettings& s
fVS,
&vertShaderModule,
&shaderStageInfo[0],
- settings,
- desc));
+ settings));
// TODO: geometry shader support.
SkASSERT(!this->primitiveProcessor().willUseGeoShader());
@@ -150,8 +142,7 @@ GrVkPipelineState* GrVkPipelineStateBuilder::finalize(const GrStencilSettings& s
fFS,
&fragShaderModule,
&shaderStageInfo[1],
- settings,
- desc));
+ settings));
GrVkPipeline* pipeline = resourceProvider.createPipeline(fPipeline,
stencil,
@@ -174,7 +165,7 @@ GrVkPipelineState* GrVkPipelineStateBuilder::finalize(const GrStencilSettings& s
}
return new GrVkPipelineState(fGpu,
- *desc,
+ desc,
pipeline,
pipelineLayout,
samplerDSHandle,