diff options
Diffstat (limited to 'src/gpu/vk/GrVkPipelineStateBuilder.cpp')
-rw-r--r-- | src/gpu/vk/GrVkPipelineStateBuilder.cpp | 23 |
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, |