OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2007 The Android Open Source Project | 3 * Copyright 2007 The Android Open Source Project |
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 | 9 |
10 #include "SkPictureFlat.h" | 10 #include "SkPictureFlat.h" |
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
657 bool SkPicture::suitableForGpuRasterization(GrContext* context, const char **rea
son) const { | 657 bool SkPicture::suitableForGpuRasterization(GrContext* context, const char **rea
son) const { |
658 // TODO: the heuristic used here needs to be refined | 658 // TODO: the heuristic used here needs to be refined |
659 static const int kNumPaintWithPathEffectUsesTol = 1; | 659 static const int kNumPaintWithPathEffectUsesTol = 1; |
660 static const int kNumAAConcavePaths = 5; | 660 static const int kNumAAConcavePaths = 5; |
661 | 661 |
662 SkASSERT(this->numAAHairlineConcavePaths() <= this->numAAConcavePaths()); | 662 SkASSERT(this->numAAHairlineConcavePaths() <= this->numAAConcavePaths()); |
663 | 663 |
664 bool ret = this->numPaintWithPathEffectUses() < kNumPaintWithPathEffectUsesT
ol && | 664 bool ret = this->numPaintWithPathEffectUses() < kNumPaintWithPathEffectUsesT
ol && |
665 (this->numAAConcavePaths()-this->numAAHairlineConcavePaths()) < k
NumAAConcavePaths; | 665 (this->numAAConcavePaths()-this->numAAHairlineConcavePaths()) < k
NumAAConcavePaths; |
666 if (!ret && reason) { | 666 if (!ret && reason) { |
667 if (this->numPaintWithPathEffectUses() < kNumPaintWithPathEffectUsesTol) | 667 if (this->numPaintWithPathEffectUses() >= kNumPaintWithPathEffectUsesTol
) |
668 *reason = "Too many path effects."; | 668 *reason = "Too many path effects."; |
669 else if ((this->numAAConcavePaths()-this->numAAHairlineConcavePaths()) <
kNumAAConcavePaths) | 669 else if ((this->numAAConcavePaths()-this->numAAHairlineConcavePaths()) >
= kNumAAConcavePaths) |
670 *reason = "Too many anti-aliased concave paths."; | 670 *reason = "Too many anti-aliased concave paths."; |
| 671 else |
| 672 *reason = "Unknown reason for GPU unsuitability."; |
671 } | 673 } |
672 return ret; | 674 return ret; |
673 } | 675 } |
674 #endif | 676 #endif |
675 | 677 |
676 bool SkPicture::willPlayBackBitmaps() const { | 678 bool SkPicture::willPlayBackBitmaps() const { |
677 if (!fPlayback) { | 679 if (!fPlayback) { |
678 return false; | 680 return false; |
679 } | 681 } |
680 return fPlayback->containsBitmaps(); | 682 return fPlayback->containsBitmaps(); |
(...skipping 23 matching lines...) Expand all Loading... |
704 if (NULL != fRecord) { | 706 if (NULL != fRecord) { |
705 SkASSERT(NULL == fPlayback); | 707 SkASSERT(NULL == fPlayback); |
706 return SK_InvalidGenID; | 708 return SK_InvalidGenID; |
707 } | 709 } |
708 | 710 |
709 if (SK_InvalidGenID == fUniqueID) { | 711 if (SK_InvalidGenID == fUniqueID) { |
710 fUniqueID = next_picture_generation_id(); | 712 fUniqueID = next_picture_generation_id(); |
711 } | 713 } |
712 return fUniqueID; | 714 return fUniqueID; |
713 } | 715 } |
OLD | NEW |