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

Side by Side Diff: src/gpu/effects/GrBezierEffect.h

Issue 749413003: get rid of static gps (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: cleanup remove static procs 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/GrOvalRenderer.cpp ('k') | no next file » | 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 2013 Google Inc. 2 * Copyright 2013 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 GrBezierEffect_DEFINED 8 #ifndef GrBezierEffect_DEFINED
9 #define GrBezierEffect_DEFINED 9 #define GrBezierEffect_DEFINED
10 10
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 * were "not too thin" curves and ellipses then 2nd order may have an advantage since 53 * were "not too thin" curves and ellipses then 2nd order may have an advantage since
54 * only one geometry would need to be rendered. However no benches were run comp aring 54 * only one geometry would need to be rendered. However no benches were run comp aring
55 * chopped first order and non chopped 2nd order. 55 * chopped first order and non chopped 2nd order.
56 */ 56 */
57 class GrGLConicEffect; 57 class GrGLConicEffect;
58 58
59 class GrConicEffect : public GrGeometryProcessor { 59 class GrConicEffect : public GrGeometryProcessor {
60 public: 60 public:
61 static GrGeometryProcessor* Create(const GrPrimitiveEdgeType edgeType, 61 static GrGeometryProcessor* Create(const GrPrimitiveEdgeType edgeType,
62 const GrDrawTargetCaps& caps) { 62 const GrDrawTargetCaps& caps) {
63 GR_CREATE_STATIC_PROCESSOR(gConicFillAA, GrConicEffect, (kFillAA_GrProce ssorEdgeType));
64 GR_CREATE_STATIC_PROCESSOR(gConicHairAA, GrConicEffect, (kHairlineAA_GrP rocessorEdgeType));
65 GR_CREATE_STATIC_PROCESSOR(gConicFillBW, GrConicEffect, (kFillBW_GrProce ssorEdgeType));
66 switch (edgeType) { 63 switch (edgeType) {
67 case kFillAA_GrProcessorEdgeType: 64 case kFillAA_GrProcessorEdgeType:
68 if (!caps.shaderDerivativeSupport()) { 65 if (!caps.shaderDerivativeSupport()) {
69 return NULL; 66 return NULL;
70 } 67 }
71 gConicFillAA->ref(); 68 return SkNEW_ARGS(GrConicEffect, (kFillAA_GrProcessorEdgeType));
72 return gConicFillAA;
73 case kHairlineAA_GrProcessorEdgeType: 69 case kHairlineAA_GrProcessorEdgeType:
74 if (!caps.shaderDerivativeSupport()) { 70 if (!caps.shaderDerivativeSupport()) {
75 return NULL; 71 return NULL;
76 } 72 }
77 gConicHairAA->ref(); 73 return SkNEW_ARGS(GrConicEffect, (kHairlineAA_GrProcessorEdgeTyp e));
78 return gConicHairAA;
79 case kFillBW_GrProcessorEdgeType: 74 case kFillBW_GrProcessorEdgeType:
80 gConicFillBW->ref(); 75 return SkNEW_ARGS(GrConicEffect, (kFillBW_GrProcessorEdgeType)); ;
81 return gConicFillBW;
82 default: 76 default:
83 return NULL; 77 return NULL;
84 } 78 }
85 } 79 }
86 80
87 virtual ~GrConicEffect(); 81 virtual ~GrConicEffect();
88 82
89 virtual const char* name() const SK_OVERRIDE { return "Conic"; } 83 virtual const char* name() const SK_OVERRIDE { return "Conic"; }
90 84
91 inline const GrAttribute* inPosition() const { return fInPosition; } 85 inline const GrAttribute* inPosition() const { return fInPosition; }
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 * the Quadratic, u, v have the values {0,0}, {1/2, 0}, and {1, 1} respectively. 120 * the Quadratic, u, v have the values {0,0}, {1/2, 0}, and {1, 1} respectively.
127 * Coverage for AA is min(0, 1-distance). 3rd & 4th cimponent unused. 121 * Coverage for AA is min(0, 1-distance). 3rd & 4th cimponent unused.
128 * Requires shader derivative instruction support. 122 * Requires shader derivative instruction support.
129 */ 123 */
130 class GrGLQuadEffect; 124 class GrGLQuadEffect;
131 125
132 class GrQuadEffect : public GrGeometryProcessor { 126 class GrQuadEffect : public GrGeometryProcessor {
133 public: 127 public:
134 static GrGeometryProcessor* Create(const GrPrimitiveEdgeType edgeType, 128 static GrGeometryProcessor* Create(const GrPrimitiveEdgeType edgeType,
135 const GrDrawTargetCaps& caps) { 129 const GrDrawTargetCaps& caps) {
136 GR_CREATE_STATIC_PROCESSOR(gQuadFillAA, GrQuadEffect, (kFillAA_GrProcess orEdgeType));
137 GR_CREATE_STATIC_PROCESSOR(gQuadHairAA, GrQuadEffect, (kHairlineAA_GrPro cessorEdgeType));
138 GR_CREATE_STATIC_PROCESSOR(gQuadFillBW, GrQuadEffect, (kFillBW_GrProcess orEdgeType));
139 switch (edgeType) { 130 switch (edgeType) {
140 case kFillAA_GrProcessorEdgeType: 131 case kFillAA_GrProcessorEdgeType:
141 if (!caps.shaderDerivativeSupport()) { 132 if (!caps.shaderDerivativeSupport()) {
142 return NULL; 133 return NULL;
143 } 134 }
144 gQuadFillAA->ref(); 135 return SkNEW_ARGS(GrQuadEffect, (kFillAA_GrProcessorEdgeType));
145 return gQuadFillAA;
146 case kHairlineAA_GrProcessorEdgeType: 136 case kHairlineAA_GrProcessorEdgeType:
147 if (!caps.shaderDerivativeSupport()) { 137 if (!caps.shaderDerivativeSupport()) {
148 return NULL; 138 return NULL;
149 } 139 }
150 gQuadHairAA->ref(); 140 return SkNEW_ARGS(GrQuadEffect, (kHairlineAA_GrProcessorEdgeType ));
151 return gQuadHairAA;
152 case kFillBW_GrProcessorEdgeType: 141 case kFillBW_GrProcessorEdgeType:
153 gQuadFillBW->ref(); 142 return SkNEW_ARGS(GrQuadEffect, (kFillBW_GrProcessorEdgeType));
154 return gQuadFillBW;
155 default: 143 default:
156 return NULL; 144 return NULL;
157 } 145 }
158 } 146 }
159 147
160 virtual ~GrQuadEffect(); 148 virtual ~GrQuadEffect();
161 149
162 virtual const char* name() const SK_OVERRIDE { return "Quad"; } 150 virtual const char* name() const SK_OVERRIDE { return "Quad"; }
163 151
164 inline const GrAttribute* inPosition() const { return fInPosition; } 152 inline const GrAttribute* inPosition() const { return fInPosition; }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 * the fourth value is not used. Distance is calculated using a 189 * the fourth value is not used. Distance is calculated using a
202 * first order approximation from the taylor series. 190 * first order approximation from the taylor series.
203 * Coverage for AA is max(0, 1-distance). 191 * Coverage for AA is max(0, 1-distance).
204 */ 192 */
205 class GrGLCubicEffect; 193 class GrGLCubicEffect;
206 194
207 class GrCubicEffect : public GrGeometryProcessor { 195 class GrCubicEffect : public GrGeometryProcessor {
208 public: 196 public:
209 static GrGeometryProcessor* Create(const GrPrimitiveEdgeType edgeType, 197 static GrGeometryProcessor* Create(const GrPrimitiveEdgeType edgeType,
210 const GrDrawTargetCaps& caps) { 198 const GrDrawTargetCaps& caps) {
211 GR_CREATE_STATIC_PROCESSOR(gCubicFillAA, GrCubicEffect, (kFillAA_GrProce ssorEdgeType));
212 GR_CREATE_STATIC_PROCESSOR(gCubicHairAA, GrCubicEffect, (kHairlineAA_GrP rocessorEdgeType));
213 GR_CREATE_STATIC_PROCESSOR(gCubicFillBW, GrCubicEffect, (kFillBW_GrProce ssorEdgeType));
214 switch (edgeType) { 199 switch (edgeType) {
215 case kFillAA_GrProcessorEdgeType: 200 case kFillAA_GrProcessorEdgeType:
216 if (!caps.shaderDerivativeSupport()) { 201 if (!caps.shaderDerivativeSupport()) {
217 return NULL; 202 return NULL;
218 } 203 }
219 gCubicFillAA->ref(); 204 return SkNEW_ARGS(GrCubicEffect, (kFillAA_GrProcessorEdgeType));
220 return gCubicFillAA;
221 case kHairlineAA_GrProcessorEdgeType: 205 case kHairlineAA_GrProcessorEdgeType:
222 if (!caps.shaderDerivativeSupport()) { 206 if (!caps.shaderDerivativeSupport()) {
223 return NULL; 207 return NULL;
224 } 208 }
225 gCubicHairAA->ref(); 209 return SkNEW_ARGS(GrCubicEffect, (kHairlineAA_GrProcessorEdgeTyp e));
226 return gCubicHairAA;
227 case kFillBW_GrProcessorEdgeType: 210 case kFillBW_GrProcessorEdgeType:
228 gCubicFillBW->ref(); 211 return SkNEW_ARGS(GrCubicEffect, (kFillBW_GrProcessorEdgeType));
229 return gCubicFillBW;
230 default: 212 default:
231 return NULL; 213 return NULL;
232 } 214 }
233 } 215 }
234 216
235 virtual ~GrCubicEffect(); 217 virtual ~GrCubicEffect();
236 218
237 virtual const char* name() const SK_OVERRIDE { return "Cubic"; } 219 virtual const char* name() const SK_OVERRIDE { return "Cubic"; }
238 220
239 inline const GrAttribute* inPosition() const { return fInPosition; } 221 inline const GrAttribute* inPosition() const { return fInPosition; }
(...skipping 20 matching lines...) Expand all
260 GrPrimitiveEdgeType fEdgeType; 242 GrPrimitiveEdgeType fEdgeType;
261 const GrAttribute* fInPosition; 243 const GrAttribute* fInPosition;
262 const GrAttribute* fInCubicCoeffs; 244 const GrAttribute* fInCubicCoeffs;
263 245
264 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; 246 GR_DECLARE_GEOMETRY_PROCESSOR_TEST;
265 247
266 typedef GrGeometryProcessor INHERITED; 248 typedef GrGeometryProcessor INHERITED;
267 }; 249 };
268 250
269 #endif 251 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrOvalRenderer.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698