Revert "ccpr: Implement conics"
This reverts commit 98b241573e6083c4c7f0ce9e30cc214c4da1a8ba.
Reason for revert: TSAN not happy
Original change's description:
> ccpr: Implement conics
>
> Bug: skia:
> Change-Id: I4bae8b059072af987abb7b2d9c57fe08f783d680
> Reviewed-on: https://skia-review.googlesource.com/120040
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com
Change-Id: Ic29bf660f042c20b7e4492b03400412e378dbb8a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/121717
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
diff --git a/src/gpu/ccpr/GrCCPathParser.cpp b/src/gpu/ccpr/GrCCPathParser.cpp
index 2740569..f77c52e 100644
--- a/src/gpu/ccpr/GrCCPathParser.cpp
+++ b/src/gpu/ccpr/GrCCPathParser.cpp
@@ -114,9 +114,7 @@
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 @@
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 @@
continue;
case GrCCGeometry::Verb::kMonotonicQuadraticTo:
- case GrCCGeometry::Verb::kMonotonicConicTo:
fan.lineTo(pts[ptsIdx + 1]);
ptsIdx += 2;
continue;
@@ -385,9 +377,7 @@
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 @@
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 @@
}
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 @@
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 @@
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,