| Index: src/gpu/GrInOrderCommandBuilder.cpp
|
| diff --git a/src/gpu/GrInOrderCommandBuilder.cpp b/src/gpu/GrInOrderCommandBuilder.cpp
|
| index b9387e9486c49de4f7ee12e4310b0c177427b2a9..30237858ae94fd483553ce10ae4c597cbc54dd36 100644
|
| --- a/src/gpu/GrInOrderCommandBuilder.cpp
|
| +++ b/src/gpu/GrInOrderCommandBuilder.cpp
|
| @@ -40,65 +40,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;
|
| -}
|
|
|