|
const GrThreadSafeCache::VertexData * | vertexData () const |
|
| GrDrawOp (uint32_t classID) |
|
virtual bool | usesMSAA () const |
|
virtual ClipResult | clipToShape (skgpu::ganesh::SurfaceDrawContext *, SkClipOp, const SkMatrix &, const GrShape &, GrAA) |
|
virtual bool | usesStencil () const |
|
virtual | ~GrOp ()=default |
|
virtual void | visitProxies (const GrVisitProxyFunc &) const |
|
CombineResult | combineIfPossible (GrOp *that, SkArenaAlloc *alloc, const GrCaps &caps) |
|
const SkRect & | bounds () const |
|
void | setClippedBounds (const SkRect &clippedBounds) |
|
bool | hasAABloat () const |
|
bool | hasZeroArea () const |
|
void | operator delete (void *p) |
|
template<typename T > |
const T & | cast () const |
|
template<typename T > |
T * | cast () |
|
uint32_t | classID () const |
|
uint32_t | uniqueID () const |
|
void | prePrepare (GrRecordingContext *context, const GrSurfaceProxyView &dstView, GrAppliedClip *clip, const GrDstProxyView &dstProxyView, GrXferBarrierFlags renderPassXferBarriers, GrLoadOp colorLoadOp) |
|
void | prepare (GrOpFlushState *state) |
|
void | execute (GrOpFlushState *state, const SkRect &chainBounds) |
|
void | chainConcat (GrOp::Owner) |
|
bool | isChainHead () const |
|
bool | isChainTail () const |
|
GrOp * | nextInChain () const |
|
GrOp * | prevInChain () const |
|
GrOp::Owner | cutChain () |
|
void | setBounds (const SkRect &newBounds, HasAABloat aabloat, IsHairline zeroArea) |
|
void | setTransformedBounds (const SkRect &srcBounds, const SkMatrix &m, HasAABloat aabloat, IsHairline zeroArea) |
|
void | makeFullScreen (GrSurfaceProxy *proxy) |
|
|
static DEFINE_OP_CLASS_ID GrOp::Owner | Make (GrRecordingContext *rContext, TestHelper::Stats *stats, int wh, int id, bool failLookup, bool failFillingIn, GrThreadSafeCache::IsNewerBetter isNewerBetter) |
|
template<typename Op , typename... Args> |
static Owner | Make (GrRecordingContext *context, Args &&... args) |
|
template<typename Op , typename... Args> |
static Owner | MakeWithProcessorSet (GrRecordingContext *context, const SkPMColor4f &color, GrPaint &&paint, Args &&... args) |
|
template<typename Op , typename... Args> |
static Owner | MakeWithExtraMemory (GrRecordingContext *context, size_t extraSize, Args &&... args) |
|
static uint32_t | GenOpClassID () |
|
Definition at line 475 of file GrThreadSafeCacheTest.cpp.
◆ finalize()
|
inlineoverrideprivatevirtual |
This is called after the GrAppliedClip has been computed and just prior to recording the op or combining it with a previously recorded op. The op should convert any proxies or resources it owns to "pending io" status so that resource allocation can be more optimal. Additionally, at this time the op must report whether a copy of the destination (or destination texture itself) needs to be provided to the GrXferProcessor when this op executes.
Implements GrDrawOp.
Definition at line 511 of file GrThreadSafeCacheTest.cpp.
511 {
513 }
static constexpr Analysis EmptySetAnalysis()
◆ fixedFunctionFlags()
|
inlineoverrideprivatevirtual |
◆ Make()
Definition at line 479 of file GrThreadSafeCacheTest.cpp.
481 {
482
483 return GrOp::Make<GrThreadSafeVertexTestOp>(
484 rContext, rContext, stats, wh, id, failLookup, failFillingIn, isNewerBetter);
485 }
◆ name()
const char * GrThreadSafeVertexTestOp::name |
( |
| ) |
const |
|
inlineoverrideprivatevirtual |
◆ onExecute()
void GrThreadSafeVertexTestOp::onExecute |
( |
GrOpFlushState * |
flushState, |
|
|
const SkRect & |
chainBounds |
|
) |
| |
|
inlineoverrideprivatevirtual |
Implements GrOp.
Definition at line 643 of file GrThreadSafeCacheTest.cpp.
643 {
644 if (!fVertexData || !fVertexData->
gpuBuffer()) {
645 return;
646 }
647
648 if (!fProgramInfo) {
649 fProgramInfo = this->createProgramInfo(flushState);
650 }
651
654 flushState->
draw(4, 0);
655 }
void bindBuffers(sk_sp< const GrBuffer > indexBuffer, sk_sp< const GrBuffer > instanceBuffer, sk_sp< const GrBuffer > vertexBuffer, GrPrimitiveRestart primitiveRestart=GrPrimitiveRestart::kNo)
void bindPipeline(const GrProgramInfo &programInfo, const SkRect &drawBounds)
void draw(int vertexCount, int baseVertex)
GrGpuBuffer * gpuBuffer()
sk_sp< GrGpuBuffer > refGpuBuffer()
static SkRect MakeIWH(int w, int h)
◆ onPrepare()
void GrThreadSafeVertexTestOp::onPrepare |
( |
GrOpFlushState * |
flushState | ) |
|
|
inlineoverrideprivatevirtual |
Implements GrOp.
Definition at line 635 of file GrThreadSafeCacheTest.cpp.
635 {
637
638
639
640 this->findOrCreateVertices(dContext, false, fFailFillingIn);
641 }
GrDirectContext * getContext()
◆ onPrePrepare()
|
inlineoverrideprivatevirtual |
Implements GrOp.
Definition at line 610 of file GrThreadSafeCacheTest.cpp.
615 {
617
618
620
621
623
624 fProgramInfo = this->createProgramInfo(rContext->
priv().
caps(), arena, writeView,
625 usesMSAASurface, std::move(appliedClip),
626 dstProxyView, renderPassXferBarriers, colorLoadOp);
627
629
630
631
632 this->findOrCreateVertices(rContext, false, fFailFillingIn);
633 }
static SkPath clip(const SkPath &path, const SkHalfPlane &plane)
const GrCaps * caps() const
void recordProgramInfo(const GrProgramInfo *programInfo)
SkArenaAlloc * recordTimeAllocator()
GrRecordingContextPriv priv()
GrRenderTargetProxy * asRenderTargetProxy() const
◆ vertexData()
◆ GrOp
The documentation for this class was generated from the following file: