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

Side by Side Diff: src/gpu/gl/builders/GrGLProgramBuilder.h

Issue 1438003003: Move all ShaderBuilder files to GLSL (Closed) Base URL: https://skia.googlesource.com/skia.git@glslProgBuild
Patch Set: nits Created 5 years, 1 month 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
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 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 GrGLProgramBuilder_DEFINED 8 #ifndef GrGLProgramBuilder_DEFINED
9 #define GrGLProgramBuilder_DEFINED 9 #define GrGLProgramBuilder_DEFINED
10 10
11 #include "gl/GrGLProgramDataManager.h" 11 #include "gl/GrGLProgramDataManager.h"
12 #include "glsl/GrGLSLProgramBuilder.h" 12 #include "glsl/GrGLSLProgramBuilder.h"
13 #include "glsl/GrGLSLProgramDataManager.h" 13 #include "glsl/GrGLSLProgramDataManager.h"
14 #include "glsl/GrGLSLTextureSampler.h" 14 #include "glsl/GrGLSLTextureSampler.h"
15 #include "../GrGLPrimitiveProcessor.h" 15 #include "../GrGLPrimitiveProcessor.h"
16 #include "../GrGLXferProcessor.h" 16 #include "../GrGLXferProcessor.h"
17 #include "../../GrPipeline.h" 17 #include "../../GrPipeline.h"
18 18
19 class GrFragmentProcessor; 19 class GrFragmentProcessor;
20 class GrGLContextInfo; 20 class GrGLContextInfo;
21 class GrGLShaderBuilder; 21 class GrGLSLShaderBuilder;
22 class GrGLSLCaps; 22 class GrGLSLCaps;
23 23
24 // Enough precision to represent 1 / 2048 accurately in printf
25 #define GR_SIGNIFICANT_POW2_DECIMAL_DIG 11
26
27 /** 24 /**
28 * The below struct represent processors installed in programs. 25 * The below struct represent processors installed in programs.
29 */ 26 */
30 template <class Proc> 27 template <class Proc>
31 struct GrGLInstalledProc { 28 struct GrGLInstalledProc {
32 SkDEBUGCODE(int fSamplersIdx;) 29 SkDEBUGCODE(int fSamplersIdx;)
33 SkAutoTDelete<Proc> fGLProc; 30 SkAutoTDelete<Proc> fGLProc;
34 }; 31 };
35 32
36 typedef GrGLInstalledProc<GrGLPrimitiveProcessor> GrGLInstalledGeoProc; 33 typedef GrGLInstalledProc<GrGLPrimitiveProcessor> GrGLInstalledGeoProc;
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 const GrGLSLExpr4& coverageIn); 125 const GrGLSLExpr4& coverageIn);
129 126
130 void verify(const GrPrimitiveProcessor&); 127 void verify(const GrPrimitiveProcessor&);
131 void verify(const GrXferProcessor&); 128 void verify(const GrXferProcessor&);
132 void verify(const GrFragmentProcessor&); 129 void verify(const GrFragmentProcessor&);
133 template <class Proc> 130 template <class Proc>
134 void emitSamplers(const GrProcessor&, 131 void emitSamplers(const GrProcessor&,
135 GrGLSLTextureSampler::TextureSamplerArray* outSamplers, 132 GrGLSLTextureSampler::TextureSamplerArray* outSamplers,
136 GrGLInstalledProc<Proc>*); 133 GrGLInstalledProc<Proc>*);
137 134
138 bool compileAndAttachShaders(GrGLShaderBuilder& shader, 135 bool compileAndAttachShaders(GrGLSLShaderBuilder& shader,
139 GrGLuint programId, 136 GrGLuint programId,
140 GrGLenum type, 137 GrGLenum type,
141 SkTDArray<GrGLuint>* shaderIds); 138 SkTDArray<GrGLuint>* shaderIds);
142 GrGLProgram* finalize(); 139 GrGLProgram* finalize();
143 void bindProgramResourceLocations(GrGLuint programID); 140 void bindProgramResourceLocations(GrGLuint programID);
144 bool checkLinkStatus(GrGLuint programID); 141 bool checkLinkStatus(GrGLuint programID);
145 void resolveProgramResourceLocations(GrGLuint programID); 142 void resolveProgramResourceLocations(GrGLuint programID);
146 void cleanupProgram(GrGLuint programID, const SkTDArray<GrGLuint>& shaderIDs ); 143 void cleanupProgram(GrGLuint programID, const SkTDArray<GrGLuint>& shaderIDs );
147 void cleanupShaders(const SkTDArray<GrGLuint>& shaderIDs); 144 void cleanupShaders(const SkTDArray<GrGLuint>& shaderIDs);
148 145
(...skipping 28 matching lines...) Expand all
177 GrGLInstalledXferProc* fXferProcessor; 174 GrGLInstalledXferProc* fXferProcessor;
178 SkAutoTUnref<GrGLInstalledFragProcs> fFragmentProcessors; 175 SkAutoTUnref<GrGLInstalledFragProcs> fFragmentProcessors;
179 176
180 GrGLGpu* fGpu; 177 GrGLGpu* fGpu;
181 UniformInfoArray fUniforms; 178 UniformInfoArray fUniforms;
182 GrGLPrimitiveProcessor::TransformsIn fCoordTransforms; 179 GrGLPrimitiveProcessor::TransformsIn fCoordTransforms;
183 GrGLPrimitiveProcessor::TransformsOut fOutCoords; 180 GrGLPrimitiveProcessor::TransformsOut fOutCoords;
184 SkTArray<UniformHandle> fSamplerUniforms; 181 SkTArray<UniformHandle> fSamplerUniforms;
185 SeparableVaryingInfoArray fSeparableVaryingInfos; 182 SeparableVaryingInfoArray fSeparableVaryingInfos;
186 183
187 friend class GrGLShaderBuilder; 184 friend class GrGLSLShaderBuilder;
188 friend class GrGLVertexBuilder; 185 friend class GrGLSLVertexBuilder;
189 friend class GrGLFragmentShaderBuilder; 186 friend class GrGLSLFragmentShaderBuilder;
190 friend class GrGLGeometryBuilder; 187 friend class GrGLSLGeometryBuilder;
191 188
192 typedef GrGLSLProgramBuilder INHERITED; 189 typedef GrGLSLProgramBuilder INHERITED;
193 }; 190 };
194 #endif 191 #endif
OLDNEW
« no previous file with comments | « src/gpu/gl/builders/GrGLGeometryShaderBuilder.cpp ('k') | src/gpu/gl/builders/GrGLProgramBuilder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698