Allocate RTDispatchGlobals as unboxed array

Previously we used an array-of-pointers approach, but using an
array-of-structures is in some ways simpler.

We also split out the RTStack as a separate allocation.

Related-To: LOCI-2966

Signed-off-by: Jim Snow <jim.m.snow@intel.com>
This commit is contained in:
Jim Snow
2022-09-09 03:26:48 +00:00
committed by Compute-Runtime-Automation
parent 519d62d9a1
commit eaa4965ae8
8 changed files with 94 additions and 68 deletions

View File

@@ -41,10 +41,8 @@ struct EngineGroupT {
using EngineGroupsT = std::vector<EngineGroupT>;
struct RTDispatchGlobalsInfo {
RTDispatchGlobalsInfo(GraphicsAllocation *rtDispatchGlobalsArrayAllocation)
: rtDispatchGlobalsArrayAllocation(rtDispatchGlobalsArrayAllocation){};
std::vector<GraphicsAllocation *> rtDispatchGlobals; // per tile
GraphicsAllocation *rtDispatchGlobalsArrayAllocation; // above array as visible from device
GraphicsAllocation *rtDispatchGlobalsArray = nullptr;
std::vector<GraphicsAllocation *> rtStacks; // per tile
};
class Device : public ReferenceTrackedObject<Device> {