| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 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 "GrAAConvexPathRenderer.h" | 9 #include "GrAAConvexPathRenderer.h" |
| 10 | 10 |
| (...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 807 | 807 |
| 808 for (int i = 0; i < instanceCount; i++) { | 808 for (int i = 0; i < instanceCount; i++) { |
| 809 tess.rewind(); | 809 tess.rewind(); |
| 810 | 810 |
| 811 const Geometry& args = fGeoData[i]; | 811 const Geometry& args = fGeoData[i]; |
| 812 | 812 |
| 813 if (!tess.tessellate(args.fViewMatrix, args.fPath)) { | 813 if (!tess.tessellate(args.fViewMatrix, args.fPath)) { |
| 814 continue; | 814 continue; |
| 815 } | 815 } |
| 816 | 816 |
| 817 const GrBuffer* vertexBuffer; | 817 const GrVertexBuffer* vertexBuffer; |
| 818 int firstVertex; | 818 int firstVertex; |
| 819 | 819 |
| 820 void* verts = target->makeVertexSpace(vertexStride, tess.numPts(), &
vertexBuffer, | 820 void* verts = target->makeVertexSpace(vertexStride, tess.numPts(), &
vertexBuffer, |
| 821 &firstVertex); | 821 &firstVertex); |
| 822 if (!verts) { | 822 if (!verts) { |
| 823 SkDebugf("Could not allocate vertices\n"); | 823 SkDebugf("Could not allocate vertices\n"); |
| 824 return; | 824 return; |
| 825 } | 825 } |
| 826 | 826 |
| 827 const GrBuffer* indexBuffer; | 827 const GrIndexBuffer* indexBuffer; |
| 828 int firstIndex; | 828 int firstIndex; |
| 829 | 829 |
| 830 uint16_t* idxs = target->makeIndexSpace(tess.numIndices(), &indexBuf
fer, &firstIndex); | 830 uint16_t* idxs = target->makeIndexSpace(tess.numIndices(), &indexBuf
fer, &firstIndex); |
| 831 if (!idxs) { | 831 if (!idxs) { |
| 832 SkDebugf("Could not allocate indices\n"); | 832 SkDebugf("Could not allocate indices\n"); |
| 833 return; | 833 return; |
| 834 } | 834 } |
| 835 | 835 |
| 836 extract_verts(tess, verts, vertexStride, args.fColor, idxs, canTweak
AlphaForCoverage); | 836 extract_verts(tess, verts, vertexStride, args.fColor, idxs, canTweak
AlphaForCoverage); |
| 837 | 837 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 893 kPreallocDrawCnt = 4, | 893 kPreallocDrawCnt = 4, |
| 894 }; | 894 }; |
| 895 SkSTArray<kPreallocSegmentCnt, Segment, true> segments; | 895 SkSTArray<kPreallocSegmentCnt, Segment, true> segments; |
| 896 SkPoint fanPt; | 896 SkPoint fanPt; |
| 897 | 897 |
| 898 if (!get_segments(*pathPtr, *viewMatrix, &segments, &fanPt, &vertexC
ount, | 898 if (!get_segments(*pathPtr, *viewMatrix, &segments, &fanPt, &vertexC
ount, |
| 899 &indexCount)) { | 899 &indexCount)) { |
| 900 continue; | 900 continue; |
| 901 } | 901 } |
| 902 | 902 |
| 903 const GrBuffer* vertexBuffer; | 903 const GrVertexBuffer* vertexBuffer; |
| 904 int firstVertex; | 904 int firstVertex; |
| 905 | 905 |
| 906 size_t vertexStride = quadProcessor->getVertexStride(); | 906 size_t vertexStride = quadProcessor->getVertexStride(); |
| 907 QuadVertex* verts = reinterpret_cast<QuadVertex*>(target->makeVertex
Space( | 907 QuadVertex* verts = reinterpret_cast<QuadVertex*>(target->makeVertex
Space( |
| 908 vertexStride, vertexCount, &vertexBuffer, &firstVertex)); | 908 vertexStride, vertexCount, &vertexBuffer, &firstVertex)); |
| 909 | 909 |
| 910 if (!verts) { | 910 if (!verts) { |
| 911 SkDebugf("Could not allocate vertices\n"); | 911 SkDebugf("Could not allocate vertices\n"); |
| 912 return; | 912 return; |
| 913 } | 913 } |
| 914 | 914 |
| 915 const GrBuffer* indexBuffer; | 915 const GrIndexBuffer* indexBuffer; |
| 916 int firstIndex; | 916 int firstIndex; |
| 917 | 917 |
| 918 uint16_t *idxs = target->makeIndexSpace(indexCount, &indexBuffer, &f
irstIndex); | 918 uint16_t *idxs = target->makeIndexSpace(indexCount, &indexBuffer, &f
irstIndex); |
| 919 if (!idxs) { | 919 if (!idxs) { |
| 920 SkDebugf("Could not allocate indices\n"); | 920 SkDebugf("Could not allocate indices\n"); |
| 921 return; | 921 return; |
| 922 } | 922 } |
| 923 | 923 |
| 924 SkSTArray<kPreallocDrawCnt, Draw, true> draws; | 924 SkSTArray<kPreallocDrawCnt, Draw, true> draws; |
| 925 create_vertices(segments, fanPt, &draws, verts, idxs); | 925 create_vertices(segments, fanPt, &draws, verts, idxs); |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1025 DRAW_BATCH_TEST_DEFINE(AAConvexPathBatch) { | 1025 DRAW_BATCH_TEST_DEFINE(AAConvexPathBatch) { |
| 1026 AAConvexPathBatch::Geometry geometry; | 1026 AAConvexPathBatch::Geometry geometry; |
| 1027 geometry.fColor = GrRandomColor(random); | 1027 geometry.fColor = GrRandomColor(random); |
| 1028 geometry.fViewMatrix = GrTest::TestMatrixInvertible(random); | 1028 geometry.fViewMatrix = GrTest::TestMatrixInvertible(random); |
| 1029 geometry.fPath = GrTest::TestPathConvex(random); | 1029 geometry.fPath = GrTest::TestPathConvex(random); |
| 1030 | 1030 |
| 1031 return AAConvexPathBatch::Create(geometry); | 1031 return AAConvexPathBatch::Create(geometry); |
| 1032 } | 1032 } |
| 1033 | 1033 |
| 1034 #endif | 1034 #endif |
| OLD | NEW |