OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2016 Google Inc. | 2 * Copyright 2016 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 #include "GrMSAAPathRenderer.h" | 8 #include "GrMSAAPathRenderer.h" |
9 | 9 |
10 #include "GrAuditTrail.h" | 10 #include "GrAuditTrail.h" |
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
385 } | 385 } |
386 } | 386 } |
387 int lineVertexOffset = (int) (lines.nextVertex - lines.vertices); | 387 int lineVertexOffset = (int) (lines.nextVertex - lines.vertices); |
388 int lineIndexOffset = (int) (lines.nextIndex - lines.indices); | 388 int lineIndexOffset = (int) (lines.nextIndex - lines.indices); |
389 SkASSERT(lineVertexOffset <= fMaxLineVertices && lineIndexOffset <= fMax
LineIndices); | 389 SkASSERT(lineVertexOffset <= fMaxLineVertices && lineIndexOffset <= fMax
LineIndices); |
390 int quadVertexOffset = (int) (quads.nextVertex - quads.vertices); | 390 int quadVertexOffset = (int) (quads.nextVertex - quads.vertices); |
391 int quadIndexOffset = (int) (quads.nextIndex - quads.indices); | 391 int quadIndexOffset = (int) (quads.nextIndex - quads.indices); |
392 SkASSERT(quadVertexOffset <= fMaxQuadVertices && quadIndexOffset <= fMax
QuadIndices); | 392 SkASSERT(quadVertexOffset <= fMaxQuadVertices && quadIndexOffset <= fMax
QuadIndices); |
393 | 393 |
394 if (lineVertexOffset) { | 394 if (lineVertexOffset) { |
395 SkAutoTUnref<const GrGeometryProcessor> lineGP; | 395 sk_sp<GrGeometryProcessor> lineGP; |
396 { | 396 { |
397 using namespace GrDefaultGeoProcFactory; | 397 using namespace GrDefaultGeoProcFactory; |
398 lineGP.reset(GrDefaultGeoProcFactory::Create(Color(Color::kAttri
bute_Type), | 398 lineGP = GrDefaultGeoProcFactory::Make(Color(Color::kAttribute_T
ype), |
399 Coverage(255), | 399 Coverage(255), |
400 LocalCoords(LocalCo
ords::kUnused_Type), | 400 LocalCoords(LocalCoords::
kUnused_Type), |
401 fViewMatrix)); | 401 fViewMatrix); |
402 } | 402 } |
403 SkASSERT(lineVertexStride == lineGP->getVertexStride()); | 403 SkASSERT(lineVertexStride == lineGP->getVertexStride()); |
404 | 404 |
405 GrMesh lineMeshes; | 405 GrMesh lineMeshes; |
406 if (fIsIndexed) { | 406 if (fIsIndexed) { |
407 lineMeshes.initIndexed(primitiveType, lineVertexBuffer, lineInde
xBuffer, | 407 lineMeshes.initIndexed(primitiveType, lineVertexBuffer, lineInde
xBuffer, |
408 firstLineVertex, firstLineIndex, lineVe
rtexOffset, | 408 firstLineVertex, firstLineIndex, lineVe
rtexOffset, |
409 lineIndexOffset); | 409 lineIndexOffset); |
410 } else { | 410 } else { |
411 lineMeshes.init(primitiveType, lineVertexBuffer, firstLineVertex
, | 411 lineMeshes.init(primitiveType, lineVertexBuffer, firstLineVertex
, |
412 lineVertexOffset); | 412 lineVertexOffset); |
413 } | 413 } |
414 target->draw(lineGP, lineMeshes); | 414 target->draw(lineGP.get(), lineMeshes); |
415 } | 415 } |
416 | 416 |
417 if (quadVertexOffset) { | 417 if (quadVertexOffset) { |
418 SkAutoTUnref<const GrGeometryProcessor> quadGP(MSAAQuadProcessor::Cr
eate(fViewMatrix)); | 418 SkAutoTUnref<const GrGeometryProcessor> quadGP(MSAAQuadProcessor::Cr
eate(fViewMatrix)); |
419 SkASSERT(quadVertexStride == quadGP->getVertexStride()); | 419 SkASSERT(quadVertexStride == quadGP->getVertexStride()); |
420 | 420 |
421 const GrBuffer* quadVertexBuffer; | 421 const GrBuffer* quadVertexBuffer; |
422 int firstQuadVertex; | 422 int firstQuadVertex; |
423 MSAAQuadVertices::Vertex* quadVertices = (MSAAQuadVertices::Vertex*)
| 423 MSAAQuadVertices::Vertex* quadVertices = (MSAAQuadVertices::Vertex*)
|
424 target->makeVertexSpace(quadVertexStride, quadVertexOffset,
&quadVertexBuffer, | 424 target->makeVertexSpace(quadVertexStride, quadVertexOffset,
&quadVertexBuffer, |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
742 false); | 742 false); |
743 } | 743 } |
744 | 744 |
745 void GrMSAAPathRenderer::onStencilPath(const StencilPathArgs& args) { | 745 void GrMSAAPathRenderer::onStencilPath(const StencilPathArgs& args) { |
746 GR_AUDIT_TRAIL_AUTO_FRAME(args.fDrawContext->auditTrail(), | 746 GR_AUDIT_TRAIL_AUTO_FRAME(args.fDrawContext->auditTrail(), |
747 "GrMSAAPathRenderer::onStencilPath"); | 747 "GrMSAAPathRenderer::onStencilPath"); |
748 SkASSERT(SkPath::kInverseEvenOdd_FillType != args.fPath->getFillType()); | 748 SkASSERT(SkPath::kInverseEvenOdd_FillType != args.fPath->getFillType()); |
749 SkASSERT(SkPath::kInverseWinding_FillType != args.fPath->getFillType()); | 749 SkASSERT(SkPath::kInverseWinding_FillType != args.fPath->getFillType()); |
750 | 750 |
751 GrPaint paint; | 751 GrPaint paint; |
752 SkSafeUnref(paint.setXPFactory(GrDisableColorXPFactory::Create())); | 752 paint.setXPFactory(GrDisableColorXPFactory::Create()); |
753 paint.setAntiAlias(args.fIsAA); | 753 paint.setAntiAlias(args.fIsAA); |
754 | 754 |
755 this->internalDrawPath(args.fDrawContext, | 755 this->internalDrawPath(args.fDrawContext, |
756 paint, | 756 paint, |
757 &GrUserStencilSettings::kUnused, | 757 &GrUserStencilSettings::kUnused, |
758 *args.fClip, | 758 *args.fClip, |
759 GrColor_WHITE, | 759 GrColor_WHITE, |
760 *args.fViewMatrix, | 760 *args.fViewMatrix, |
761 *args.fPath, | 761 *args.fPath, |
762 true); | 762 true); |
763 } | 763 } |
764 | 764 |
765 ////////////////////////////////////////////////////////////////////////////////
/////////////////// | 765 ////////////////////////////////////////////////////////////////////////////////
/////////////////// |
OLD | NEW |