Flutter Engine
The Flutter Engine
|
#include <GrOpsRenderPass.h>
Classes | |
struct | LoadAndStoreInfo |
struct | StencilLoadAndStoreInfo |
Public Member Functions | |
virtual | ~GrOpsRenderPass () |
void | begin () |
void | end () |
void | bindPipeline (const GrProgramInfo &, const SkRect &drawBounds) |
void | setScissorRect (const SkIRect &) |
void | bindTextures (const GrGeometryProcessor &, const GrSurfaceProxy *const geomProcTextures[], const GrPipeline &) |
void | bindBuffers (sk_sp< const GrBuffer > indexBuffer, sk_sp< const GrBuffer > instanceBuffer, sk_sp< const GrBuffer > vertexBuffer, GrPrimitiveRestart=GrPrimitiveRestart::kNo) |
void | draw (int vertexCount, int baseVertex) |
void | drawIndexed (int indexCount, int baseIndex, uint16_t minIndexValue, uint16_t maxIndexValue, int baseVertex) |
void | drawInstanced (int instanceCount, int baseInstance, int vertexCount, int baseVertex) |
void | drawIndexedInstanced (int indexCount, int baseIndex, int instanceCount, int baseInstance, int baseVertex) |
void | drawIndirect (const GrBuffer *drawIndirectBuffer, size_t bufferOffset, int drawCount) |
void | drawIndexedIndirect (const GrBuffer *drawIndirectBuffer, size_t bufferOffset, int drawCount) |
void | drawIndexPattern (int patternIndexCount, int patternRepeatCount, int maxPatternRepetitionsInIndexBuffer, int patternVertexCount, int baseVertex) |
virtual void | inlineUpload (GrOpFlushState *, GrDeferredTextureUploadFn &)=0 |
void | clear (const GrScissorState &scissor, std::array< float, 4 > color) |
void | clearStencilClip (const GrScissorState &scissor, bool insideStencilMask) |
void | executeDrawable (std::unique_ptr< SkDrawable::GpuDrawHandler >) |
Protected Member Functions | |
GrOpsRenderPass () | |
GrOpsRenderPass (GrRenderTarget *rt, GrSurfaceOrigin origin) | |
void | set (GrRenderTarget *rt, GrSurfaceOrigin origin) |
Protected Attributes | |
GrSurfaceOrigin | fOrigin |
GrRenderTarget * | fRenderTarget |
sk_sp< const GrBuffer > | fActiveIndexBuffer |
sk_sp< const GrBuffer > | fActiveVertexBuffer |
sk_sp< const GrBuffer > | fActiveInstanceBuffer |
Private Member Functions | |
virtual GrGpu * | gpu ()=0 |
virtual void | onBegin () |
virtual void | onEnd () |
virtual bool | onBindPipeline (const GrProgramInfo &, const SkRect &drawBounds)=0 |
virtual void | onSetScissorRect (const SkIRect &)=0 |
virtual bool | onBindTextures (const GrGeometryProcessor &, const GrSurfaceProxy *const geomProcTextures[], const GrPipeline &)=0 |
virtual void | onBindBuffers (sk_sp< const GrBuffer > indexBuffer, sk_sp< const GrBuffer > instanceBuffer, sk_sp< const GrBuffer > vertexBuffer, GrPrimitiveRestart)=0 |
virtual void | onDraw (int vertexCount, int baseVertex)=0 |
virtual void | onDrawIndexed (int indexCount, int baseIndex, uint16_t minIndexValue, uint16_t maxIndexValue, int baseVertex)=0 |
virtual void | onDrawInstanced (int instanceCount, int baseInstance, int vertexCount, int baseVertex)=0 |
virtual void | onDrawIndexedInstanced (int indexCount, int baseIndex, int instanceCount, int baseInstance, int baseVertex)=0 |
virtual void | onDrawIndirect (const GrBuffer *, size_t offset, int drawCount) |
virtual void | onDrawIndexedIndirect (const GrBuffer *, size_t offset, int drawCount) |
virtual void | onClear (const GrScissorState &, std::array< float, 4 > color)=0 |
virtual void | onClearStencilClip (const GrScissorState &, bool insideStencilMask)=0 |
virtual void | onExecuteDrawable (std::unique_ptr< SkDrawable::GpuDrawHandler >) |
The GrOpsRenderPass is a series of commands (draws, clears, and discards), which all target the same render target. It is possible that these commands execute immediately (GL), or get buffered up for later execution (Vulkan). GrOps execute into a GrOpsRenderPass.
Definition at line 42 of file GrOpsRenderPass.h.
|
inlinevirtual |
Definition at line 44 of file GrOpsRenderPass.h.
|
inlineprotected |
Definition at line 153 of file GrOpsRenderPass.h.
|
inlineprotected |
Definition at line 155 of file GrOpsRenderPass.h.
void GrOpsRenderPass::begin | ( | ) |
Definition at line 31 of file GrOpsRenderPass.cpp.
void GrOpsRenderPass::bindBuffers | ( | sk_sp< const GrBuffer > | indexBuffer, |
sk_sp< const GrBuffer > | instanceBuffer, | ||
sk_sp< const GrBuffer > | vertexBuffer, | ||
GrPrimitiveRestart | primRestart = GrPrimitiveRestart::kNo |
||
) |
Definition at line 180 of file GrOpsRenderPass.cpp.
void GrOpsRenderPass::bindPipeline | ( | const GrProgramInfo & | programInfo, |
const SkRect & | drawBounds | ||
) |
Definition at line 71 of file GrOpsRenderPass.cpp.
void GrOpsRenderPass::bindTextures | ( | const GrGeometryProcessor & | geomProc, |
const GrSurfaceProxy *const | geomProcTextures[], | ||
const GrPipeline & | pipeline | ||
) |
Definition at line 141 of file GrOpsRenderPass.cpp.
void GrOpsRenderPass::clear | ( | const GrScissorState & | scissor, |
std::array< float, 4 > | color | ||
) |
Clear the owned render target. Clears the full target if 'scissor' is disabled, otherwise it is restricted to 'scissor'. Must check caps.performPartialClearsAsDraws() before using an enabled scissor test; must check caps.performColorClearsAsDraws() before using this at all.
Definition at line 48 of file GrOpsRenderPass.cpp.
void GrOpsRenderPass::clearStencilClip | ( | const GrScissorState & | scissor, |
bool | insideStencilMask | ||
) |
Same as clear() but modifies the stencil; check caps.performStencilClearsAsDraws() and caps.performPartialClearsAsDraws().
Definition at line 58 of file GrOpsRenderPass.cpp.
Definition at line 228 of file GrOpsRenderPass.cpp.
void GrOpsRenderPass::drawIndexed | ( | int | indexCount, |
int | baseIndex, | ||
uint16_t | minIndexValue, | ||
uint16_t | maxIndexValue, | ||
int | baseVertex | ||
) |
Definition at line 238 of file GrOpsRenderPass.cpp.
void GrOpsRenderPass::drawIndexedIndirect | ( | const GrBuffer * | drawIndirectBuffer, |
size_t | bufferOffset, | ||
int | drawCount | ||
) |
Definition at line 299 of file GrOpsRenderPass.cpp.
void GrOpsRenderPass::drawIndexedInstanced | ( | int | indexCount, |
int | baseIndex, | ||
int | instanceCount, | ||
int | baseInstance, | ||
int | baseVertex | ||
) |
Definition at line 261 of file GrOpsRenderPass.cpp.
void GrOpsRenderPass::drawIndexPattern | ( | int | patternIndexCount, |
int | patternRepeatCount, | ||
int | maxPatternRepetitionsInIndexBuffer, | ||
int | patternVertexCount, | ||
int | baseVertex | ||
) |
Definition at line 327 of file GrOpsRenderPass.cpp.
void GrOpsRenderPass::drawIndirect | ( | const GrBuffer * | drawIndirectBuffer, |
size_t | bufferOffset, | ||
int | drawCount | ||
) |
Definition at line 273 of file GrOpsRenderPass.cpp.
void GrOpsRenderPass::drawInstanced | ( | int | instanceCount, |
int | baseInstance, | ||
int | vertexCount, | ||
int | baseVertex | ||
) |
Definition at line 249 of file GrOpsRenderPass.cpp.
void GrOpsRenderPass::end | ( | ) |
Definition at line 43 of file GrOpsRenderPass.cpp.
void GrOpsRenderPass::executeDrawable | ( | std::unique_ptr< SkDrawable::GpuDrawHandler > | drawable | ) |
Executes the SkDrawable object for the underlying backend.
Definition at line 66 of file GrOpsRenderPass.cpp.
|
privatepure virtual |
Implemented in GrMockOpsRenderPass.
|
pure virtual |
Implemented in GrMockOpsRenderPass, GrD3DOpsRenderPass, GrGLOpsRenderPass, GrMtlOpsRenderPass, and GrVkOpsRenderPass.
|
inlineprivatevirtual |
Definition at line 188 of file GrOpsRenderPass.h.
|
privatepure virtual |
|
privatepure virtual |
|
privatepure virtual |
|
privatepure virtual |
|
privatepure virtual |
|
privatepure virtual |
|
inlineprivatevirtual |
Definition at line 207 of file GrOpsRenderPass.h.
|
privatepure virtual |
|
inlineprivatevirtual |
Definition at line 204 of file GrOpsRenderPass.h.
|
privatepure virtual |
|
inlineprivatevirtual |
Definition at line 189 of file GrOpsRenderPass.h.
|
inlineprivatevirtual |
Reimplemented in GrD3DOpsRenderPass, and GrVkOpsRenderPass.
Definition at line 212 of file GrOpsRenderPass.h.
|
privatepure virtual |
|
inlineprotected |
Definition at line 160 of file GrOpsRenderPass.h.
void GrOpsRenderPass::setScissorRect | ( | const SkIRect & | scissor | ) |
Definition at line 131 of file GrOpsRenderPass.cpp.
Definition at line 172 of file GrOpsRenderPass.h.
Definition at line 174 of file GrOpsRenderPass.h.
Definition at line 173 of file GrOpsRenderPass.h.
|
protected |
Definition at line 167 of file GrOpsRenderPass.h.
|
protected |
Definition at line 168 of file GrOpsRenderPass.h.