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

Side by Side Diff: src/gpu/GrOvalRenderer.cpp

Issue 1332923003: Remove batchtracker (Closed) Base URL: https://skia.googlesource.com/skia.git@latecreatepathprocessor
Patch Set: tweaks Created 5 years, 3 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
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 #include "GrOvalRenderer.h" 8 #include "GrOvalRenderer.h"
9 9
10 #include "GrBatchFlushState.h" 10 #include "GrBatchFlushState.h"
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 const SkMatrix& localMatrix() const { return fLocalMatrix; } 82 const SkMatrix& localMatrix() const { return fLocalMatrix; }
83 bool usesLocalCoords() const { return fUsesLocalCoords; } 83 bool usesLocalCoords() const { return fUsesLocalCoords; }
84 virtual ~CircleEdgeEffect() {} 84 virtual ~CircleEdgeEffect() {}
85 85
86 const char* name() const override { return "CircleEdge"; } 86 const char* name() const override { return "CircleEdge"; }
87 87
88 inline bool isStroked() const { return fStroke; } 88 inline bool isStroked() const { return fStroke; }
89 89
90 class GLProcessor : public GrGLGeometryProcessor { 90 class GLProcessor : public GrGLGeometryProcessor {
91 public: 91 public:
92 GLProcessor(const GrGeometryProcessor&, 92 GLProcessor()
93 const GrBatchTracker&)
94 : fColor(GrColor_ILLEGAL) {} 93 : fColor(GrColor_ILLEGAL) {}
95 94
96 void onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) override{ 95 void onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) override{
97 const CircleEdgeEffect& ce = args.fGP.cast<CircleEdgeEffect>(); 96 const CircleEdgeEffect& ce = args.fGP.cast<CircleEdgeEffect>();
98 GrGLGPBuilder* pb = args.fPB; 97 GrGLGPBuilder* pb = args.fPB;
99 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); 98 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();
100 99
101 // emit attributes 100 // emit attributes
102 vsBuilder->emitAttributes(ce); 101 vsBuilder->emitAttributes(ce);
103 102
(...skipping 19 matching lines...) Expand all
123 if (ce.isStroked()) { 122 if (ce.isStroked()) {
124 fsBuilder->codeAppendf("float innerAlpha = clamp(%s.z * (d - %s. w), 0.0, 1.0);", 123 fsBuilder->codeAppendf("float innerAlpha = clamp(%s.z * (d - %s. w), 0.0, 1.0);",
125 v.fsIn(), v.fsIn()); 124 v.fsIn(), v.fsIn());
126 fsBuilder->codeAppend("edgeAlpha *= innerAlpha;"); 125 fsBuilder->codeAppend("edgeAlpha *= innerAlpha;");
127 } 126 }
128 127
129 fsBuilder->codeAppendf("%s = vec4(edgeAlpha);", args.fOutputCoverage ); 128 fsBuilder->codeAppendf("%s = vec4(edgeAlpha);", args.fOutputCoverage );
130 } 129 }
131 130
132 static void GenKey(const GrGeometryProcessor& gp, 131 static void GenKey(const GrGeometryProcessor& gp,
133 const GrBatchTracker& bt,
134 const GrGLSLCaps&, 132 const GrGLSLCaps&,
135 GrProcessorKeyBuilder* b) { 133 GrProcessorKeyBuilder* b) {
136 const CircleEdgeEffect& ce = gp.cast<CircleEdgeEffect>(); 134 const CircleEdgeEffect& ce = gp.cast<CircleEdgeEffect>();
137 uint16_t key = ce.isStroked() ? 0x1 : 0x0; 135 uint16_t key = ce.isStroked() ? 0x1 : 0x0;
138 key |= ce.usesLocalCoords() && ce.localMatrix().hasPerspective() ? 0 x2 : 0x0; 136 key |= ce.usesLocalCoords() && ce.localMatrix().hasPerspective() ? 0 x2 : 0x0;
139 key |= ce.colorIgnored() ? 0x4 : 0x0; 137 key |= ce.colorIgnored() ? 0x4 : 0x0;
140 b->add32(key); 138 b->add32(key);
141 } 139 }
142 140
143 virtual void setData(const GrGLProgramDataManager& pdman, 141 virtual void setData(const GrGLProgramDataManager& pdman,
144 const GrPrimitiveProcessor& gp, 142 const GrPrimitiveProcessor& gp) override {
145 const GrBatchTracker& bt) override {
146 const CircleEdgeEffect& ce = gp.cast<CircleEdgeEffect>(); 143 const CircleEdgeEffect& ce = gp.cast<CircleEdgeEffect>();
147 if (ce.color() != fColor) { 144 if (ce.color() != fColor) {
148 GrGLfloat c[4]; 145 GrGLfloat c[4];
149 GrColorToRGBAFloat(ce.color(), c); 146 GrColorToRGBAFloat(ce.color(), c);
150 pdman.set4fv(fColorUniform, 1, c); 147 pdman.set4fv(fColorUniform, 1, c);
151 fColor = ce.color(); 148 fColor = ce.color();
152 } 149 }
153 } 150 }
154 151
155 void setTransformData(const GrPrimitiveProcessor& primProc, 152 void setTransformData(const GrPrimitiveProcessor& primProc,
156 const GrGLProgramDataManager& pdman, 153 const GrGLProgramDataManager& pdman,
157 int index, 154 int index,
158 const SkTArray<const GrCoordTransform*, true>& tra nsforms) override { 155 const SkTArray<const GrCoordTransform*, true>& tra nsforms) override {
159 this->setTransformDataHelper<CircleEdgeEffect>(primProc, pdman, inde x, transforms); 156 this->setTransformDataHelper<CircleEdgeEffect>(primProc, pdman, inde x, transforms);
160 } 157 }
161 158
162 private: 159 private:
163 GrColor fColor; 160 GrColor fColor;
164 UniformHandle fColorUniform; 161 UniformHandle fColorUniform;
165 typedef GrGLGeometryProcessor INHERITED; 162 typedef GrGLGeometryProcessor INHERITED;
166 }; 163 };
167 164
168 virtual void getGLProcessorKey(const GrBatchTracker& bt, 165 virtual void getGLProcessorKey(const GrGLSLCaps& caps,
169 const GrGLSLCaps& caps,
170 GrProcessorKeyBuilder* b) const override { 166 GrProcessorKeyBuilder* b) const override {
171 GLProcessor::GenKey(*this, bt, caps, b); 167 GLProcessor::GenKey(*this, caps, b);
172 } 168 }
173 169
174 virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt, 170 virtual GrGLPrimitiveProcessor* createGLInstance(const GrGLSLCaps&) const ov erride {
bsalomon 2015/09/10 18:55:30 -virtual
joshualitt 2015/09/10 20:08:05 Acknowledged.
175 const GrGLSLCaps&) const ov erride { 171 return new GLProcessor();
176 return new GLProcessor(*this, bt);
177 } 172 }
178 173
179 private: 174 private:
180 CircleEdgeEffect(GrColor color, bool stroke, const SkMatrix& localMatrix, bo ol usesLocalCoords) 175 CircleEdgeEffect(GrColor color, bool stroke, const SkMatrix& localMatrix, bo ol usesLocalCoords)
181 : fColor(color) 176 : fColor(color)
182 , fLocalMatrix(localMatrix) 177 , fLocalMatrix(localMatrix)
183 , fUsesLocalCoords(usesLocalCoords) { 178 , fUsesLocalCoords(usesLocalCoords) {
184 this->initClassID<CircleEdgeEffect>(); 179 this->initClassID<CircleEdgeEffect>();
185 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVe rtexAttribType, 180 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVe rtexAttribType,
186 kHigh_GrSLPrecision)); 181 kHigh_GrSLPrecision));
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 const Attribute* inEllipseRadii() const { return fInEllipseRadii; } 231 const Attribute* inEllipseRadii() const { return fInEllipseRadii; }
237 GrColor color() const { return fColor; } 232 GrColor color() const { return fColor; }
238 bool colorIgnored() const { return GrColor_ILLEGAL == fColor; } 233 bool colorIgnored() const { return GrColor_ILLEGAL == fColor; }
239 const SkMatrix& localMatrix() const { return fLocalMatrix; } 234 const SkMatrix& localMatrix() const { return fLocalMatrix; }
240 bool usesLocalCoords() const { return fUsesLocalCoords; } 235 bool usesLocalCoords() const { return fUsesLocalCoords; }
241 236
242 inline bool isStroked() const { return fStroke; } 237 inline bool isStroked() const { return fStroke; }
243 238
244 class GLProcessor : public GrGLGeometryProcessor { 239 class GLProcessor : public GrGLGeometryProcessor {
245 public: 240 public:
246 GLProcessor(const GrGeometryProcessor&, 241 GLProcessor()
247 const GrBatchTracker&)
248 : fColor(GrColor_ILLEGAL) {} 242 : fColor(GrColor_ILLEGAL) {}
249 243
250 void onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) override{ 244 void onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) override{
251 const EllipseEdgeEffect& ee = args.fGP.cast<EllipseEdgeEffect>(); 245 const EllipseEdgeEffect& ee = args.fGP.cast<EllipseEdgeEffect>();
252 GrGLGPBuilder* pb = args.fPB; 246 GrGLGPBuilder* pb = args.fPB;
253 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); 247 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();
254 248
255 // emit attributes 249 // emit attributes
256 vsBuilder->emitAttributes(ee); 250 vsBuilder->emitAttributes(ee);
257 251
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 fsBuilder->codeAppendf("grad = 2.0*scaledOffset*%s.zw;", 292 fsBuilder->codeAppendf("grad = 2.0*scaledOffset*%s.zw;",
299 ellipseRadii.fsIn()); 293 ellipseRadii.fsIn());
300 fsBuilder->codeAppend("invlen = inversesqrt(dot(grad, grad));"); 294 fsBuilder->codeAppend("invlen = inversesqrt(dot(grad, grad));");
301 fsBuilder->codeAppend("edgeAlpha *= clamp(0.5+test*invlen, 0.0, 1.0);"); 295 fsBuilder->codeAppend("edgeAlpha *= clamp(0.5+test*invlen, 0.0, 1.0);");
302 } 296 }
303 297
304 fsBuilder->codeAppendf("%s = vec4(edgeAlpha);", args.fOutputCoverage ); 298 fsBuilder->codeAppendf("%s = vec4(edgeAlpha);", args.fOutputCoverage );
305 } 299 }
306 300
307 static void GenKey(const GrGeometryProcessor& gp, 301 static void GenKey(const GrGeometryProcessor& gp,
308 const GrBatchTracker& bt,
309 const GrGLSLCaps&, 302 const GrGLSLCaps&,
310 GrProcessorKeyBuilder* b) { 303 GrProcessorKeyBuilder* b) {
311 const EllipseEdgeEffect& ee = gp.cast<EllipseEdgeEffect>(); 304 const EllipseEdgeEffect& ee = gp.cast<EllipseEdgeEffect>();
312 uint16_t key = ee.isStroked() ? 0x1 : 0x0; 305 uint16_t key = ee.isStroked() ? 0x1 : 0x0;
313 key |= ee.usesLocalCoords() && ee.localMatrix().hasPerspective() ? 0 x2 : 0x0; 306 key |= ee.usesLocalCoords() && ee.localMatrix().hasPerspective() ? 0 x2 : 0x0;
314 key |= ee.colorIgnored() ? 0x4 : 0x0; 307 key |= ee.colorIgnored() ? 0x4 : 0x0;
315 b->add32(key); 308 b->add32(key);
316 } 309 }
317 310
318 virtual void setData(const GrGLProgramDataManager& pdman, 311 virtual void setData(const GrGLProgramDataManager& pdman,
319 const GrPrimitiveProcessor& gp, 312 const GrPrimitiveProcessor& gp) override {
320 const GrBatchTracker& bt) override {
321 const EllipseEdgeEffect& ee = gp.cast<EllipseEdgeEffect>(); 313 const EllipseEdgeEffect& ee = gp.cast<EllipseEdgeEffect>();
322 if (ee.color() != fColor) { 314 if (ee.color() != fColor) {
323 GrGLfloat c[4]; 315 GrGLfloat c[4];
324 GrColorToRGBAFloat(ee.color(), c); 316 GrColorToRGBAFloat(ee.color(), c);
325 pdman.set4fv(fColorUniform, 1, c); 317 pdman.set4fv(fColorUniform, 1, c);
326 fColor = ee.color(); 318 fColor = ee.color();
327 } 319 }
328 } 320 }
329 321
330 void setTransformData(const GrPrimitiveProcessor& primProc, 322 void setTransformData(const GrPrimitiveProcessor& primProc,
331 const GrGLProgramDataManager& pdman, 323 const GrGLProgramDataManager& pdman,
332 int index, 324 int index,
333 const SkTArray<const GrCoordTransform*, true>& tra nsforms) override { 325 const SkTArray<const GrCoordTransform*, true>& tra nsforms) override {
334 this->setTransformDataHelper<EllipseEdgeEffect>(primProc, pdman, ind ex, transforms); 326 this->setTransformDataHelper<EllipseEdgeEffect>(primProc, pdman, ind ex, transforms);
335 } 327 }
336 328
337 private: 329 private:
338 GrColor fColor; 330 GrColor fColor;
339 UniformHandle fColorUniform; 331 UniformHandle fColorUniform;
340 332
341 typedef GrGLGeometryProcessor INHERITED; 333 typedef GrGLGeometryProcessor INHERITED;
342 }; 334 };
343 335
344 virtual void getGLProcessorKey(const GrBatchTracker& bt, 336 virtual void getGLProcessorKey(const GrGLSLCaps& caps,
345 const GrGLSLCaps& caps,
346 GrProcessorKeyBuilder* b) const override { 337 GrProcessorKeyBuilder* b) const override {
347 GLProcessor::GenKey(*this, bt, caps, b); 338 GLProcessor::GenKey(*this, caps, b);
348 } 339 }
349 340
350 virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt, 341 virtual GrGLPrimitiveProcessor* createGLInstance(const GrGLSLCaps&) const ov erride {
bsalomon 2015/09/10 18:55:30 -virtual?
joshualitt 2015/09/10 20:08:04 Acknowledged.
351 const GrGLSLCaps&) const ov erride { 342 return new GLProcessor();
352 return new GLProcessor(*this, bt);
353 } 343 }
354 344
355 private: 345 private:
356 EllipseEdgeEffect(GrColor color, bool stroke, const SkMatrix& localMatrix, 346 EllipseEdgeEffect(GrColor color, bool stroke, const SkMatrix& localMatrix,
357 bool usesLocalCoords) 347 bool usesLocalCoords)
358 : fColor(color) 348 : fColor(color)
359 , fLocalMatrix(localMatrix) 349 , fLocalMatrix(localMatrix)
360 , fUsesLocalCoords(usesLocalCoords) { 350 , fUsesLocalCoords(usesLocalCoords) {
361 this->initClassID<EllipseEdgeEffect>(); 351 this->initClassID<EllipseEdgeEffect>();
362 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVe rtexAttribType)); 352 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVe rtexAttribType));
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 const Attribute* inEllipseOffsets1() const { return fInEllipseOffsets1; } 408 const Attribute* inEllipseOffsets1() const { return fInEllipseOffsets1; }
419 GrColor color() const { return fColor; } 409 GrColor color() const { return fColor; }
420 bool colorIgnored() const { return GrColor_ILLEGAL == fColor; } 410 bool colorIgnored() const { return GrColor_ILLEGAL == fColor; }
421 const SkMatrix& viewMatrix() const { return fViewMatrix; } 411 const SkMatrix& viewMatrix() const { return fViewMatrix; }
422 bool usesLocalCoords() const { return fUsesLocalCoords; } 412 bool usesLocalCoords() const { return fUsesLocalCoords; }
423 413
424 inline Mode getMode() const { return fMode; } 414 inline Mode getMode() const { return fMode; }
425 415
426 class GLProcessor : public GrGLGeometryProcessor { 416 class GLProcessor : public GrGLGeometryProcessor {
427 public: 417 public:
428 GLProcessor(const GrGeometryProcessor&, 418 GLProcessor()
429 const GrBatchTracker&)
430 : fViewMatrix(SkMatrix::InvalidMatrix()), fColor(GrColor_ILLEGAL) {} 419 : fViewMatrix(SkMatrix::InvalidMatrix()), fColor(GrColor_ILLEGAL) {}
431 420
432 void onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) override{ 421 void onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) override{
433 const DIEllipseEdgeEffect& ee = args.fGP.cast<DIEllipseEdgeEffect>() ; 422 const DIEllipseEdgeEffect& ee = args.fGP.cast<DIEllipseEdgeEffect>() ;
434 GrGLGPBuilder* pb = args.fPB; 423 GrGLGPBuilder* pb = args.fPB;
435 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); 424 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();
436 425
437 // emit attributes 426 // emit attributes
438 vsBuilder->emitAttributes(ee); 427 vsBuilder->emitAttributes(ee);
439 428
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 offsets1.fsIn(), offsets1.fsIn(), offsets 1.fsIn(), 484 offsets1.fsIn(), offsets1.fsIn(), offsets 1.fsIn(),
496 offsets1.fsIn()); 485 offsets1.fsIn());
497 fsBuilder->codeAppend("invlen = inversesqrt(dot(grad, grad));"); 486 fsBuilder->codeAppend("invlen = inversesqrt(dot(grad, grad));");
498 fsBuilder->codeAppend("edgeAlpha *= clamp(0.5+test*invlen, 0.0, 1.0);"); 487 fsBuilder->codeAppend("edgeAlpha *= clamp(0.5+test*invlen, 0.0, 1.0);");
499 } 488 }
500 489
501 fsBuilder->codeAppendf("%s = vec4(edgeAlpha);", args.fOutputCoverage ); 490 fsBuilder->codeAppendf("%s = vec4(edgeAlpha);", args.fOutputCoverage );
502 } 491 }
503 492
504 static void GenKey(const GrGeometryProcessor& gp, 493 static void GenKey(const GrGeometryProcessor& gp,
505 const GrBatchTracker& bt,
506 const GrGLSLCaps&, 494 const GrGLSLCaps&,
507 GrProcessorKeyBuilder* b) { 495 GrProcessorKeyBuilder* b) {
508 const DIEllipseEdgeEffect& ellipseEffect = gp.cast<DIEllipseEdgeEffe ct>(); 496 const DIEllipseEdgeEffect& ellipseEffect = gp.cast<DIEllipseEdgeEffe ct>();
509 uint16_t key = ellipseEffect.getMode(); 497 uint16_t key = ellipseEffect.getMode();
510 key |= ellipseEffect.colorIgnored() << 9; 498 key |= ellipseEffect.colorIgnored() << 9;
511 key |= ComputePosKey(ellipseEffect.viewMatrix()) << 10; 499 key |= ComputePosKey(ellipseEffect.viewMatrix()) << 10;
512 b->add32(key); 500 b->add32(key);
513 } 501 }
514 502
515 virtual void setData(const GrGLProgramDataManager& pdman, 503 virtual void setData(const GrGLProgramDataManager& pdman,
bsalomon 2015/09/10 18:55:30 -virtual?
joshualitt 2015/09/10 20:08:04 Acknowledged.
516 const GrPrimitiveProcessor& gp, 504 const GrPrimitiveProcessor& gp) override {
517 const GrBatchTracker& bt) override {
518 const DIEllipseEdgeEffect& dee = gp.cast<DIEllipseEdgeEffect>(); 505 const DIEllipseEdgeEffect& dee = gp.cast<DIEllipseEdgeEffect>();
519 506
520 if (!dee.viewMatrix().isIdentity() && !fViewMatrix.cheapEqualTo(dee. viewMatrix())) { 507 if (!dee.viewMatrix().isIdentity() && !fViewMatrix.cheapEqualTo(dee. viewMatrix())) {
521 fViewMatrix = dee.viewMatrix(); 508 fViewMatrix = dee.viewMatrix();
522 GrGLfloat viewMatrix[3 * 3]; 509 GrGLfloat viewMatrix[3 * 3];
523 GrGLGetMatrix<3>(viewMatrix, fViewMatrix); 510 GrGLGetMatrix<3>(viewMatrix, fViewMatrix);
524 pdman.setMatrix3f(fViewMatrixUniform, viewMatrix); 511 pdman.setMatrix3f(fViewMatrixUniform, viewMatrix);
525 } 512 }
526 513
527 if (dee.color() != fColor) { 514 if (dee.color() != fColor) {
528 GrGLfloat c[4]; 515 GrGLfloat c[4];
529 GrColorToRGBAFloat(dee.color(), c); 516 GrColorToRGBAFloat(dee.color(), c);
530 pdman.set4fv(fColorUniform, 1, c); 517 pdman.set4fv(fColorUniform, 1, c);
531 fColor = dee.color(); 518 fColor = dee.color();
532 } 519 }
533 } 520 }
534 521
535 private: 522 private:
536 SkMatrix fViewMatrix; 523 SkMatrix fViewMatrix;
537 GrColor fColor; 524 GrColor fColor;
538 UniformHandle fColorUniform; 525 UniformHandle fColorUniform;
539 UniformHandle fViewMatrixUniform; 526 UniformHandle fViewMatrixUniform;
540 527
541 typedef GrGLGeometryProcessor INHERITED; 528 typedef GrGLGeometryProcessor INHERITED;
542 }; 529 };
543 530
544 virtual void getGLProcessorKey(const GrBatchTracker& bt, 531 virtual void getGLProcessorKey(const GrGLSLCaps& caps,
545 const GrGLSLCaps& caps,
546 GrProcessorKeyBuilder* b) const override { 532 GrProcessorKeyBuilder* b) const override {
547 GLProcessor::GenKey(*this, bt, caps, b); 533 GLProcessor::GenKey(*this, caps, b);
548 } 534 }
549 535
550 virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt, 536 virtual GrGLPrimitiveProcessor* createGLInstance(const GrGLSLCaps&) const ov erride {
551 const GrGLSLCaps&) const ov erride { 537 return new GLProcessor();
552 return new GLProcessor(*this, bt);
553 } 538 }
554 539
555 private: 540 private:
556 DIEllipseEdgeEffect(GrColor color, const SkMatrix& viewMatrix, Mode mode, 541 DIEllipseEdgeEffect(GrColor color, const SkMatrix& viewMatrix, Mode mode,
557 bool usesLocalCoords) 542 bool usesLocalCoords)
558 : fColor(color) 543 : fColor(color)
559 , fViewMatrix(viewMatrix) 544 , fViewMatrix(viewMatrix)
560 , fUsesLocalCoords(usesLocalCoords) { 545 , fUsesLocalCoords(usesLocalCoords) {
561 this->initClassID<DIEllipseEdgeEffect>(); 546 this->initClassID<DIEllipseEdgeEffect>();
562 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVe rtexAttribType, 547 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVe rtexAttribType,
(...skipping 1470 matching lines...) Expand 10 before | Expand all | Expand 10 after
2033 } 2018 }
2034 2019
2035 DRAW_BATCH_TEST_DEFINE(RRectBatch) { 2020 DRAW_BATCH_TEST_DEFINE(RRectBatch) {
2036 SkMatrix viewMatrix = GrTest::TestMatrixRectStaysRect(random); 2021 SkMatrix viewMatrix = GrTest::TestMatrixRectStaysRect(random);
2037 GrColor color = GrRandomColor(random); 2022 GrColor color = GrRandomColor(random);
2038 const SkRRect& rrect = GrTest::TestRRectSimple(random); 2023 const SkRRect& rrect = GrTest::TestRRectSimple(random);
2039 return create_rrect_batch(color, viewMatrix, rrect, GrTest::TestStrokeRec(ra ndom)); 2024 return create_rrect_batch(color, viewMatrix, rrect, GrTest::TestStrokeRec(ra ndom));
2040 } 2025 }
2041 2026
2042 #endif 2027 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698