OLD | NEW |
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 659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
670 string.append(INHERITED::dumpInfo()); | 670 string.append(INHERITED::dumpInfo()); |
671 return string; | 671 return string; |
672 } | 672 } |
673 | 673 |
674 void computePipelineOptimizations(GrInitInvariantOutput* color, | 674 void computePipelineOptimizations(GrInitInvariantOutput* color, |
675 GrInitInvariantOutput* coverage, | 675 GrInitInvariantOutput* coverage, |
676 GrBatchToXPOverrides* overrides) const ove
rride { | 676 GrBatchToXPOverrides* overrides) const ove
rride { |
677 // When this is called on a batch, there is only one geometry bundle | 677 // When this is called on a batch, there is only one geometry bundle |
678 color->setKnownFourComponents(fGeoData[0].fColor); | 678 color->setKnownFourComponents(fGeoData[0].fColor); |
679 coverage->setUnknownSingleComponent(); | 679 coverage->setUnknownSingleComponent(); |
680 overrides->fUsePLSDstRead = false; | |
681 } | 680 } |
682 | 681 |
683 private: | 682 private: |
684 void initBatchTracker(const GrXPOverridesForBatch& overrides) override { | 683 void initBatchTracker(const GrXPOverridesForBatch& overrides) override { |
685 // Handle any color overrides | 684 // Handle any color overrides |
686 if (!overrides.readsColor()) { | 685 if (!overrides.readsColor()) { |
687 fGeoData[0].fColor = GrColor_ILLEGAL; | 686 fGeoData[0].fColor = GrColor_ILLEGAL; |
688 } | 687 } |
689 overrides.getOverrideColorIfSet(&fGeoData[0].fColor); | 688 overrides.getOverrideColorIfSet(&fGeoData[0].fColor); |
690 | 689 |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
890 static GrDrawBatch* Create(const Geometry& geometry) { return new EllipseBat
ch(geometry); } | 889 static GrDrawBatch* Create(const Geometry& geometry) { return new EllipseBat
ch(geometry); } |
891 | 890 |
892 const char* name() const override { return "EllipseBatch"; } | 891 const char* name() const override { return "EllipseBatch"; } |
893 | 892 |
894 void computePipelineOptimizations(GrInitInvariantOutput* color, | 893 void computePipelineOptimizations(GrInitInvariantOutput* color, |
895 GrInitInvariantOutput* coverage, | 894 GrInitInvariantOutput* coverage, |
896 GrBatchToXPOverrides* overrides) const ove
rride { | 895 GrBatchToXPOverrides* overrides) const ove
rride { |
897 // When this is called on a batch, there is only one geometry bundle | 896 // When this is called on a batch, there is only one geometry bundle |
898 color->setKnownFourComponents(fGeoData[0].fColor); | 897 color->setKnownFourComponents(fGeoData[0].fColor); |
899 coverage->setUnknownSingleComponent(); | 898 coverage->setUnknownSingleComponent(); |
900 overrides->fUsePLSDstRead = false; | |
901 } | 899 } |
902 | 900 |
903 private: | 901 private: |
904 void initBatchTracker(const GrXPOverridesForBatch& overrides) override { | 902 void initBatchTracker(const GrXPOverridesForBatch& overrides) override { |
905 // Handle any color overrides | 903 // Handle any color overrides |
906 if (!overrides.readsCoverage()) { | 904 if (!overrides.readsCoverage()) { |
907 fGeoData[0].fColor = GrColor_ILLEGAL; | 905 fGeoData[0].fColor = GrColor_ILLEGAL; |
908 } | 906 } |
909 overrides.getOverrideColorIfSet(&fGeoData[0].fColor); | 907 overrides.getOverrideColorIfSet(&fGeoData[0].fColor); |
910 | 908 |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1162 } | 1160 } |
1163 | 1161 |
1164 const char* name() const override { return "DIEllipseBatch"; } | 1162 const char* name() const override { return "DIEllipseBatch"; } |
1165 | 1163 |
1166 void computePipelineOptimizations(GrInitInvariantOutput* color, | 1164 void computePipelineOptimizations(GrInitInvariantOutput* color, |
1167 GrInitInvariantOutput* coverage, | 1165 GrInitInvariantOutput* coverage, |
1168 GrBatchToXPOverrides* overrides) const ove
rride { | 1166 GrBatchToXPOverrides* overrides) const ove
rride { |
1169 // When this is called on a batch, there is only one geometry bundle | 1167 // When this is called on a batch, there is only one geometry bundle |
1170 color->setKnownFourComponents(fGeoData[0].fColor); | 1168 color->setKnownFourComponents(fGeoData[0].fColor); |
1171 coverage->setUnknownSingleComponent(); | 1169 coverage->setUnknownSingleComponent(); |
1172 overrides->fUsePLSDstRead = false; | |
1173 } | 1170 } |
1174 | 1171 |
1175 private: | 1172 private: |
1176 | 1173 |
1177 void initBatchTracker(const GrXPOverridesForBatch& overrides) override { | 1174 void initBatchTracker(const GrXPOverridesForBatch& overrides) override { |
1178 // Handle any color overrides | 1175 // Handle any color overrides |
1179 if (!overrides.readsColor()) { | 1176 if (!overrides.readsColor()) { |
1180 fGeoData[0].fColor = GrColor_ILLEGAL; | 1177 fGeoData[0].fColor = GrColor_ILLEGAL; |
1181 } | 1178 } |
1182 overrides.getOverrideColorIfSet(&fGeoData[0].fColor); | 1179 overrides.getOverrideColorIfSet(&fGeoData[0].fColor); |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1520 } | 1517 } |
1521 | 1518 |
1522 const char* name() const override { return "RRectCircleBatch"; } | 1519 const char* name() const override { return "RRectCircleBatch"; } |
1523 | 1520 |
1524 void computePipelineOptimizations(GrInitInvariantOutput* color, | 1521 void computePipelineOptimizations(GrInitInvariantOutput* color, |
1525 GrInitInvariantOutput* coverage, | 1522 GrInitInvariantOutput* coverage, |
1526 GrBatchToXPOverrides* overrides) const ove
rride { | 1523 GrBatchToXPOverrides* overrides) const ove
rride { |
1527 // When this is called on a batch, there is only one geometry bundle | 1524 // When this is called on a batch, there is only one geometry bundle |
1528 color->setKnownFourComponents(fGeoData[0].fColor); | 1525 color->setKnownFourComponents(fGeoData[0].fColor); |
1529 coverage->setUnknownSingleComponent(); | 1526 coverage->setUnknownSingleComponent(); |
1530 overrides->fUsePLSDstRead = false; | |
1531 } | 1527 } |
1532 | 1528 |
1533 private: | 1529 private: |
1534 void initBatchTracker(const GrXPOverridesForBatch& overrides) override { | 1530 void initBatchTracker(const GrXPOverridesForBatch& overrides) override { |
1535 // Handle any color overrides | 1531 // Handle any color overrides |
1536 if (!overrides.readsColor()) { | 1532 if (!overrides.readsColor()) { |
1537 fGeoData[0].fColor = GrColor_ILLEGAL; | 1533 fGeoData[0].fColor = GrColor_ILLEGAL; |
1538 } | 1534 } |
1539 overrides.getOverrideColorIfSet(&fGeoData[0].fColor); | 1535 overrides.getOverrideColorIfSet(&fGeoData[0].fColor); |
1540 | 1536 |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1700 } | 1696 } |
1701 | 1697 |
1702 const char* name() const override { return "RRectEllipseRendererBatch"; } | 1698 const char* name() const override { return "RRectEllipseRendererBatch"; } |
1703 | 1699 |
1704 void computePipelineOptimizations(GrInitInvariantOutput* color, | 1700 void computePipelineOptimizations(GrInitInvariantOutput* color, |
1705 GrInitInvariantOutput* coverage, | 1701 GrInitInvariantOutput* coverage, |
1706 GrBatchToXPOverrides* overrides) const ove
rride { | 1702 GrBatchToXPOverrides* overrides) const ove
rride { |
1707 // When this is called on a batch, there is only one geometry bundle | 1703 // When this is called on a batch, there is only one geometry bundle |
1708 color->setKnownFourComponents(fGeoData[0].fColor); | 1704 color->setKnownFourComponents(fGeoData[0].fColor); |
1709 coverage->setUnknownSingleComponent(); | 1705 coverage->setUnknownSingleComponent(); |
1710 overrides->fUsePLSDstRead = false; | |
1711 } | 1706 } |
1712 | 1707 |
1713 private: | 1708 private: |
1714 void initBatchTracker(const GrXPOverridesForBatch& overrides) override { | 1709 void initBatchTracker(const GrXPOverridesForBatch& overrides) override { |
1715 // Handle any color overrides | 1710 // Handle any color overrides |
1716 if (!overrides.readsColor()) { | 1711 if (!overrides.readsColor()) { |
1717 fGeoData[0].fColor = GrColor_ILLEGAL; | 1712 fGeoData[0].fColor = GrColor_ILLEGAL; |
1718 } | 1713 } |
1719 overrides.getOverrideColorIfSet(&fGeoData[0].fColor); | 1714 overrides.getOverrideColorIfSet(&fGeoData[0].fColor); |
1720 | 1715 |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2083 } | 2078 } |
2084 | 2079 |
2085 DRAW_BATCH_TEST_DEFINE(RRectBatch) { | 2080 DRAW_BATCH_TEST_DEFINE(RRectBatch) { |
2086 SkMatrix viewMatrix = GrTest::TestMatrixRectStaysRect(random); | 2081 SkMatrix viewMatrix = GrTest::TestMatrixRectStaysRect(random); |
2087 GrColor color = GrRandomColor(random); | 2082 GrColor color = GrRandomColor(random); |
2088 const SkRRect& rrect = GrTest::TestRRectSimple(random); | 2083 const SkRRect& rrect = GrTest::TestRRectSimple(random); |
2089 return create_rrect_batch(color, viewMatrix, rrect, GrTest::TestStrokeRec(ra
ndom)); | 2084 return create_rrect_batch(color, viewMatrix, rrect, GrTest::TestStrokeRec(ra
ndom)); |
2090 } | 2085 } |
2091 | 2086 |
2092 #endif | 2087 #endif |
OLD | NEW |