aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/ccpr/GrCCPathParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/ccpr/GrCCPathParser.cpp')
-rw-r--r--src/gpu/ccpr/GrCCPathParser.cpp35
1 files changed, 3 insertions, 32 deletions
diff --git a/src/gpu/ccpr/GrCCPathParser.cpp b/src/gpu/ccpr/GrCCPathParser.cpp
index 2740569fe6..f77c52e6f1 100644
--- a/src/gpu/ccpr/GrCCPathParser.cpp
+++ b/src/gpu/ccpr/GrCCPathParser.cpp
@@ -114,9 +114,7 @@ void GrCCPathParser::parsePath(const SkPath& path, const SkPoint* deviceSpacePts
return;
}
- const float* conicWeights = SkPathPriv::ConicWeightData(path);
int ptsIdx = 0;
- int conicWeightsIdx = 0;
bool insideContour = false;
for (SkPath::Verb verb : SkPathPriv::Verbs(path)) {
@@ -144,16 +142,11 @@ void GrCCPathParser::parsePath(const SkPath& path, const SkPoint* deviceSpacePts
ptsIdx += 3;
continue;
case SkPath::kConic_Verb:
- fGeometry.conicTo(&deviceSpacePts[ptsIdx - 1], conicWeights[conicWeightsIdx]);
- ptsIdx += 2;
- ++conicWeightsIdx;
- continue;
+ SK_ABORT("Conics are not supported.");
default:
SK_ABORT("Unexpected path verb.");
}
}
- SkASSERT(ptsIdx == path.countPoints());
- SkASSERT(conicWeightsIdx == SkPathPriv::ConicWeightCnt(path));
this->endContourIfNeeded(insideContour);
}
@@ -203,7 +196,6 @@ void GrCCPathParser::saveParsedPath(ScissorMode scissorMode, const SkIRect& clip
continue;
case GrCCGeometry::Verb::kMonotonicQuadraticTo:
- case GrCCGeometry::Verb::kMonotonicConicTo:
fan.lineTo(pts[ptsIdx + 1]);
ptsIdx += 2;
continue;
@@ -385,9 +377,7 @@ bool GrCCPathParser::finalize(GrOnFlushResourceProvider* onFlushRP) {
fBaseInstances[0].fCubics = fBaseInstances[1].fWeightedTriangles +
fTotalPrimitiveCounts[1].fWeightedTriangles;
fBaseInstances[1].fCubics = fBaseInstances[0].fCubics + fTotalPrimitiveCounts[0].fCubics;
- fBaseInstances[0].fConics = fBaseInstances[1].fCubics + fTotalPrimitiveCounts[1].fCubics;
- fBaseInstances[1].fConics = fBaseInstances[0].fConics + fTotalPrimitiveCounts[0].fConics;
- int quadEndIdx = fBaseInstances[1].fConics + fTotalPrimitiveCounts[1].fConics;
+ int quadEndIdx = fBaseInstances[1].fCubics + fTotalPrimitiveCounts[1].fCubics;
fInstanceBuffer = onFlushRP->makeBuffer(kVertex_GrBufferType,
quadEndIdx * sizeof(QuadPointInstance));
@@ -410,7 +400,6 @@ bool GrCCPathParser::finalize(GrOnFlushResourceProvider* onFlushRP) {
const SkTArray<SkPoint, true>& pts = fGeometry.points();
int ptsIdx = -1;
- int nextConicWeightIdx = 0;
// Expand the ccpr verbs into GPU instance buffers.
for (GrCCGeometry::Verb verb : fGeometry.verbs()) {
@@ -465,17 +454,6 @@ bool GrCCPathParser::finalize(GrOnFlushResourceProvider* onFlushRP) {
}
continue;
- case GrCCGeometry::Verb::kMonotonicConicTo:
- quadPointInstanceData[currIndices->fConics++].setW(
- &pts[ptsIdx], atlasOffset, fGeometry.getConicWeight(nextConicWeightIdx));
- ptsIdx += 2;
- ++nextConicWeightIdx;
- if (!currFanIsTessellated) {
- SkASSERT(!currFan.empty());
- currFan.push_back(ptsIdx);
- }
- continue;
-
case GrCCGeometry::Verb::kEndClosedContour: // endPt == startPt.
if (!currFanIsTessellated) {
SkASSERT(!currFan.empty());
@@ -511,9 +489,7 @@ bool GrCCPathParser::finalize(GrOnFlushResourceProvider* onFlushRP) {
SkASSERT(instanceIndices[0].fWeightedTriangles == fBaseInstances[1].fWeightedTriangles);
SkASSERT(instanceIndices[1].fWeightedTriangles == fBaseInstances[0].fCubics);
SkASSERT(instanceIndices[0].fCubics == fBaseInstances[1].fCubics);
- SkASSERT(instanceIndices[1].fCubics == fBaseInstances[0].fConics);
- SkASSERT(instanceIndices[0].fConics == fBaseInstances[1].fConics);
- SkASSERT(instanceIndices[1].fConics == quadEndIdx);
+ SkASSERT(instanceIndices[1].fCubics == quadEndIdx);
fMeshesScratchBuffer.reserve(fMaxMeshesPerDraw);
fDynamicStatesScratchBuffer.reserve(fMaxMeshesPerDraw);
@@ -551,11 +527,6 @@ void GrCCPathParser::drawCoverageCount(GrOpFlushState* flushState, CoverageCount
this->drawPrimitives(flushState, pipeline, batchID, PrimitiveType::kCubics,
&PrimitiveTallies::fCubics, drawBounds);
}
-
- if (batchTotalCounts.fConics) {
- this->drawPrimitives(flushState, pipeline, batchID, PrimitiveType::kConics,
- &PrimitiveTallies::fConics, drawBounds);
- }
}
void GrCCPathParser::drawPrimitives(GrOpFlushState* flushState, const GrPipeline& pipeline,