8#ifndef GrMtlOpsRenderPass_DEFINED
9#define GrMtlOpsRenderPass_DEFINED
15#import <Metal/Metal.h>
38 GrGpu* gpu()
override {
return fGpu; }
41 void onSetScissorRect(
const SkIRect&)
override;
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;
52 void onDrawIndexedInstanced(
int indexCount,
int baseIndex,
int instanceCount,
int baseInstance,
53 int baseVertex)
override;
54 void onDrawIndirect(
const GrBuffer* drawIndirectBuffer,
size_t bufferOffset,
55 int drawCount)
override;
56 void onDrawIndexedIndirect(
const GrBuffer* drawIndirectBuffer,
size_t bufferOffset,
57 int drawCount)
override;
61 void onClearStencilClip(
const GrScissorState& scissor,
bool insideStencilMask)
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
~GrMtlOpsRenderPass() override
GrMtlOpsRenderPass(GrMtlGpu *gpu, GrRenderTarget *rt, sk_sp< GrMtlFramebuffer >, GrSurfaceOrigin origin, const GrOpsRenderPass::LoadAndStoreInfo &colorInfo, const GrOpsRenderPass::StencilLoadAndStoreInfo &stencilInfo)
void inlineUpload(GrOpFlushState *state, GrDeferredTextureUploadFn &upload) override
void initRenderState(GrMtlRenderCommandEncoder *)