| Index: src/gpu/GrInOrderCommandBuilder.cpp
|
| diff --git a/src/gpu/GrInOrderCommandBuilder.cpp b/src/gpu/GrInOrderCommandBuilder.cpp
|
| index b9387e9486c49de4f7ee12e4310b0c177427b2a9..bbe42a6de5fdbafb82d80e9b12ebea5a93d72428 100644
|
| --- a/src/gpu/GrInOrderCommandBuilder.cpp
|
| +++ b/src/gpu/GrInOrderCommandBuilder.cpp
|
| @@ -12,19 +12,6 @@
|
| #include "GrColor.h"
|
| #include "SkPoint.h"
|
|
|
| -static bool path_fill_type_is_winding(const GrStencilSettings& pathStencilSettings) {
|
| - static const GrStencilSettings::Face pathFace = GrStencilSettings::kFront_Face;
|
| - bool isWinding = kInvert_StencilOp != pathStencilSettings.passOp(pathFace);
|
| - if (isWinding) {
|
| - // Double check that it is in fact winding.
|
| - SkASSERT(kIncClamp_StencilOp == pathStencilSettings.passOp(pathFace));
|
| - SkASSERT(kIncClamp_StencilOp == pathStencilSettings.failOp(pathFace));
|
| - SkASSERT(0x1 != pathStencilSettings.writeMask(pathFace));
|
| - SkASSERT(!pathStencilSettings.isTwoSided());
|
| - }
|
| - return isWinding;
|
| -}
|
| -
|
| GrTargetCommands::Cmd* GrInOrderCommandBuilder::recordDrawBatch(GrBatch* batch,
|
| const GrCaps& caps) {
|
| GrBATCH_INFO("In-Recording (%s, %u)\n", batch->name(), batch->uniqueID());
|
| @@ -40,65 +27,3 @@ GrTargetCommands::Cmd* GrInOrderCommandBuilder::recordDrawBatch(GrBatch* batch,
|
|
|
| return GrNEW_APPEND_TO_RECORDER(*this->cmdBuffer(), DrawBatch, (batch));
|
| }
|
| -
|
| -GrTargetCommands::Cmd*
|
| -GrInOrderCommandBuilder::recordDrawPaths(State* state,
|
| - GrBufferedDrawTarget* bufferedDrawTarget,
|
| - const GrPathProcessor* pathProc,
|
| - const GrPathRange* pathRange,
|
| - const void* indexValues,
|
| - GrDrawTarget::PathIndexType indexType,
|
| - const float transformValues[],
|
| - GrDrawTarget::PathTransformType transformType,
|
| - int count,
|
| - const GrStencilSettings& stencilSettings,
|
| - const GrPipelineOptimizations& opts) {
|
| - SkASSERT(pathRange);
|
| - SkASSERT(indexValues);
|
| - SkASSERT(transformValues);
|
| -
|
| - char* savedIndices;
|
| - float* savedTransforms;
|
| -
|
| - bufferedDrawTarget->appendIndicesAndTransforms(indexValues, indexType,
|
| - transformValues, transformType,
|
| - count, &savedIndices, &savedTransforms);
|
| -
|
| - if (!this->cmdBuffer()->empty() &&
|
| - Cmd::kDrawPaths_CmdType == this->cmdBuffer()->back().type()) {
|
| - // Try to combine this call with the previous DrawPaths. We do this by stenciling all the
|
| - // paths together and then covering them in a single pass. This is not equivalent to two
|
| - // separate draw calls, so we can only do it if there is no blending (no overlap would also
|
| - // work). Note that it's also possible for overlapping paths to cancel each other's winding
|
| - // numbers, and we only partially account for this by not allowing even/odd paths to be
|
| - // combined. (Glyphs in the same font tend to wind the same direction so it works out OK.)
|
| - DrawPaths* previous = static_cast<DrawPaths*>(&this->cmdBuffer()->back());
|
| - if (pathRange == previous->pathRange() &&
|
| - indexType == previous->fIndexType &&
|
| - transformType == previous->fTransformType &&
|
| - stencilSettings == previous->fStencilSettings &&
|
| - path_fill_type_is_winding(stencilSettings) &&
|
| - previous->fState == state &&
|
| - !opts.willColorBlendWithDst()) {
|
| -
|
| - const int indexBytes = GrPathRange::PathIndexSizeInBytes(indexType);
|
| - const int xformSize = GrPathRendering::PathTransformSize(transformType);
|
| - if (&previous->fIndices[previous->fCount * indexBytes] == savedIndices &&
|
| - (0 == xformSize ||
|
| - &previous->fTransforms[previous->fCount * xformSize] == savedTransforms)) {
|
| - // Combine this DrawPaths call with the one previous.
|
| - previous->fCount += count;
|
| - return nullptr;
|
| - }
|
| - }
|
| - }
|
| -
|
| - DrawPaths* dp = GrNEW_APPEND_TO_RECORDER(*this->cmdBuffer(), DrawPaths, (state, pathRange));
|
| - dp->fIndices = savedIndices;
|
| - dp->fIndexType = indexType;
|
| - dp->fTransforms = savedTransforms;
|
| - dp->fTransformType = transformType;
|
| - dp->fCount = count;
|
| - dp->fStencilSettings = stencilSettings;
|
| - return dp;
|
| -}
|
|
|