9 #ifndef hifi_gpu_PageManager_h
10 #define hifi_gpu_PageManager_h
22 static const Size DEFAULT_PAGE_SIZE = 4096;
29 using FlagType = uint8_t;
32 using Vector = std::vector<FlagType>;
34 using Pages = std::vector<Size>;
58 void markPage(Size index, uint8 markFlags = DIRTY);
67 void markRegion(Size offset, Size bytes, uint8 markFlags = DIRTY);
79 Size
getSize(uint8_t desiredFlags = DIRTY)
const;
116 Pages
getMarkedPages(uint8_t desiredFlags = DIRTY,
bool clear =
true);
Definition: PageManager.h:21
Size getPageCount(uint8_t desiredFlags=DIRTY) const
Definition: PageManager.cpp:61
bool operator()(uint8 desiredFlags) const
Check for given flags in this page manager.
Definition: PageManager.cpp:23
Size getRequiredSize(Size size) const
Definition: PageManager.cpp:87
Size getRequiredPageCount(Size size) const
Definition: PageManager.cpp:79
Size accommodate(Size size)
Definition: PageManager.cpp:91
Size getSize(uint8_t desiredFlags=DIRTY) const
Definition: PageManager.cpp:71
void markRegion(Size offset, Size bytes, uint8 markFlags=DIRTY)
Mark memory area in page manager with a desired flag.
Definition: PageManager.cpp:33
void setPageCount(Size count)
Resizes page manager to a specified number of pages.
Definition: PageManager.cpp:75
void markPage(Size index, uint8 markFlags=DIRTY)
Add given flag fot a page.
Definition: PageManager.cpp:27
Pages getMarkedPages(uint8_t desiredFlags=DIRTY, bool clear=true)
Definition: PageManager.cpp:99
bool getNextTransferBlock(Size &outOffset, Size &outSize, Size ¤tPage)
Gets a block of data that needs to be transferred to the GPU.
Definition: PageManager.cpp:116