Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Friends | List of all members
LazyProxyTest::Op Class Referencefinal
Inheritance diagram for LazyProxyTest::Op:
GrDrawOp GrOp SkNoncopyable

Public Member Functions

void visitProxies (const GrVisitProxyFunc &func) const override
 
void onExecute (GrOpFlushState *, const SkRect &chainBounds) override
 
- Public Member Functions inherited from GrDrawOp
 GrDrawOp (uint32_t classID)
 
virtual bool usesMSAA () const
 
virtual ClipResult clipToShape (skgpu::ganesh::SurfaceDrawContext *, SkClipOp, const SkMatrix &, const GrShape &, GrAA)
 
virtual bool usesStencil () const
 
- Public Member Functions inherited from GrOp
virtual ~GrOp ()=default
 
CombineResult combineIfPossible (GrOp *that, SkArenaAlloc *alloc, const GrCaps &caps)
 
const SkRectbounds () const
 
void setClippedBounds (const SkRect &clippedBounds)
 
bool hasAABloat () const
 
bool hasZeroArea () const
 
void operator delete (void *p)
 
template<typename T >
const Tcast () const
 
template<typename T >
Tcast ()
 
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
 
GrOpnextInChain () const
 
GrOpprevInChain () 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 Public Member Functions

static DEFINE_OP_CLASS_ID GrOp::Owner Make (GrRecordingContext *context, GrProxyProvider *proxyProvider, LazyProxyTest *test, bool nullTexture)
 
- Static Public Member Functions inherited from GrOp
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 ()
 

Private Member Functions

const char * name () const override
 
FixedFunctionFlags fixedFunctionFlags () const override
 
GrProcessorSet::Analysis finalize (const GrCaps &, const GrAppliedClip *clip, GrClampType) override
 
void onPrePrepare (GrRecordingContext *, const GrSurfaceProxyView &writeView, GrAppliedClip *, const GrDstProxyView &, GrXferBarrierFlags renderPassXferBarriers, GrLoadOp colorLoadOp) override
 
void onPrepare (GrOpFlushState *) override
 

Friends

class GrOp
 

Additional Inherited Members

- Public Types inherited from GrDrawOp
enum class  ClipResult { kFail , kClippedGeometrically , kClippedInShader , kClippedOut }
 
- Public Types inherited from GrOp
enum class  CombineResult { kMerged , kMayChain , kCannotCombine }
 
enum class  HasAABloat : bool { kNo = false , kYes = true }
 
enum class  IsHairline : bool { kNo = false , kYes = true }
 
using Owner = std::unique_ptr< GrOp >
 
- Protected Types inherited from GrDrawOp
enum class  FixedFunctionFlags : uint32_t { kNone = 0x0 , kUsesHWAA = 0x1 , kUsesStencil = 0x2 }
 
- Protected Member Functions inherited from GrDrawOp
 GR_DECL_BITFIELD_CLASS_OPS_FRIENDS (FixedFunctionFlags)
 

Detailed Description

Definition at line 95 of file LazyProxyTest.cpp.

Member Function Documentation

◆ finalize()

GrProcessorSet::Analysis LazyProxyTest::Op::finalize ( const GrCaps ,
const GrAppliedClip ,
GrClampType   
)
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 156 of file LazyProxyTest.cpp.

157 {
159 }
static constexpr Analysis EmptySetAnalysis()

◆ fixedFunctionFlags()

FixedFunctionFlags LazyProxyTest::Op::fixedFunctionFlags ( ) const
inlineoverrideprivatevirtual

Reimplemented from GrDrawOp.

Definition at line 155 of file LazyProxyTest.cpp.

◆ Make()

static DEFINE_OP_CLASS_ID GrOp::Owner LazyProxyTest::Op::Make ( GrRecordingContext context,
GrProxyProvider proxyProvider,
LazyProxyTest test,
bool  nullTexture 
)
inlinestatic

Definition at line 99 of file LazyProxyTest.cpp.

102 {
103 return GrOp::Make<Op>(context, context, proxyProvider, test, nullTexture);
104 }

◆ name()

const char * LazyProxyTest::Op::name ( ) const
inlineoverrideprivatevirtual

Implements GrOp.

Definition at line 154 of file LazyProxyTest.cpp.

154{ return "LazyProxyTest::Op"; }

◆ onExecute()

void LazyProxyTest::Op::onExecute ( GrOpFlushState ,
const SkRect chainBounds 
)
inlineoverridevirtual

Implements GrOp.

Definition at line 110 of file LazyProxyTest.cpp.

110 {
111 REPORTER_ASSERT(fTest->fReporter, fTest->fHasOpTexture);
112 REPORTER_ASSERT(fTest->fReporter, fTest->fHasClipTexture);
113 }
#define REPORTER_ASSERT(r, cond,...)
Definition Test.h:286

◆ onPrepare()

void LazyProxyTest::Op::onPrepare ( GrOpFlushState )
inlineoverrideprivatevirtual

Implements GrOp.

Definition at line 167 of file LazyProxyTest.cpp.

167{}

◆ onPrePrepare()

void LazyProxyTest::Op::onPrePrepare ( GrRecordingContext ,
const GrSurfaceProxyView writeView,
GrAppliedClip ,
const GrDstProxyView ,
GrXferBarrierFlags  renderPassXferBarriers,
GrLoadOp  colorLoadOp 
)
inlineoverrideprivatevirtual

Implements GrOp.

Definition at line 160 of file LazyProxyTest.cpp.

165 {}

◆ visitProxies()

void LazyProxyTest::Op::visitProxies ( const GrVisitProxyFunc func) const
inlineoverridevirtual

Reimplemented from GrOp.

Definition at line 106 of file LazyProxyTest.cpp.

106 {
107 func(fProxy.get(), skgpu::Mipmapped::kNo);
108 }
T * get() const
Definition SkRefCnt.h:303

Friends And Related Symbol Documentation

◆ GrOp

friend class GrOp
friend

Definition at line 116 of file LazyProxyTest.cpp.


The documentation for this class was generated from the following file: