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

Side by Side Diff: src/gpu/vk/GrVkPipelineStateBuilder.h

Issue 2318523006: Merge GrGLSLProgramDesc into GrProgramDesc (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: update comments Created 4 years, 3 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 unified diff | Download patch
« no previous file with comments | « src/gpu/vk/GrVkPipelineState.h ('k') | src/gpu/vk/GrVkPipelineStateBuilder.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2016 Google Inc. 2 * Copyright 2016 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef GrVkPipelineStateBuilder_DEFINED 8 #ifndef GrVkPipelineStateBuilder_DEFINED
9 #define GrVkPipelineStateBuilder_DEFINED 9 #define GrVkPipelineStateBuilder_DEFINED
10 10
11 #include "glsl/GrGLSLProgramBuilder.h" 11 #include "glsl/GrGLSLProgramBuilder.h"
12 12
13 #include "GrPipeline.h" 13 #include "GrPipeline.h"
14 #include "GrVkPipelineState.h" 14 #include "GrVkPipelineState.h"
15 #include "GrVkUniformHandler.h" 15 #include "GrVkUniformHandler.h"
16 #include "GrVkVaryingHandler.h" 16 #include "GrVkVaryingHandler.h"
17 17
18 #include "vk/GrVkDefines.h" 18 #include "vk/GrVkDefines.h"
19 19
20 class GrProgramDesc;
20 class GrVkGpu; 21 class GrVkGpu;
21 class GrVkRenderPass; 22 class GrVkRenderPass;
22 class GrGLSLProgramDesc;
23 23
24 class GrVkPipelineStateBuilder : public GrGLSLProgramBuilder { 24 class GrVkPipelineStateBuilder : public GrGLSLProgramBuilder {
25 public: 25 public:
26 /** Generates a pipeline state. 26 /** Generates a pipeline state.
27 * 27 *
28 * The GrVkPipelineState implements what is specified in the GrPipeline and G rPrimitiveProcessor 28 * The GrVkPipelineState implements what is specified in the GrPipeline and G rPrimitiveProcessor
29 * as input. After successful generation, the builder result objects are avai lable to be used. 29 * as input. After successful generation, the builder result objects are avai lable to be used.
30 * @return true if generation was successful. 30 * @return true if generation was successful.
31 */ 31 */
32 static GrVkPipelineState* CreatePipelineState(GrVkGpu*, 32 static GrVkPipelineState* CreatePipelineState(GrVkGpu*,
33 const GrPipeline&, 33 const GrPipeline&,
34 const GrPrimitiveProcessor&, 34 const GrPrimitiveProcessor&,
35 GrPrimitiveType, 35 GrPrimitiveType,
36 const GrVkPipelineState::Desc& , 36 const GrVkPipelineState::Desc& ,
37 const GrVkRenderPass& renderPa ss); 37 const GrVkRenderPass& renderPa ss);
38 38
39 const GrCaps* caps() const override; 39 const GrCaps* caps() const override;
40 const GrGLSLCaps* glslCaps() const override; 40 const GrGLSLCaps* glslCaps() const override;
41 41
42 GrVkGpu* gpu() const { return fGpu; } 42 GrVkGpu* gpu() const { return fGpu; }
43 43
44 void finalizeFragmentOutputColor(GrGLSLShaderVar& outputColor) override; 44 void finalizeFragmentOutputColor(GrGLSLShaderVar& outputColor) override;
45 void finalizeFragmentSecondaryColor(GrGLSLShaderVar& outputColor) override; 45 void finalizeFragmentSecondaryColor(GrGLSLShaderVar& outputColor) override;
46 46
47 private: 47 private:
48 GrVkPipelineStateBuilder(GrVkGpu*, 48 GrVkPipelineStateBuilder(GrVkGpu*,
49 const GrPipeline&, 49 const GrPipeline&,
50 const GrPrimitiveProcessor&, 50 const GrPrimitiveProcessor&,
51 const GrGLSLProgramDesc&); 51 const GrProgramDesc&);
52 52
53 GrVkPipelineState* finalize(GrPrimitiveType primitiveType, 53 GrVkPipelineState* finalize(GrPrimitiveType primitiveType,
54 const GrVkRenderPass& renderPass, 54 const GrVkRenderPass& renderPass,
55 const GrVkPipelineState::Desc&); 55 const GrVkPipelineState::Desc&);
56 56
57 static bool CreateVkShaderModule(const GrVkGpu* gpu, 57 static bool CreateVkShaderModule(const GrVkGpu* gpu,
58 VkShaderStageFlagBits stage, 58 VkShaderStageFlagBits stage,
59 const GrGLSLShaderBuilder& builder, 59 const GrGLSLShaderBuilder& builder,
60 VkShaderModule* shaderModule, 60 VkShaderModule* shaderModule,
61 VkPipelineShaderStageCreateInfo* stageInfo) ; 61 VkPipelineShaderStageCreateInfo* stageInfo) ;
62 62
63 GrGLSLUniformHandler* uniformHandler() override { return &fUniformHandler; } 63 GrGLSLUniformHandler* uniformHandler() override { return &fUniformHandler; }
64 const GrGLSLUniformHandler* uniformHandler() const override { return &fUnifo rmHandler; } 64 const GrGLSLUniformHandler* uniformHandler() const override { return &fUnifo rmHandler; }
65 GrGLSLVaryingHandler* varyingHandler() override { return &fVaryingHandler; } 65 GrGLSLVaryingHandler* varyingHandler() override { return &fVaryingHandler; }
66 66
67 GrVkGpu* fGpu; 67 GrVkGpu* fGpu;
68 GrVkVaryingHandler fVaryingHandler; 68 GrVkVaryingHandler fVaryingHandler;
69 GrVkUniformHandler fUniformHandler; 69 GrVkUniformHandler fUniformHandler;
70 70
71 typedef GrGLSLProgramBuilder INHERITED; 71 typedef GrGLSLProgramBuilder INHERITED;
72 }; 72 };
73 73
74 #endif 74 #endif
OLDNEW
« no previous file with comments | « src/gpu/vk/GrVkPipelineState.h ('k') | src/gpu/vk/GrVkPipelineStateBuilder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698