57 _cout =
"VRF is empty\n";
60 _cout =
"VRF reserves " + std::to_string(reservedEntries) +
" VGPRs\n";
86 uint32_t *reservedPoolSize)
93 *reservedPoolSize = actualSize;
102 bool wrapAround = (region.first > region.second);
104 return region.second - region.first + 1;
106 return region.second +
poolSize() - region.first + 1;
uint32_t regionSize(std::pair< uint32_t, uint32_t > ®ion)
uint32_t minAllocatedElements(uint32_t size)
std::string printRegion()
void freeRegion(uint32_t firstIdx, uint32_t lastIdx)
bool canAllocate(uint32_t numRegions, uint32_t size)
fatal_if(p->js_features.size() > 16,"Too many job slot feature registers specified (%i)\n", p->js_features.size())
uint32_t allocateRegion(const uint32_t size, uint32_t *reservedPoolSize)