| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright 2015 Google Inc. | 2  * Copyright 2015 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 GrTInstanceBatch_DEFINED | 8 #ifndef GrTInstanceBatch_DEFINED | 
| 9 #define GrTInstanceBatch_DEFINED | 9 #define GrTInstanceBatch_DEFINED | 
| 10 | 10 | 
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 52 | 52 | 
| 53     SkString dumpInfo() const override { | 53     SkString dumpInfo() const override { | 
| 54         SkString str; | 54         SkString str; | 
| 55         for (int i = 0; i < fGeoData.count(); ++i) { | 55         for (int i = 0; i < fGeoData.count(); ++i) { | 
| 56             str.append(Impl::DumpInfo(fGeoData[i], i)); | 56             str.append(Impl::DumpInfo(fGeoData[i], i)); | 
| 57         } | 57         } | 
| 58         str.append(INHERITED::dumpInfo()); | 58         str.append(INHERITED::dumpInfo()); | 
| 59         return str; | 59         return str; | 
| 60     } | 60     } | 
| 61 | 61 | 
| 62     void computePipelineOptimizations(GrInitInvariantOutput* color, | 62     void computePipelineOptimizations(GrInitInvariantOutput* color, | 
| 63                                       GrInitInvariantOutput* coverage, | 63                                       GrInitInvariantOutput* coverage, | 
| 64                                       GrBatchToXPOverrides* overrides) const ove
     rride { | 64                                       GrBatchToXPOverrides* overrides) const ove
     rride { | 
| 65         // When this is called on a batch, there is only one geometry bundle | 65         // When this is called on a batch, there is only one geometry bundle | 
| 66         color->setKnownFourComponents(fGeoData[0].fColor); | 66         color->setKnownFourComponents(fGeoData[0].fColor); | 
| 67         Impl::InitInvariantOutputCoverage(coverage); | 67         Impl::InitInvariantOutputCoverage(coverage); | 
| 68     } | 68     } | 
| 69 | 69 | 
| 70     void initBatchTracker(const GrXPOverridesForBatch& overrides) override { | 70     void initBatchTracker(const GrXPOverridesForBatch& overrides) override { | 
| 71         overrides.getOverrideColorIfSet(&fGeoData[0].fColor); | 71         overrides.getOverrideColorIfSet(&fGeoData[0].fColor); | 
| 72         fOverrides = overrides; | 72         fOverrides = overrides; | 
| 73     } | 73     } | 
| 74 | 74 | 
| 75     SkSTArray<1, Geometry, true>* geoData() { return &fGeoData; } | 75     SkSTArray<1, Geometry, true>* geoData() { return &fGeoData; } | 
| 76 | 76 | 
| 77     // After seeding, the client should call init() so the Batch can initialize 
     itself | 77     // After seeding, the client should call init() so the Batch can initialize 
     itself | 
| 78     void init() { | 78     void init() { | 
| 79         const Geometry& geo = fGeoData[0]; | 79         const Geometry& geo = fGeoData[0]; | 
| 80         Impl::SetBounds(geo, &fBounds); | 80         Impl::SetBounds(geo, &fBounds); | 
| 81     } | 81     } | 
| 82 | 82 | 
| 83     void updateBoundsAfterAppend() { | 83     void updateBoundsAfterAppend() { | 
| 84         const Geometry& geo = fGeoData.back(); | 84         const Geometry& geo = fGeoData.back(); | 
| 85         Impl::UpdateBoundsAfterAppend(geo, &fBounds); | 85         Impl::UpdateBoundsAfterAppend(geo, &fBounds); | 
| 86     } | 86     } | 
| 87 | 87 | 
| 88 private: | 88 private: | 
| 89     GrTInstanceBatch() : INHERITED(ClassID()) {} | 89     GrTInstanceBatch() : INHERITED(ClassID()) {} | 
| 90 | 90 | 
| 91     void onPrepareDraws(Target* target) const override { | 91     void onPrepareDraws(Target* target) const override { | 
| 92         SkAutoTUnref<const GrGeometryProcessor> gp(Impl::CreateGP(this->seedGeom
     etry(), | 92         SkAutoTUnref<const GrGeometryProcessor> gp(Impl::CreateGP(this->seedGeom
     etry(), | 
| 93                                                                   fOverrides)); | 93                                                                   fOverrides)); | 
| 94         if (!gp) { | 94         if (!gp) { | 
| 95             SkDebugf("Couldn't create GrGeometryProcessor\n"); | 95             SkDebugf("Couldn't create GrGeometryProcessor\n"); | 
| 96             return; | 96             return; | 
| 97         } | 97         } | 
| 98 | 98 | 
| 99         target->initDraw(gp); | 99         target->initDraw(gp); | 
| 100 | 100 | 
| 101         size_t vertexStride = gp->getVertexStride(); | 101         size_t vertexStride = gp->getVertexStride(); | 
| 102         int instanceCount = fGeoData.count(); | 102         int instanceCount = fGeoData.count(); | 
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 144         return true; | 144         return true; | 
| 145     } | 145     } | 
| 146 | 146 | 
| 147     GrXPOverridesForBatch fOverrides; | 147     GrXPOverridesForBatch fOverrides; | 
| 148     SkSTArray<1, Geometry, true> fGeoData; | 148     SkSTArray<1, Geometry, true> fGeoData; | 
| 149 | 149 | 
| 150     typedef GrVertexBatch INHERITED; | 150     typedef GrVertexBatch INHERITED; | 
| 151 }; | 151 }; | 
| 152 | 152 | 
| 153 #endif | 153 #endif | 
| OLD | NEW | 
|---|