| OLD | NEW | 
|---|
| 1 | 1 | 
| 2 /* | 2 /* | 
| 3  * Copyright 2010 Google Inc. | 3  * Copyright 2010 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 | 9 | 
| 10 | 10 | 
| (...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 644     // Set the same bounds for all the draws. | 644     // Set the same bounds for all the draws. | 
| 645     if (NULL != devBounds) { | 645     if (NULL != devBounds) { | 
| 646         info.setDevBounds(*devBounds); | 646         info.setDevBounds(*devBounds); | 
| 647     } | 647     } | 
| 648     // TODO: We should continue with incorrect blending. | 648     // TODO: We should continue with incorrect blending. | 
| 649     if (!this->setupDstReadIfNecessary(&info)) { | 649     if (!this->setupDstReadIfNecessary(&info)) { | 
| 650         return; | 650         return; | 
| 651     } | 651     } | 
| 652 | 652 | 
| 653     while (instanceCount) { | 653     while (instanceCount) { | 
| 654         info.fInstanceCount = GrMin(instanceCount, maxInstancesPerDraw); | 654         info.fInstanceCount = SkTMin(instanceCount, maxInstancesPerDraw); | 
| 655         info.fVertexCount = info.fInstanceCount * verticesPerInstance; | 655         info.fVertexCount = info.fInstanceCount * verticesPerInstance; | 
| 656         info.fIndexCount = info.fInstanceCount * indicesPerInstance; | 656         info.fIndexCount = info.fInstanceCount * indicesPerInstance; | 
| 657 | 657 | 
| 658         if (this->checkDraw(type, | 658         if (this->checkDraw(type, | 
| 659                             info.fStartVertex, | 659                             info.fStartVertex, | 
| 660                             info.fStartIndex, | 660                             info.fStartIndex, | 
| 661                             info.fVertexCount, | 661                             info.fVertexCount, | 
| 662                             info.fIndexCount)) { | 662                             info.fIndexCount)) { | 
| 663             this->onDraw(info); | 663             this->onDraw(info); | 
| 664         } | 664         } | 
| 665         info.fStartVertex += info.fVertexCount; | 665         info.fStartVertex += info.fVertexCount; | 
| 666         instanceCount -= info.fInstanceCount; | 666         instanceCount -= info.fInstanceCount; | 
| 667     } | 667     } | 
| 668 } | 668 } | 
| 669 | 669 | 
| 670 //////////////////////////////////////////////////////////////////////////////// | 670 //////////////////////////////////////////////////////////////////////////////// | 
| 671 | 671 | 
| 672 namespace { | 672 namespace { | 
| 673 | 673 | 
| 674 // position + (optional) texture coord | 674 // position + (optional) texture coord | 
| 675 extern const GrVertexAttrib gBWRectPosUVAttribs[] = { | 675 extern const GrVertexAttrib gBWRectPosUVAttribs[] = { | 
| 676     {kVec2f_GrVertexAttribType, 0,               kPosition_GrVertexAttribBinding
      }, | 676     {kVec2f_GrVertexAttribType, 0,               kPosition_GrVertexAttribBinding
      }, | 
| 677     {kVec2f_GrVertexAttribType, sizeof(GrPoint), kLocalCoord_GrVertexAttribBindi
      ng} | 677     {kVec2f_GrVertexAttribType, sizeof(SkPoint), kLocalCoord_GrVertexAttribBindi
      ng} | 
| 678 }; | 678 }; | 
| 679 | 679 | 
| 680 void set_vertex_attributes(GrDrawState* drawState, bool hasUVs) { | 680 void set_vertex_attributes(GrDrawState* drawState, bool hasUVs) { | 
| 681     if (hasUVs) { | 681     if (hasUVs) { | 
| 682         drawState->setVertexAttribs<gBWRectPosUVAttribs>(2); | 682         drawState->setVertexAttribs<gBWRectPosUVAttribs>(2); | 
| 683     } else { | 683     } else { | 
| 684         drawState->setVertexAttribs<gBWRectPosUVAttribs>(1); | 684         drawState->setVertexAttribs<gBWRectPosUVAttribs>(1); | 
| 685     } | 685     } | 
| 686 } | 686 } | 
| 687 | 687 | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
| 701 | 701 | 
| 702     AutoReleaseGeometry geo(this, 4, 0); | 702     AutoReleaseGeometry geo(this, 4, 0); | 
| 703     if (!geo.succeeded()) { | 703     if (!geo.succeeded()) { | 
| 704         GrPrintf("Failed to get space for vertices!\n"); | 704         GrPrintf("Failed to get space for vertices!\n"); | 
| 705         return; | 705         return; | 
| 706     } | 706     } | 
| 707 | 707 | 
| 708     size_t vsize = this->drawState()->getVertexSize(); | 708     size_t vsize = this->drawState()->getVertexSize(); | 
| 709     geo.positions()->setRectFan(rect.fLeft, rect.fTop, rect.fRight, rect.fBottom
      , vsize); | 709     geo.positions()->setRectFan(rect.fLeft, rect.fTop, rect.fRight, rect.fBottom
      , vsize); | 
| 710     if (NULL != localRect) { | 710     if (NULL != localRect) { | 
| 711         GrPoint* coords = GrTCast<GrPoint*>(GrTCast<intptr_t>(geo.vertices()) + | 711         SkPoint* coords = GrTCast<SkPoint*>(GrTCast<intptr_t>(geo.vertices()) + | 
| 712                                             sizeof(GrPoint)); | 712                                             sizeof(SkPoint)); | 
| 713         coords->setRectFan(localRect->fLeft, localRect->fTop, | 713         coords->setRectFan(localRect->fLeft, localRect->fTop, | 
| 714                            localRect->fRight, localRect->fBottom, | 714                            localRect->fRight, localRect->fBottom, | 
| 715                            vsize); | 715                            vsize); | 
| 716         if (NULL != localMatrix) { | 716         if (NULL != localMatrix) { | 
| 717             localMatrix->mapPointsWithStride(coords, vsize, 4); | 717             localMatrix->mapPointsWithStride(coords, vsize, 4); | 
| 718         } | 718         } | 
| 719     } | 719     } | 
| 720     SkRect bounds; | 720     SkRect bounds; | 
| 721     this->getDrawState().getViewMatrix().mapRect(&bounds, rect); | 721     this->getDrawState().getViewMatrix().mapRect(&bounds, rect); | 
| 722 | 722 | 
| (...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1098     for (size_t i = 0; i < SK_ARRAY_COUNT(kConfigNames); ++i)  { | 1098     for (size_t i = 0; i < SK_ARRAY_COUNT(kConfigNames); ++i)  { | 
| 1099         if (i != kUnknown_GrPixelConfig) { | 1099         if (i != kUnknown_GrPixelConfig) { | 
| 1100             r.appendf("%s is renderable: %s, with MSAA: %s\n", | 1100             r.appendf("%s is renderable: %s, with MSAA: %s\n", | 
| 1101                      kConfigNames[i], | 1101                      kConfigNames[i], | 
| 1102                      gNY[fConfigRenderSupport[i][0]], | 1102                      gNY[fConfigRenderSupport[i][0]], | 
| 1103                      gNY[fConfigRenderSupport[i][1]]); | 1103                      gNY[fConfigRenderSupport[i][1]]); | 
| 1104         } | 1104         } | 
| 1105     } | 1105     } | 
| 1106     return r; | 1106     return r; | 
| 1107 } | 1107 } | 
| OLD | NEW | 
|---|