8#ifndef GrMeshDrawTarget_DEFINED
9#define GrMeshDrawTarget_DEFINED
37class SmallPathAtlasMgr;
73 this->
recordDraw(gp, meshes, meshCnt,
nullptr, primitiveType);
82 int* startVertex) = 0;
99 int* startVertex,
int* actualVertexCount) = 0;
109 int* actualIndexCount) = 0;
116 size_t* offsetInBytes) = 0;
124 size_t* offsetInBytes) = 0;
132 int* startVertex,
int* actualVertexCount);
135 int* actualIndexCount);
168#if !defined(SK_ENABLE_OPTIMIZE_SIZE)
virtual const GrAppliedClip * appliedClip() const =0
uint32_t contextUniqueID() const
virtual const GrCaps & caps() const =0
virtual GrLoadOp colorLoadOp() const =0
skgpu::IndexWriter makeIndexWriterAtLeast(int minIndexCount, int fallbackIndexCount, sk_sp< const GrBuffer > *, int *startIndex, int *actualIndexCount)
virtual void putBackIndexedIndirectDraws(int count)=0
virtual void putBackIndirectDraws(int count)=0
virtual bool usesMSAASurface() const =0
virtual void recordDraw(const GrGeometryProcessor *, const GrSimpleMesh[], int meshCnt, const GrSurfaceProxy *const primProcProxies[], GrPrimitiveType)=0
virtual GrAtlasManager * atlasManager() const =0
skgpu::VertexWriter makeVertexWriter(size_t vertexSize, int vertexCount, sk_sp< const GrBuffer > *, int *startVertex)
virtual uint16_t * makeIndexSpaceAtLeast(int minIndexCount, int fallbackIndexCount, sk_sp< const GrBuffer > *, int *startIndex, int *actualIndexCount)=0
virtual const GrSurfaceProxyView & writeView() const =0
virtual void * makeVertexSpaceAtLeast(size_t vertexSize, int minVertexCount, int fallbackVertexCount, sk_sp< const GrBuffer > *, int *startVertex, int *actualVertexCount)=0
virtual GrResourceProvider * resourceProvider() const =0
virtual SkArenaAlloc * allocator()=0
virtual void * makeVertexSpace(size_t vertexSize, int vertexCount, sk_sp< const GrBuffer > *, int *startVertex)=0
virtual GrDrawIndexedIndirectWriter makeDrawIndexedIndirectSpace(int drawCount, sk_sp< const GrBuffer > *, size_t *offsetInBytes)=0
void recordDraw(const GrGeometryProcessor *gp, const GrSimpleMesh meshes[], int meshCnt, GrPrimitiveType primitiveType)
virtual skia_private::TArray< GrSurfaceProxy *, true > * sampledProxyArray()=0
skgpu::IndexWriter makeIndexWriter(int indexCount, sk_sp< const GrBuffer > *, int *startIndex)
const GrSurfaceProxy ** allocPrimProcProxyPtrs(int n)
virtual GrDeferredUploadTarget * deferredUploadTarget()=0
virtual GrRenderTargetProxy * rtProxy() const =0
virtual const GrDstProxyView & dstProxyView() const =0
virtual ~GrMeshDrawTarget()
virtual GrThreadSafeCache * threadSafeCache() const =0
virtual GrXferBarrierFlags renderPassBarriers() const =0
GrSimpleMesh * allocMesh()
skgpu::VertexWriter makeVertexWriterAtLeast(size_t vertexSize, int minVertexCount, int fallbackVertexCount, sk_sp< const GrBuffer > *, int *startVertex, int *actualVertexCount)
virtual void putBackIndices(int indices)=0
virtual sktext::gpu::StrikeCache * strikeCache() const =0
GrSimpleMesh * allocMeshes(int n)
virtual GrAppliedClip detachAppliedClip()=0
virtual GrDrawIndirectWriter makeDrawIndirectSpace(int drawCount, sk_sp< const GrBuffer > *buffer, size_t *offsetInBytes)=0
virtual skgpu::ganesh::SmallPathAtlasMgr * smallPathAtlasManager() const =0
virtual uint16_t * makeIndexSpace(int indexCount, sk_sp< const GrBuffer > *, int *startIndex)=0
virtual void putBackVertices(int vertices, size_t vertexStride)=0
T * makeArray(size_t count)
auto make(Ctor &&ctor) -> decltype(ctor(nullptr))
static const uint8_t buffer[]