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

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

Issue 761563002: First step to moving vertex attributes to the geometryProcessor (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: adding test to ignore 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/GrProgramDesc.h ('k') | src/gpu/effects/GrBezierEffect.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 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 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 return gConicFillBW; 81 return gConicFillBW;
82 default: 82 default:
83 return NULL; 83 return NULL;
84 } 84 }
85 } 85 }
86 86
87 virtual ~GrConicEffect(); 87 virtual ~GrConicEffect();
88 88
89 static const char* Name() { return "Conic"; } 89 static const char* Name() { return "Conic"; }
90 90
91 inline const GrShaderVar& inConicCoeffs() const { return fInConicCoeffs; } 91 inline const GrAttribute* inPosition() const { return fInPosition; }
92 inline const GrAttribute* inConicCoeffs() const { return fInConicCoeffs; }
92 inline bool isAntiAliased() const { return GrProcessorEdgeTypeIsAA(fEdgeType ); } 93 inline bool isAntiAliased() const { return GrProcessorEdgeTypeIsAA(fEdgeType ); }
93 inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType); } 94 inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType); }
94 inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; } 95 inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; }
95 96
96 typedef GrGLConicEffect GLProcessor; 97 typedef GrGLConicEffect GLProcessor;
97 98
98 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR IDE; 99 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR IDE;
99 100
100 private: 101 private:
101 GrConicEffect(GrPrimitiveEdgeType); 102 GrConicEffect(GrPrimitiveEdgeType);
102 103
103 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; 104 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE;
104 105
105 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE RRIDE { 106 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE RRIDE {
106 inout->mulByUnknownAlpha(); 107 inout->mulByUnknownAlpha();
107 } 108 }
108 109
109 GrPrimitiveEdgeType fEdgeType; 110 GrPrimitiveEdgeType fEdgeType;
110 const GrShaderVar& fInConicCoeffs; 111 const GrAttribute* fInPosition;
112 const GrAttribute* fInConicCoeffs;
111 113
112 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; 114 GR_DECLARE_GEOMETRY_PROCESSOR_TEST;
113 115
114 typedef GrGeometryProcessor INHERITED; 116 typedef GrGeometryProcessor INHERITED;
115 }; 117 };
116 118
117 /////////////////////////////////////////////////////////////////////////////// 119 ///////////////////////////////////////////////////////////////////////////////
118 /** 120 /**
119 * The output of this effect is a hairline edge for quadratics. 121 * The output of this effect is a hairline edge for quadratics.
120 * Quadratic specified by 0=u^2-v canonical coords. u and v are the first 122 * Quadratic specified by 0=u^2-v canonical coords. u and v are the first
(...skipping 29 matching lines...) Expand all
150 return gQuadFillBW; 152 return gQuadFillBW;
151 default: 153 default:
152 return NULL; 154 return NULL;
153 } 155 }
154 } 156 }
155 157
156 virtual ~GrQuadEffect(); 158 virtual ~GrQuadEffect();
157 159
158 static const char* Name() { return "Quad"; } 160 static const char* Name() { return "Quad"; }
159 161
160 inline const GrShaderVar& inHairQuadEdge() const { return fInHairQuadEdge; } 162 inline const GrAttribute* inPosition() const { return fInPosition; }
163 inline const GrAttribute* inHairQuadEdge() const { return fInHairQuadEdge; }
161 inline bool isAntiAliased() const { return GrProcessorEdgeTypeIsAA(fEdgeType ); } 164 inline bool isAntiAliased() const { return GrProcessorEdgeTypeIsAA(fEdgeType ); }
162 inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType); } 165 inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType); }
163 inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; } 166 inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; }
164 167
165 typedef GrGLQuadEffect GLProcessor; 168 typedef GrGLQuadEffect GLProcessor;
166 169
167 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR IDE; 170 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR IDE;
168 171
169 private: 172 private:
170 GrQuadEffect(GrPrimitiveEdgeType); 173 GrQuadEffect(GrPrimitiveEdgeType);
171 174
172 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; 175 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE;
173 176
174 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE RRIDE { 177 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE RRIDE {
175 inout->mulByUnknownAlpha(); 178 inout->mulByUnknownAlpha();
176 } 179 }
177 180
178 GrPrimitiveEdgeType fEdgeType; 181 GrPrimitiveEdgeType fEdgeType;
179 const GrShaderVar& fInHairQuadEdge; 182 const GrAttribute* fInPosition;
183 const GrAttribute* fInHairQuadEdge;
180 184
181 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; 185 GR_DECLARE_GEOMETRY_PROCESSOR_TEST;
182 186
183 typedef GrGeometryProcessor INHERITED; 187 typedef GrGeometryProcessor INHERITED;
184 }; 188 };
185 189
186 ////////////////////////////////////////////////////////////////////////////// 190 //////////////////////////////////////////////////////////////////////////////
187 /** 191 /**
188 * Shader is based off of "Resolution Independent Curve Rendering using 192 * Shader is based off of "Resolution Independent Curve Rendering using
189 * Programmable Graphics Hardware" by Loop and Blinn. 193 * Programmable Graphics Hardware" by Loop and Blinn.
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 return gCubicFillBW; 225 return gCubicFillBW;
222 default: 226 default:
223 return NULL; 227 return NULL;
224 } 228 }
225 } 229 }
226 230
227 virtual ~GrCubicEffect(); 231 virtual ~GrCubicEffect();
228 232
229 static const char* Name() { return "Cubic"; } 233 static const char* Name() { return "Cubic"; }
230 234
231 inline const GrShaderVar& inCubicCoeffs() const { return fInCubicCoeffs; } 235 inline const GrAttribute* inPosition() const { return fInPosition; }
236 inline const GrAttribute* inCubicCoeffs() const { return fInCubicCoeffs; }
232 inline bool isAntiAliased() const { return GrProcessorEdgeTypeIsAA(fEdgeType ); } 237 inline bool isAntiAliased() const { return GrProcessorEdgeTypeIsAA(fEdgeType ); }
233 inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType); } 238 inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType); }
234 inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; } 239 inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; }
235 240
236 typedef GrGLCubicEffect GLProcessor; 241 typedef GrGLCubicEffect GLProcessor;
237 242
238 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR IDE; 243 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR IDE;
239 244
240 private: 245 private:
241 GrCubicEffect(GrPrimitiveEdgeType); 246 GrCubicEffect(GrPrimitiveEdgeType);
242 247
243 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; 248 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE;
244 249
245 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE RRIDE { 250 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE RRIDE {
246 inout->mulByUnknownAlpha(); 251 inout->mulByUnknownAlpha();
247 } 252 }
248 253
249 GrPrimitiveEdgeType fEdgeType; 254 GrPrimitiveEdgeType fEdgeType;
250 const GrShaderVar& fInCubicCoeffs; 255 const GrAttribute* fInPosition;
256 const GrAttribute* fInCubicCoeffs;
251 257
252 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; 258 GR_DECLARE_GEOMETRY_PROCESSOR_TEST;
253 259
254 typedef GrGeometryProcessor INHERITED; 260 typedef GrGeometryProcessor INHERITED;
255 }; 261 };
256 262
257 #endif 263 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrProgramDesc.h ('k') | src/gpu/effects/GrBezierEffect.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698