| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #include "GrAAConvexPathRenderer.h" | 9 #include "GrAAConvexPathRenderer.h" |
| 10 | 10 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 #include "GrPipelineBuilder.h" | 21 #include "GrPipelineBuilder.h" |
| 22 #include "GrStrokeInfo.h" | 22 #include "GrStrokeInfo.h" |
| 23 #include "SkGeometry.h" | 23 #include "SkGeometry.h" |
| 24 #include "SkPathPriv.h" | 24 #include "SkPathPriv.h" |
| 25 #include "SkString.h" | 25 #include "SkString.h" |
| 26 #include "SkTraceEvent.h" | 26 #include "SkTraceEvent.h" |
| 27 #include "batches/GrVertexBatch.h" | 27 #include "batches/GrVertexBatch.h" |
| 28 #include "gl/GrGLProcessor.h" | 28 #include "gl/GrGLProcessor.h" |
| 29 #include "gl/GrGLGeometryProcessor.h" | 29 #include "gl/GrGLGeometryProcessor.h" |
| 30 #include "gl/builders/GrGLProgramBuilder.h" | 30 #include "gl/builders/GrGLProgramBuilder.h" |
| 31 #include "glsl/GrGLSLProgramDataManager.h" |
| 31 | 32 |
| 32 GrAAConvexPathRenderer::GrAAConvexPathRenderer() { | 33 GrAAConvexPathRenderer::GrAAConvexPathRenderer() { |
| 33 } | 34 } |
| 34 | 35 |
| 35 struct Segment { | 36 struct Segment { |
| 36 enum { | 37 enum { |
| 37 // These enum values are assumed in member functions below. | 38 // These enum values are assumed in member functions below. |
| 38 kLine = 0, | 39 kLine = 0, |
| 39 kQuad = 1, | 40 kQuad = 1, |
| 40 } fType; | 41 } fType; |
| (...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 598 static inline void GenKey(const GrGeometryProcessor& gp, | 599 static inline void GenKey(const GrGeometryProcessor& gp, |
| 599 const GrGLSLCaps&, | 600 const GrGLSLCaps&, |
| 600 GrProcessorKeyBuilder* b) { | 601 GrProcessorKeyBuilder* b) { |
| 601 const QuadEdgeEffect& qee = gp.cast<QuadEdgeEffect>(); | 602 const QuadEdgeEffect& qee = gp.cast<QuadEdgeEffect>(); |
| 602 uint32_t key = 0; | 603 uint32_t key = 0; |
| 603 key |= qee.usesLocalCoords() && qee.localMatrix().hasPerspective() ?
0x1 : 0x0; | 604 key |= qee.usesLocalCoords() && qee.localMatrix().hasPerspective() ?
0x1 : 0x0; |
| 604 key |= qee.colorIgnored() ? 0x2 : 0x0; | 605 key |= qee.colorIgnored() ? 0x2 : 0x0; |
| 605 b->add32(key); | 606 b->add32(key); |
| 606 } | 607 } |
| 607 | 608 |
| 608 void setData(const GrGLProgramDataManager& pdman, const GrPrimitiveProce
ssor& gp) override { | 609 void setData(const GrGLSLProgramDataManager& pdman, |
| 610 const GrPrimitiveProcessor& gp) override { |
| 609 const QuadEdgeEffect& qe = gp.cast<QuadEdgeEffect>(); | 611 const QuadEdgeEffect& qe = gp.cast<QuadEdgeEffect>(); |
| 610 if (qe.color() != fColor) { | 612 if (qe.color() != fColor) { |
| 611 GrGLfloat c[4]; | 613 float c[4]; |
| 612 GrColorToRGBAFloat(qe.color(), c); | 614 GrColorToRGBAFloat(qe.color(), c); |
| 613 pdman.set4fv(fColorUniform, 1, c); | 615 pdman.set4fv(fColorUniform, 1, c); |
| 614 fColor = qe.color(); | 616 fColor = qe.color(); |
| 615 } | 617 } |
| 616 } | 618 } |
| 617 | 619 |
| 618 void setTransformData(const GrPrimitiveProcessor& primProc, | 620 void setTransformData(const GrPrimitiveProcessor& primProc, |
| 619 const GrGLProgramDataManager& pdman, | 621 const GrGLSLProgramDataManager& pdman, |
| 620 int index, | 622 int index, |
| 621 const SkTArray<const GrCoordTransform*, true>& tra
nsforms) override { | 623 const SkTArray<const GrCoordTransform*, true>& tra
nsforms) override { |
| 622 this->setTransformDataHelper<QuadEdgeEffect>(primProc, pdman, index,
transforms); | 624 this->setTransformDataHelper<QuadEdgeEffect>(primProc, pdman, index,
transforms); |
| 623 } | 625 } |
| 624 | 626 |
| 625 private: | 627 private: |
| 626 GrColor fColor; | 628 GrColor fColor; |
| 627 UniformHandle fColorUniform; | 629 UniformHandle fColorUniform; |
| 628 | 630 |
| 629 typedef GrGLGeometryProcessor INHERITED; | 631 typedef GrGLGeometryProcessor INHERITED; |
| (...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1006 DRAW_BATCH_TEST_DEFINE(AAConvexPathBatch) { | 1008 DRAW_BATCH_TEST_DEFINE(AAConvexPathBatch) { |
| 1007 AAConvexPathBatch::Geometry geometry; | 1009 AAConvexPathBatch::Geometry geometry; |
| 1008 geometry.fColor = GrRandomColor(random); | 1010 geometry.fColor = GrRandomColor(random); |
| 1009 geometry.fViewMatrix = GrTest::TestMatrixInvertible(random); | 1011 geometry.fViewMatrix = GrTest::TestMatrixInvertible(random); |
| 1010 geometry.fPath = GrTest::TestPathConvex(random); | 1012 geometry.fPath = GrTest::TestPathConvex(random); |
| 1011 | 1013 |
| 1012 return AAConvexPathBatch::Create(geometry); | 1014 return AAConvexPathBatch::Create(geometry); |
| 1013 } | 1015 } |
| 1014 | 1016 |
| 1015 #endif | 1017 #endif |
| OLD | NEW |