#include "src/gpu/ganesh/ops/GrMeshDrawOp.h"
#include "include/gpu/ganesh/GrRecordingContext.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkDebug.h"
#include "include/private/base/SkMath.h"
#include "src/gpu/ganesh/GrBuffer.h"
#include "src/gpu/ganesh/GrMeshDrawTarget.h"
#include "src/gpu/ganesh/GrOpFlushState.h"
#include "src/gpu/ganesh/GrRecordingContextPriv.h"
#include "src/gpu/ganesh/GrRenderTargetProxy.h"
#include "src/gpu/ganesh/GrResourceProvider.h"
#include "src/gpu/ganesh/GrSimpleMesh.h"
#include "src/gpu/ganesh/GrSurfaceProxyView.h"
class GrGpuBuffer;
GrMeshDrawOp::GrMeshDrawOp(uint32_t classID) : … { … }
void GrMeshDrawOp::onPrepare(GrOpFlushState* state) { … }
void GrMeshDrawOp::createProgramInfo(GrMeshDrawTarget* target) { … }
bool GrMeshDrawOp::CombinedQuadCountWillOverflow(GrAAType aaType,
bool willBeUpgradedToAA,
int combinedQuadCount) { … }
void GrMeshDrawOp::onPrePrepareDraws(GrRecordingContext* context,
const GrSurfaceProxyView& writeView,
GrAppliedClip* clip,
const GrDstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers,
GrLoadOp colorLoadOp) { … }
GrMeshDrawOp::PatternHelper::PatternHelper(GrMeshDrawTarget* target, GrPrimitiveType primitiveType,
size_t vertexStride, sk_sp<const GrBuffer> indexBuffer,
int verticesPerRepetition, int indicesPerRepetition,
int repeatCount, int maxRepetitions) { … }
void GrMeshDrawOp::PatternHelper::init(GrMeshDrawTarget* target, GrPrimitiveType primitiveType,
size_t vertexStride, sk_sp<const GrBuffer> indexBuffer,
int verticesPerRepetition, int indicesPerRepetition,
int repeatCount, int maxRepetitions) { … }
void GrMeshDrawOp::PatternHelper::recordDraw(GrMeshDrawTarget* target,
const GrGeometryProcessor* gp) const { … }
void GrMeshDrawOp::PatternHelper::recordDraw(
GrMeshDrawTarget* target,
const GrGeometryProcessor* gp,
const GrSurfaceProxy* const primProcProxies[]) const { … }
GrMeshDrawOp::QuadHelper::QuadHelper(GrMeshDrawTarget* target,
size_t vertexStride,
int quadsToDraw) { … }