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

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

Issue 755363002: remove proc key (Closed) Base URL: https://skia.googlesource.com/skia.git@fixkey
Patch Set: address nit Created 6 years 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/gl/GrGLProcessor.h ('k') | src/gpu/gl/builders/GrGLProgramBuilder.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 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
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 // origin_upper_left is not supported. 216 // origin_upper_left is not supported.
217 UniformHandle fRTHeightUni; 217 UniformHandle fRTHeightUni;
218 218
219 // Uniforms for computing texture coords to do the dst-copy lookup 219 // Uniforms for computing texture coords to do the dst-copy lookup
220 UniformHandle fDstCopyTopLeftUni; 220 UniformHandle fDstCopyTopLeftUni;
221 UniformHandle fDstCopyScaleUni; 221 UniformHandle fDstCopyScaleUni;
222 UniformHandle fDstCopySamplerUni; 222 UniformHandle fDstCopySamplerUni;
223 }; 223 };
224 224
225 protected: 225 protected:
226 typedef GrProgramDesc::ProcKeyProvider ProcKeyProvider;
227 typedef GrGLProgramDataManager::UniformInfo UniformInfo; 226 typedef GrGLProgramDataManager::UniformInfo UniformInfo;
228 typedef GrGLProgramDataManager::UniformInfoArray UniformInfoArray; 227 typedef GrGLProgramDataManager::UniformInfoArray UniformInfoArray;
229 228
230 static GrGLProgramBuilder* CreateProgramBuilder(const GrOptDrawState&, 229 static GrGLProgramBuilder* CreateProgramBuilder(const GrOptDrawState&,
231 GrGpu::DrawType, 230 GrGpu::DrawType,
232 bool hasGeometryProcessor, 231 bool hasGeometryProcessor,
233 GrGpuGL*); 232 GrGpuGL*);
234 233
235 GrGLProgramBuilder(GrGpuGL*, const GrOptDrawState&); 234 GrGLProgramBuilder(GrGpuGL*, const GrOptDrawState&);
236 235
237 const GrOptDrawState& optState() const { return fOptState; } 236 const GrOptDrawState& optState() const { return fOptState; }
238 const GrProgramDesc& desc() const { return fDesc; } 237 const GrProgramDesc& desc() const { return fDesc; }
239 const GrProgramDesc::KeyHeader& header() const { return fDesc.header(); } 238 const GrProgramDesc::KeyHeader& header() const { return fDesc.header(); }
240 239
241 // Generates a name for a variable. The generated string will be name prefix ed by the prefix 240 // Generates a name for a variable. The generated string will be name prefix ed by the prefix
242 // char (unless the prefix is '\0'). It also mangles the name to be stage-sp ecific if we're 241 // char (unless the prefix is '\0'). It also mangles the name to be stage-sp ecific if we're
243 // generating stage code. 242 // generating stage code.
244 void nameVariable(SkString* out, char prefix, const char* name); 243 void nameVariable(SkString* out, char prefix, const char* name);
245 void setupUniformColorAndCoverageIfNeeded(GrGLSLExpr4* inputColor, GrGLSLExp r1* inputCoverage); 244 void setupUniformColorAndCoverageIfNeeded(GrGLSLExpr4* inputColor, GrGLSLExp r1* inputCoverage);
246 void emitAndInstallProcs(GrGLSLExpr4* inputColor, 245 void emitAndInstallProcs(GrGLSLExpr4* inputColor,
247 GrGLSLExpr4* inputCoverage); 246 GrGLSLExpr4* inputCoverage);
248 void emitAndInstallFragProcs(int procOffset, int numProcs, GrGLSLExpr4* inOu t); 247 void emitAndInstallFragProcs(int procOffset, int numProcs, GrGLSLExpr4* inOu t);
249 template <class Proc> 248 template <class Proc>
250 void emitAndInstallProc(const Proc&, 249 void emitAndInstallProc(const Proc&,
251 int index, 250 int index,
252 const ProcKeyProvider&,
253 const GrGLSLExpr4& input, 251 const GrGLSLExpr4& input,
254 GrGLSLExpr4* output); 252 GrGLSLExpr4* output);
255 253
256 // these emit functions help to keep the createAndEmitProcessors template ge neral 254 // these emit functions help to keep the createAndEmitProcessors template ge neral
257 void emitAndInstallProc(const GrPendingFragmentStage&, 255 void emitAndInstallProc(const GrPendingFragmentStage&,
258 const GrProcessorKey&,
259 const char* outColor, 256 const char* outColor,
260 const char* inColor); 257 const char* inColor);
261 void emitAndInstallProc(const GrGeometryProcessor&, 258 void emitAndInstallProc(const GrGeometryProcessor&,
262 const GrProcessorKey&,
263 const char* outCoverage, 259 const char* outCoverage,
264 const char* inCoverage); 260 const char* inCoverage);
265 void verify(const GrGeometryProcessor&); 261 void verify(const GrGeometryProcessor&);
266 void verify(const GrFragmentProcessor&); 262 void verify(const GrFragmentProcessor&);
267 void emitSamplers(const GrProcessor&, 263 void emitSamplers(const GrProcessor&,
268 GrGLProcessor::TextureSamplerArray* outSamplers, 264 GrGLProcessor::TextureSamplerArray* outSamplers,
269 GrGLInstalledProc*); 265 GrGLInstalledProc*);
270 266
271 // each specific program builder has a distinct transform and must override this function 267 // each specific program builder has a distinct transform and must override this function
272 virtual void emitTransforms(const GrPendingFragmentStage&, 268 virtual void emitTransforms(const GrPendingFragmentStage&,
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 SkSTArray<2, Transform, true> fTransforms; 399 SkSTArray<2, Transform, true> fTransforms;
404 bool fLocalCoordAttrib; 400 bool fLocalCoordAttrib;
405 }; 401 };
406 402
407 struct GrGLInstalledFragProcs : public SkRefCnt { 403 struct GrGLInstalledFragProcs : public SkRefCnt {
408 virtual ~GrGLInstalledFragProcs(); 404 virtual ~GrGLInstalledFragProcs();
409 SkSTArray<8, GrGLInstalledFragProc*, true> fProcs; 405 SkSTArray<8, GrGLInstalledFragProc*, true> fProcs;
410 }; 406 };
411 407
412 #endif 408 #endif
OLDNEW
« no previous file with comments | « src/gpu/gl/GrGLProcessor.h ('k') | src/gpu/gl/builders/GrGLProgramBuilder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698