8#ifndef GrGLOpsRenderPass_DEFINED
9#define GrGLOpsRenderPass_DEFINED
34 const LoadAndStoreInfo&,
const StencilLoadAndStoreInfo&);
41 GrGpu* gpu()
override {
return fGpu; }
43 void bindInstanceBuffer(
const GrBuffer*,
int baseInstance);
44 void bindVertexBuffer(
const GrBuffer*,
int baseVertex);
46 const void* offsetForBaseIndex(
int baseIndex)
const {
49 return (
void*)(baseIndex *
sizeof(uint16_t));
51 return fIndexPointer + baseIndex;
60 void onBegin()
override;
61 void onEnd()
override;
63 void onSetScissorRect(
const SkIRect& scissor)
override;
69 void onDraw(
int vertexCount,
int baseVertex)
override;
70 void onDrawIndexed(
int indexCount,
int baseIndex, uint16_t minIndexValue,
71 uint16_t maxIndexValue,
int baseVertex)
override;
72 void onDrawInstanced(
int instanceCount,
int baseInstance,
int vertexCount,
73 int baseVertex)
override;
74 void onDrawIndexedInstanced(
int indexCount,
int baseIndex,
int instanceCount,
int baseInstance,
75 int baseVertex)
override;
76 void onDrawIndirect(
const GrBuffer* drawIndirectBuffer,
size_t offset,
int drawCount)
override;
77 void multiDrawArraysANGLEOrWebGL(
const GrBuffer* drawIndirectBuffer,
size_t offset,
79 void onDrawIndexedIndirect(
const GrBuffer* drawIndirectBuffer,
size_t offset,
80 int drawCount)
override;
81 void multiDrawElementsANGLEOrWebGL(
const GrBuffer* drawIndirectBuffer,
size_t offset,
84 void onClearStencilClip(
const GrScissorState& scissor,
bool insideStencilMask)
override;
88 bool fUseMultisampleFBO;
90 LoadAndStoreInfo fColorLoadAndStoreInfo;
91 StencilLoadAndStoreInfo fStencilLoadAndStoreInfo;
99 const uint16_t* fIndexPointer;
102 SkDEBUGCODE(
bool fDidBindVertexBuffer =
false;)
103 SkDEBUGCODE(
bool fDidBindInstanceBuffer =
false;)
std::function< void(GrDeferredTextureUploadWritePixelsFn &)> GrDeferredTextureUploadFn
GrGLOpsRenderPass(GrGLGpu *gpu)
void set(GrRenderTarget *, bool useMSAASurface, const SkIRect &contentBounds, GrSurfaceOrigin, const LoadAndStoreInfo &, const StencilLoadAndStoreInfo &)
void inlineUpload(GrOpFlushState *state, GrDeferredTextureUploadFn &upload) override
GrRenderTarget * fRenderTarget