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

Unified Diff: src/gpu/vk/GrVkPipelineStateBuilder.h

Issue 1816153002: Set up cache in vulkan to reuse GrVkPrograms (aka VkPipelines) (Closed) Base URL: https://skia.googlesource.com/skia.git@progSamplers
Patch Set: rebase 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
« no previous file with comments | « src/gpu/vk/GrVkPipelineState.cpp ('k') | src/gpu/vk/GrVkPipelineStateBuilder.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/vk/GrVkPipelineStateBuilder.h
diff --git a/src/gpu/vk/GrVkProgramBuilder.h b/src/gpu/vk/GrVkPipelineStateBuilder.h
similarity index 51%
rename from src/gpu/vk/GrVkProgramBuilder.h
rename to src/gpu/vk/GrVkPipelineStateBuilder.h
index 65fe54667c4908e2d30490a386d172e37a6ad4f0..751a62a56cf4635fc869693d0eeb2bbec7951994 100644
--- a/src/gpu/vk/GrVkProgramBuilder.h
+++ b/src/gpu/vk/GrVkPipelineStateBuilder.h
@@ -5,38 +5,37 @@
* found in the LICENSE file.
*/
-#ifndef GrVkProgramBuilder_DEFINED
-#define GrVkProgramBuilder_DEFINED
+#ifndef GrVkPipelineStateBuilder_DEFINED
+#define GrVkPipelineStateBuilder_DEFINED
#include "glsl/GrGLSLProgramBuilder.h"
#include "GrPipeline.h"
-#include "vk/GrVkUniformHandler.h"
-#include "vk/GrVkVaryingHandler.h"
+#include "GrVkPipelineState.h"
+#include "GrVkUniformHandler.h"
+#include "GrVkVaryingHandler.h"
#include "shaderc/shaderc.h"
#include "vulkan/vulkan.h"
class GrVkGpu;
class GrVkRenderPass;
-class GrVkProgram;
class GrVkProgramDesc;
-class GrVkProgramBuilder : public GrGLSLProgramBuilder {
+class GrVkPipelineStateBuilder : public GrGLSLProgramBuilder {
public:
- /** Generates a shader program.
+ /** Generates a pipeline state.
*
- * The program implements what is specified in the stages given as input.
- * After successful generation, the builder result objects are available
- * to be used.
+ * The GrVkPipelineState implements what is specified in the GrPipeline and GrPrimitiveProcessor
+ * as input. After successful generation, the builder result objects are available to be used.
* @return true if generation was successful.
*/
- static GrVkProgram* CreateProgram(GrVkGpu*,
- const GrPipeline&,
- const GrPrimitiveProcessor&,
- GrPrimitiveType,
- const GrVkProgramDesc&,
- const GrVkRenderPass& renderPass);
+ static GrVkPipelineState* CreatePipelineState(GrVkGpu*,
+ const GrPipeline&,
+ const GrPrimitiveProcessor&,
+ GrPrimitiveType,
+ const GrVkPipelineState::Desc&,
+ const GrVkRenderPass& renderPass);
const GrCaps* caps() const override;
const GrGLSLCaps* glslCaps() const override;
@@ -46,12 +45,14 @@ public:
void finalizeFragmentOutputColor(GrGLSLShaderVar& outputColor) override;
private:
- GrVkProgramBuilder(GrVkGpu*,
- const GrPipeline&,
- const GrPrimitiveProcessor&,
- const GrVkProgramDesc&);
-
- GrVkProgram* finalize(GrPrimitiveType primitiveType, const GrVkRenderPass& renderPass);
+ GrVkPipelineStateBuilder(GrVkGpu*,
+ const GrPipeline&,
+ const GrPrimitiveProcessor&,
+ const GrVkProgramDesc&);
+
+ GrVkPipelineState* finalize(GrPrimitiveType primitiveType,
+ const GrVkRenderPass& renderPass,
+ const GrVkPipelineState::Desc&);
static bool CreateVkShaderModule(const GrVkGpu* gpu,
VkShaderStageFlagBits stage,
« no previous file with comments | « src/gpu/vk/GrVkPipelineState.cpp ('k') | src/gpu/vk/GrVkPipelineStateBuilder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698