Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(867)

Unified Diff: src/gpu/vk/GrVkProgramBuilder.cpp

Issue 1816153002: Set up cache in vulkan to reuse GrVkPrograms (aka VkPipelines) (Closed) Base URL: https://skia.googlesource.com/skia.git@progSamplers
Patch Set: cleanup Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/gpu/vk/GrVkProgramBuilder.cpp
diff --git a/src/gpu/vk/GrVkProgramBuilder.cpp b/src/gpu/vk/GrVkProgramBuilder.cpp
index 9dbbbb848c89f5f19ab52a936f74f2a02ad7c1ec..fc1f5983855970b11505dba1b8f0f327258f92f0 100644
--- a/src/gpu/vk/GrVkProgramBuilder.cpp
+++ b/src/gpu/vk/GrVkProgramBuilder.cpp
@@ -9,17 +9,16 @@
#include "vk/GrVkGpu.h"
#include "vk/GrVkRenderPass.h"
-#include "vk/GrVkProgram.h"
GrVkProgram* GrVkProgramBuilder::CreateProgram(GrVkGpu* gpu,
const GrPipeline& pipeline,
const GrPrimitiveProcessor& primProc,
GrPrimitiveType primitiveType,
- const GrVkProgramDesc& desc,
+ const GrVkProgram::PipelineDesc& 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
- GrVkProgramBuilder builder(gpu, pipeline, primProc, desc);
+ GrVkProgramBuilder builder(gpu, pipeline, primProc, desc.fProgramDesc);
GrGLSLExpr4 inputColor;
GrGLSLExpr4 inputCoverage;
@@ -29,7 +28,7 @@ GrVkProgram* GrVkProgramBuilder::CreateProgram(GrVkGpu* gpu,
return nullptr;
}
- return builder.finalize(primitiveType, renderPass);
+ return builder.finalize(primitiveType, renderPass, desc);
}
GrVkProgramBuilder::GrVkProgramBuilder(GrVkGpu* gpu,
@@ -141,7 +140,8 @@ bool GrVkProgramBuilder::CreateVkShaderModule(const GrVkGpu* gpu,
}
GrVkProgram* GrVkProgramBuilder::finalize(GrPrimitiveType primitiveType,
- const GrVkRenderPass& renderPass) {
+ const GrVkRenderPass& renderPass,
+ const GrVkProgram::PipelineDesc& desc) {
VkDescriptorSetLayout dsLayout[2];
VkPipelineLayout pipelineLayout;
VkShaderModule vertShaderModule;
@@ -273,6 +273,7 @@ GrVkProgram* GrVkProgramBuilder::finalize(GrPrimitiveType primitiveType,
}
return new GrVkProgram(fGpu,
+ desc,
pipeline,
pipelineLayout,
dsLayout,

Powered by Google App Engine
This is Rietveld 408576698