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 41 of file GrOpsRenderPass.h.
|
inlinevirtual |
Definition at line 43 of file GrOpsRenderPass.h.
|
inlineprotected |
Definition at line 152 of file GrOpsRenderPass.h.
|
inlineprotected |
Definition at line 154 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 GrD3DOpsRenderPass, GrGLOpsRenderPass, GrMockOpsRenderPass, GrMtlOpsRenderPass, and GrVkOpsRenderPass.
|
pure virtual |
Implemented in GrMockOpsRenderPass, GrD3DOpsRenderPass, GrGLOpsRenderPass, GrMtlOpsRenderPass, and GrVkOpsRenderPass.
|
inlineprivatevirtual |
Reimplemented in GrD3DOpsRenderPass, GrGLOpsRenderPass, and GrMockOpsRenderPass.
Definition at line 187 of file GrOpsRenderPass.h.
|
privatepure virtual |
Implemented in GrD3DOpsRenderPass, GrGLOpsRenderPass, GrMockOpsRenderPass, GrMtlOpsRenderPass, and GrVkOpsRenderPass.
|
privatepure virtual |
Implemented in GrMockOpsRenderPass, GrD3DOpsRenderPass, GrMtlOpsRenderPass, GrVkOpsRenderPass, and GrGLOpsRenderPass.
|
privatepure virtual |
Implemented in GrD3DOpsRenderPass, GrGLOpsRenderPass, GrMockOpsRenderPass, GrMtlOpsRenderPass, and GrVkOpsRenderPass.
|
privatepure virtual |
Implemented in GrD3DOpsRenderPass, GrGLOpsRenderPass, GrMtlOpsRenderPass, GrVkOpsRenderPass, and GrMockOpsRenderPass.
|
privatepure virtual |
Implemented in GrD3DOpsRenderPass, GrGLOpsRenderPass, GrMockOpsRenderPass, GrMtlOpsRenderPass, and GrVkOpsRenderPass.
Implemented in GrD3DOpsRenderPass, GrGLOpsRenderPass, GrMtlOpsRenderPass, GrVkOpsRenderPass, and GrMockOpsRenderPass.
|
privatepure virtual |
Implemented in GrD3DOpsRenderPass, GrGLOpsRenderPass, GrMtlOpsRenderPass, GrVkOpsRenderPass, and GrMockOpsRenderPass.
|
inlineprivatevirtual |
Reimplemented in GrD3DOpsRenderPass, GrMockOpsRenderPass, GrMtlOpsRenderPass, GrGLOpsRenderPass, and GrVkOpsRenderPass.
Definition at line 206 of file GrOpsRenderPass.h.
|
privatepure virtual |
Implemented in GrD3DOpsRenderPass, GrGLOpsRenderPass, GrMtlOpsRenderPass, GrVkOpsRenderPass, and GrMockOpsRenderPass.
|
inlineprivatevirtual |
Reimplemented in GrD3DOpsRenderPass, GrMockOpsRenderPass, GrMtlOpsRenderPass, GrGLOpsRenderPass, and GrVkOpsRenderPass.
Definition at line 203 of file GrOpsRenderPass.h.
|
privatepure virtual |
Implemented in GrD3DOpsRenderPass, GrGLOpsRenderPass, GrMtlOpsRenderPass, GrVkOpsRenderPass, and GrMockOpsRenderPass.
|
inlineprivatevirtual |
Reimplemented in GrGLOpsRenderPass, and GrVkOpsRenderPass.
Definition at line 188 of file GrOpsRenderPass.h.
|
inlineprivatevirtual |
Reimplemented in GrD3DOpsRenderPass, and GrVkOpsRenderPass.
Definition at line 211 of file GrOpsRenderPass.h.
|
privatepure virtual |
Implemented in GrD3DOpsRenderPass, GrMockOpsRenderPass, GrMtlOpsRenderPass, GrVkOpsRenderPass, and GrGLOpsRenderPass.
|
inlineprotected |
Definition at line 159 of file GrOpsRenderPass.h.
void GrOpsRenderPass::setScissorRect | ( | const SkIRect & | scissor | ) |
Definition at line 131 of file GrOpsRenderPass.cpp.
Definition at line 171 of file GrOpsRenderPass.h.
Definition at line 173 of file GrOpsRenderPass.h.
Definition at line 172 of file GrOpsRenderPass.h.
|
protected |
Definition at line 166 of file GrOpsRenderPass.h.
|
protected |
Definition at line 167 of file GrOpsRenderPass.h.