| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 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 "GrContext.h" | 9 #include "GrContext.h" |
| 10 | 10 |
| (...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 495 // hairline | 495 // hairline |
| 496 primType = kLineStrip_GrPrimitiveType; | 496 primType = kLineStrip_GrPrimitiveType; |
| 497 vertex[0].set(args.fRect.fLeft, args.fRect.fTop); | 497 vertex[0].set(args.fRect.fLeft, args.fRect.fTop); |
| 498 vertex[1].set(args.fRect.fRight, args.fRect.fTop); | 498 vertex[1].set(args.fRect.fRight, args.fRect.fTop); |
| 499 vertex[2].set(args.fRect.fRight, args.fRect.fBottom); | 499 vertex[2].set(args.fRect.fRight, args.fRect.fBottom); |
| 500 vertex[3].set(args.fRect.fLeft, args.fRect.fBottom); | 500 vertex[3].set(args.fRect.fLeft, args.fRect.fBottom); |
| 501 vertex[4].set(args.fRect.fLeft, args.fRect.fTop); | 501 vertex[4].set(args.fRect.fLeft, args.fRect.fTop); |
| 502 } | 502 } |
| 503 | 503 |
| 504 GrDrawTarget::DrawInfo drawInfo; | 504 GrDrawTarget::DrawInfo drawInfo; |
| 505 drawInfo.setPrimitiveType(primType); | 505 drawInfo.init(primType, vertexBuffer, firstVertex, vertexCount); |
| 506 drawInfo.setVertexBuffer(vertexBuffer); | |
| 507 drawInfo.setStartVertex(firstVertex); | |
| 508 drawInfo.setVertexCount(vertexCount); | |
| 509 drawInfo.setStartIndex(0); | |
| 510 drawInfo.setIndexCount(0); | |
| 511 drawInfo.setInstanceCount(0); | |
| 512 drawInfo.setVerticesPerInstance(0); | |
| 513 drawInfo.setIndicesPerInstance(0); | |
| 514 batchTarget->draw(drawInfo); | 506 batchTarget->draw(drawInfo); |
| 515 } | 507 } |
| 516 | 508 |
| 517 SkSTArray<1, Geometry, true>* geoData() { return &fGeoData; } | 509 SkSTArray<1, Geometry, true>* geoData() { return &fGeoData; } |
| 518 | 510 |
| 519 private: | 511 private: |
| 520 StrokeRectBatch(const Geometry& geometry) { | 512 StrokeRectBatch(const Geometry& geometry) { |
| 521 this->initClassID<StrokeRectBatch>(); | 513 this->initClassID<StrokeRectBatch>(); |
| 522 | 514 |
| 523 fBatch.fHairline = geometry.fStrokeWidth == 0; | 515 fBatch.fHairline = geometry.fStrokeWidth == 0; |
| (...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 822 void* vertices = batchTarget->vertexPool()->makeSpace(vertexStride, | 814 void* vertices = batchTarget->vertexPool()->makeSpace(vertexStride, |
| 823 this->vertexCount(
), | 815 this->vertexCount(
), |
| 824 &vertexBuffer, | 816 &vertexBuffer, |
| 825 &firstVertex); | 817 &firstVertex); |
| 826 | 818 |
| 827 if (!vertices) { | 819 if (!vertices) { |
| 828 SkDebugf("Could not allocate vertices\n"); | 820 SkDebugf("Could not allocate vertices\n"); |
| 829 return; | 821 return; |
| 830 } | 822 } |
| 831 | 823 |
| 832 const GrIndexBuffer* indexBuffer; | 824 const GrIndexBuffer* indexBuffer = NULL; |
| 833 int firstIndex; | 825 int firstIndex = 0; |
| 834 | 826 |
| 835 void* indices = NULL; | 827 void* indices = NULL; |
| 836 if (this->hasIndices()) { | 828 if (this->hasIndices()) { |
| 837 indices = batchTarget->indexPool()->makeSpace(this->indexCount(), | 829 indices = batchTarget->indexPool()->makeSpace(this->indexCount(), |
| 838 &indexBuffer, | 830 &indexBuffer, |
| 839 &firstIndex); | 831 &firstIndex); |
| 840 | 832 |
| 841 if (!indices) { | 833 if (!indices) { |
| 842 SkDebugf("Could not allocate indices\n"); | 834 SkDebugf("Could not allocate indices\n"); |
| 843 return; | 835 return; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 863 } | 855 } |
| 864 if (this->hasLocalCoords()) { | 856 if (this->hasLocalCoords()) { |
| 865 *(SkPoint*)((intptr_t)vertices + texOffset) = args.fLocalCoo
rds[j]; | 857 *(SkPoint*)((intptr_t)vertices + texOffset) = args.fLocalCoo
rds[j]; |
| 866 } | 858 } |
| 867 vertices = (void*)((intptr_t)vertices + vertexStride); | 859 vertices = (void*)((intptr_t)vertices + vertexStride); |
| 868 vertexOffset++; | 860 vertexOffset++; |
| 869 } | 861 } |
| 870 } | 862 } |
| 871 | 863 |
| 872 GrDrawTarget::DrawInfo drawInfo; | 864 GrDrawTarget::DrawInfo drawInfo; |
| 873 drawInfo.setPrimitiveType(this->primitiveType()); | |
| 874 drawInfo.setVertexBuffer(vertexBuffer); | |
| 875 drawInfo.setStartVertex(firstVertex); | |
| 876 drawInfo.setVertexCount(this->vertexCount()); | |
| 877 if (this->hasIndices()) { | 865 if (this->hasIndices()) { |
| 878 drawInfo.setIndexBuffer(indexBuffer); | 866 drawInfo.initIndexed(this->primitiveType(), vertexBuffer, indexBuffe
r, firstVertex, |
| 879 drawInfo.setStartIndex(firstIndex); | 867 firstIndex, this->vertexCount(), this->indexCou
nt()); |
| 880 drawInfo.setIndexCount(this->indexCount()); | 868 |
| 881 } else { | 869 } else { |
| 882 drawInfo.setStartIndex(0); | 870 drawInfo.init(this->primitiveType(), vertexBuffer, firstVertex, this
->vertexCount()); |
| 883 drawInfo.setIndexCount(0); | |
| 884 } | 871 } |
| 885 batchTarget->draw(drawInfo); | 872 batchTarget->draw(drawInfo); |
| 886 } | 873 } |
| 887 | 874 |
| 888 SkSTArray<1, Geometry, true>* geoData() { return &fGeoData; } | 875 SkSTArray<1, Geometry, true>* geoData() { return &fGeoData; } |
| 889 | 876 |
| 890 private: | 877 private: |
| 891 DrawVerticesBatch(const Geometry& geometry, GrPrimitiveType primitiveType, | 878 DrawVerticesBatch(const Geometry& geometry, GrPrimitiveType primitiveType, |
| 892 const SkMatrix& viewMatrix, | 879 const SkMatrix& viewMatrix, |
| 893 const SkPoint* positions, int vertexCount, | 880 const SkPoint* positions, int vertexCount, |
| (...skipping 1005 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1899 fDrawBuffer->addGpuTraceMarker(marker); | 1886 fDrawBuffer->addGpuTraceMarker(marker); |
| 1900 } | 1887 } |
| 1901 } | 1888 } |
| 1902 | 1889 |
| 1903 void GrContext::removeGpuTraceMarker(const GrGpuTraceMarker* marker) { | 1890 void GrContext::removeGpuTraceMarker(const GrGpuTraceMarker* marker) { |
| 1904 fGpu->removeGpuTraceMarker(marker); | 1891 fGpu->removeGpuTraceMarker(marker); |
| 1905 if (fDrawBuffer) { | 1892 if (fDrawBuffer) { |
| 1906 fDrawBuffer->removeGpuTraceMarker(marker); | 1893 fDrawBuffer->removeGpuTraceMarker(marker); |
| 1907 } | 1894 } |
| 1908 } | 1895 } |
| OLD | NEW |