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

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

Issue 582963002: Solo gp (Closed) Base URL: https://skia.googlesource.com/skia.git@no_peb
Patch Set: rebase Created 6 years, 2 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/gl/GrGpuGL_program.cpp ('k') | src/gpu/gl/builders/GrGLFragmentOnlyProgramBuilder.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 GrGLFragmentOnlyProgramBuilder_DEFINED 8 #ifndef GrGLFragmentOnlyProgramBuilder_DEFINED
9 #define GrGLFragmentOnlyProgramBuilder_DEFINED 9 #define GrGLFragmentOnlyProgramBuilder_DEFINED
10 10
11 #include "GrGLProgramBuilder.h" 11 #include "GrGLProgramBuilder.h"
12 12
13 class GrGLFragmentOnlyProgramBuilder : public GrGLProgramBuilder { 13 class GrGLFragmentOnlyProgramBuilder : public GrGLProgramBuilder {
14 public: 14 public:
15 GrGLFragmentOnlyProgramBuilder(GrGpuGL*, const GrGLProgramDesc&); 15 GrGLFragmentOnlyProgramBuilder(GrGpuGL*, const GrGLProgramDesc&);
16 16
17 int addTexCoordSets(int count); 17 int addTexCoordSets(int count);
18 18
19 private: 19 private:
20 virtual void createAndEmitEffects(const GrEffectStage* geometryProcessor, 20 virtual void createAndEmitEffects(const GrGeometryStage* geometryProcessor,
21 const GrEffectStage* colorStages[], 21 const GrFragmentStage* colorStages[],
22 const GrEffectStage* coverageStages[], 22 const GrFragmentStage* coverageStages[],
23 GrGLSLExpr4* inputColor, 23 GrGLSLExpr4* inputColor,
24 GrGLSLExpr4* inputCoverage) SK_OVERRIDE; 24 GrGLSLExpr4* inputCoverage) SK_OVERRIDE;
25 25
26 GrGLProgramEffects* onCreateAndEmitEffects(const GrEffectStage* effectStages [], 26 GrGLProgramEffects* onCreateAndEmitEffects(const GrFragmentStage* effectStag es[],
27 int effectCnt, 27 int effectCnt,
28 const GrGLProgramDesc::EffectKeyP rovider&, 28 const GrGLProgramDesc::EffectKeyP rovider&,
29 GrGLSLExpr4* inOutFSColor); 29 GrGLSLExpr4* inOutFSColor);
30 30
31 virtual void emitEffect(const GrEffectStage& stage, 31 virtual void emitEffect(const GrProcessorStage& stage,
32 const GrEffectKey& key, 32 const GrProcessorKey& key,
33 const char* outColor, 33 const char* outColor,
34 const char* inColor, 34 const char* inColor,
35 int stageIndex) SK_OVERRIDE; 35 int stageIndex) SK_OVERRIDE;
36 36
37 /** 37 /**
38 * Helper for emitEffect(). Allocates texture units from the builder for eac h transform in an 38 * Helper for emitEffect(). Allocates texture units from the builder for eac h transform in an
39 * effect. The transforms all use adjacent texture units. They either use tw o or three of the 39 * effect. The transforms all use adjacent texture units. They either use tw o or three of the
40 * coordinates at a given texture unit, depending on if they need perspectiv e interpolation. 40 * coordinates at a given texture unit, depending on if they need perspectiv e interpolation.
41 * The expressions to access the transformed coords (i.e. 'vec2(gl_TexCoord[ 0])') as well as the 41 * The expressions to access the transformed coords (i.e. 'vec2(gl_TexCoord[ 0])') as well as the
42 * types are appended to the TransformedCoordsArray* object, which is in tur n passed to the 42 * types are appended to the TransformedCoordsArray* object, which is in tur n passed to the
43 * effect's emitCode() function. 43 * effect's emitCode() function.
44 */ 44 */
45 void setupPathTexGen(const GrEffectStage&, GrGLEffect::TransformedCoordsArra y*); 45 void setupPathTexGen(const GrProcessorStage&, GrGLProcessor::TransformedCoor dsArray*);
46 46
47 virtual GrGLProgramEffects* getProgramEffects() SK_OVERRIDE { return fProgra mEffects.get(); } 47 virtual GrGLProgramEffects* getProgramEffects() SK_OVERRIDE { return fProgra mEffects.get(); }
48 48
49 typedef GrGLProgramDesc::EffectKeyProvider EffectKeyProvider; 49 typedef GrGLProgramDesc::EffectKeyProvider EffectKeyProvider;
50 50
51 SkAutoTDelete<GrGLPathTexGenProgramEffects> fProgramEffects; 51 SkAutoTDelete<GrGLPathTexGenProgramEffects> fProgramEffects;
52 52
53 typedef GrGLProgramBuilder INHERITED; 53 typedef GrGLProgramBuilder INHERITED;
54 }; 54 };
55 55
56 #endif 56 #endif
OLDNEW
« no previous file with comments | « src/gpu/gl/GrGpuGL_program.cpp ('k') | src/gpu/gl/builders/GrGLFragmentOnlyProgramBuilder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698