This repository was archived by the owner on Sep 15, 2025. It is now read-only.

Description
In gfx9GraphicsPipeline.cpp, under the CalcMaxLateAllocLimit() function, you have the following:
const uint32 vsNumSgpr = (numSgprs * 8);
const uint32 vsNumVgpr = (numVgprs * 4);
My understanding is that it should be this instead for gfx9:
const uint32 vsNumSgpr = (numSgprs * 16);
Actually I'm wondering if you have to do a +1 as well before multiplying. The code does check whether vsNumSgprs is > 0 or not later on, but then uses it like so:
const uint32 maxSgprVsWaves = (chipProps.gfx9.numPhysicalSgprs / vsNumSgpr) * simdPerSh;
... which, unless numPhysicalSgprs is 0-based as well, seems to suggest the +1 should be there ...