Flutter Engine
The Flutter Engine
|
#include <GrResourceAllocator.h>
Public Types | |
enum class | ActualUse : bool { kNo = false , kYes = true } |
enum class | AllowRecycling : bool { kNo = false , kYes = true } |
Public Member Functions | |
GrResourceAllocator (GrDirectContext *dContext) | |
~GrResourceAllocator () | |
unsigned int | curOp () const |
void | incOps () |
void | addInterval (GrSurfaceProxy *, unsigned int start, unsigned int end, ActualUse actualUse, AllowRecycling SkDEBUGCODE(, bool isDirectDstRead=false)) |
bool | failedInstantiation () const |
bool | planAssignment () |
bool | makeBudgetHeadroom () |
void | reset () |
bool | assign () |
Definition at line 78 of file GrResourceAllocator.h.
|
strong |
Indicates whether a given call to addInterval represents an actual usage of the provided proxy. This is mainly here to accommodate deferred proxies attached to opsTasks. In that case we need to create an extra long interval for them (due to the upload) but don't want to count that usage/reference towards the proxy's recyclability.
Enumerator | |
---|---|
kNo | |
kYes |
Definition at line 93 of file GrResourceAllocator.h.
|
strong |
Indicates whether we allow a gpu texture assigned to a register to be recycled or not. This comes up when dealing with with Vulkan Secondary CommandBuffers since offscreens sampled into the scb will all be drawn before being sampled in the scb. This is because the scb will get submitted in a later command buffer. Thus offscreens cannot share an allocation or later reuses will overwrite earlier ones.
Enumerator | |
---|---|
kNo | |
kYes |
Definition at line 104 of file GrResourceAllocator.h.
|
inline |
Definition at line 80 of file GrResourceAllocator.h.
GrResourceAllocator::~GrResourceAllocator | ( | ) |
Definition at line 41 of file GrResourceAllocator.cpp.
void GrResourceAllocator::addInterval | ( | GrSurfaceProxy * | , |
unsigned int | start, | ||
unsigned int | end, | ||
ActualUse | actualUse, | ||
AllowRecycling | SkDEBUGCODE, bool isDirectDstRead=false | ||
) |
Definition at line 47 of file GrResourceAllocator.cpp.
bool GrResourceAllocator::assign | ( | ) |
Definition at line 423 of file GrResourceAllocator.cpp.
|
inline |
Definition at line 85 of file GrResourceAllocator.h.
|
inline |
Definition at line 114 of file GrResourceAllocator.h.
|
inline |
Definition at line 86 of file GrResourceAllocator.h.
bool GrResourceAllocator::makeBudgetHeadroom | ( | ) |
Definition at line 383 of file GrResourceAllocator.cpp.
bool GrResourceAllocator::planAssignment | ( | ) |
Definition at line 336 of file GrResourceAllocator.cpp.
void GrResourceAllocator::reset | ( | ) |
Definition at line 408 of file GrResourceAllocator.cpp.