8#ifndef GrMtlOpsRenderPass_DEFINED
9#define GrMtlOpsRenderPass_DEFINED
15#import <Metal/Metal.h>
47 void onDraw(
int vertexCount,
int baseVertex)
override;
48 void onDrawIndexed(
int indexCount,
int baseIndex, uint16_t minIndexValue,
49 uint16_t maxIndexValue,
int baseVertex)
override;
50 void onDrawInstanced(
int instanceCount,
int baseInstance,
int vertexCount,
51 int baseVertex)
override;
53 int baseVertex)
override;
55 int drawCount)
override;
57 int drawCount)
override;
67 size_t inputBufferIndex);
77 MTLPrimitiveType fActivePrimitiveType;
78 MTLRenderPassDescriptor* fRenderPassDesc;
80 size_t fCurrentVertexStride;
81#ifdef SK_ENABLE_MTL_DEBUG_INFO
82 bool fDebugGroupActive =
false;
std::function< void(GrDeferredTextureUploadWritePixelsFn &)> GrDeferredTextureUploadFn
bool onBindTextures(const GrGeometryProcessor &, const GrSurfaceProxy *const geomProcTextures[], const GrPipeline &) override
bool onBindPipeline(const GrProgramInfo &, const SkRect &drawBounds) override
void onDrawInstanced(int instanceCount, int baseInstance, int vertexCount, int baseVertex) override
void onDrawIndirect(const GrBuffer *drawIndirectBuffer, size_t bufferOffset, int drawCount) override
~GrMtlOpsRenderPass() override
void onDrawIndexedIndirect(const GrBuffer *drawIndirectBuffer, size_t bufferOffset, int drawCount) override
void inlineUpload(GrOpFlushState *state, GrDeferredTextureUploadFn &upload) override
void onSetScissorRect(const SkIRect &) override
void onDrawIndexed(int indexCount, int baseIndex, uint16_t minIndexValue, uint16_t maxIndexValue, int baseVertex) override
void onClearStencilClip(const GrScissorState &scissor, bool insideStencilMask) override
void onDraw(int vertexCount, int baseVertex) override
void initRenderState(GrMtlRenderCommandEncoder *)
void onClear(const GrScissorState &scissor, std::array< float, 4 > color) override
void onDrawIndexedInstanced(int indexCount, int baseIndex, int instanceCount, int baseInstance, int baseVertex) override
void onBindBuffers(sk_sp< const GrBuffer > indexBuffer, sk_sp< const GrBuffer > instanceBuffer, sk_sp< const GrBuffer > vertexBuffer, GrPrimitiveRestart) override