8#ifndef GrMockOpTarget_DEFINED
9#define GrMockOpTarget_DEFINED
42namespace skgpu {
namespace ganesh {
class SmallPathAtlasMgr; } }
58 const GrCaps&
caps()
const override {
return *fMockContext->priv().caps(); }
60 return fMockContext->priv().threadSafeCache();
63 return fMockContext->
priv().resourceProvider();
65#ifndef SK_ENABLE_OPTIMIZE_SIZE
77 int* startVertex)
override {
79 SK_ABORT(
"FATAL: wanted %zu bytes of static vertex data; only have %zu.\n",
89 int* actualVertexCount)
override {
91 SK_ABORT(
"FATAL: wanted %zu bytes of static vertex data; only have %zu.\n",
101 size_t* offsetInBytes)
override {
103 SK_ABORT(
"FATAL: wanted %zu bytes of static indirect data; only have %zu.\n",
115 size_t* offsetInBytes)
override {
117 SK_ABORT(
"FATAL: wanted %zu bytes of static indirect data; only have %zu.\n",
131#define UNIMPL(...) __VA_ARGS__ override { SK_ABORT("unimplemented."); }
@ kDynamic_GrAccessPattern
#define SK_ABORT(message,...)
static GrAppliedClip Disabled()
sk_sp< GrGpuBuffer > createBuffer(size_t size, GrGpuBufferType intendedType, GrAccessPattern accessPattern)
virtual const GrAppliedClip * appliedClip() const =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
virtual uint16_t * makeIndexSpaceAtLeast(int minIndexCount, int fallbackIndexCount, sk_sp< const GrBuffer > *, int *startIndex, int *actualIndexCount)=0
virtual const GrSurfaceProxyView & writeView() const =0
virtual skia_private::TArray< GrSurfaceProxy *, true > * sampledProxyArray()=0
virtual GrDeferredUploadTarget * deferredUploadTarget()=0
virtual GrRenderTargetProxy * rtProxy() const =0
virtual void putBackIndices(int indices)=0
virtual sktext::gpu::StrikeCache * strikeCache() const =0
virtual uint16_t * makeIndexSpace(int indexCount, sk_sp< const GrBuffer > *, int *startIndex)=0
SkSTArenaAllocWithReset< 1024 *1024 > fAllocator
const void * peekStaticVertexData() const
char fStaticIndirectData[sizeof(GrDrawIndexedIndirectCommand) *32]
GrDrawIndexedIndirectWriter makeDrawIndexedIndirectSpace(int drawCount, sk_sp< const GrBuffer > *buffer, size_t *offsetInBytes) override
const void * peekStaticIndirectData() const
void * makeVertexSpace(size_t vertexSize, int vertexCount, sk_sp< const GrBuffer > *buffer, int *startVertex) override
GrResourceProvider * resourceProvider() const override
sk_sp< GrGpuBuffer > fStaticIndirectBuffer
GrMockOpTarget(sk_sp< GrDirectContext > mockContext)
SkArenaAlloc * allocator() override
GrDstProxyView fDstProxyView
UNIMPL(void recordDraw(const GrGeometryProcessor *, const GrSimpleMesh fStaticVertexData[], int, const GrSurfaceProxy *const [], GrPrimitiveType)) private char[6 *1024 *1024]
void putBackVertices(int vertices, size_t vertexStride) override
void * makeVertexSpaceAtLeast(size_t vertexSize, int minVertexCount, int fallbackVertexCount, sk_sp< const GrBuffer > *buffer, int *startVertex, int *actualVertexCount) override
GrAppliedClip detachAppliedClip() override
GrXferBarrierFlags renderPassBarriers() const override
const GrDstProxyView & dstProxyView() const override
skgpu::ganesh::SmallPathAtlasMgr * smallPathAtlasManager() const override
void putBackIndexedIndirectDraws(int count) override
const GrCaps & caps() const override
GrDrawIndirectWriter makeDrawIndirectSpace(int drawCount, sk_sp< const GrBuffer > *buffer, size_t *offsetInBytes) override
GrLoadOp colorLoadOp() const override
sk_sp< GrGpuBuffer > fStaticVertexBuffer
void putBackIndirectDraws(int count) override
GrThreadSafeCache * threadSafeCache() const override
const GrDirectContext * mockContext() const
GrResourceProviderPriv priv()
static const uint8_t buffer[]