Use correct Heap32 index for local memory allocations

Change-Id: I068f712ab2b05ee3d5a9716b21de685a7fee3a02
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
Bartosz Dunajski
2020-07-01 14:03:46 +02:00
committed by sys_ocldev
parent 4076d3e294
commit 6dd07bd3bc
40 changed files with 99 additions and 77 deletions

View File

@@ -350,7 +350,8 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
if (is64bit && scratchSpaceController->getScratchSpaceAllocation() && !force32BitAllocations) {
newGSHbase = scratchSpaceController->calculateNewGSH();
} else if (is64bit && force32BitAllocations && dispatchFlags.gsba32BitRequired) {
newGSHbase = getMemoryManager()->getExternalHeapBaseAddress(rootDeviceIndex);
bool useLocalMemory = scratchSpaceController->getScratchSpaceAllocation() ? scratchSpaceController->getScratchSpaceAllocation()->isAllocatedInLocalMemoryPool() : false;
newGSHbase = getMemoryManager()->getExternalHeapBaseAddress(rootDeviceIndex, useLocalMemory);
GSBAFor32BitProgrammed = true;
}
@@ -364,7 +365,7 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
newGSHbase,
true,
mocsIndex,
getMemoryManager()->getInternalHeapBaseAddress(rootDeviceIndex),
getMemoryManager()->getInternalHeapBaseAddress(rootDeviceIndex, ioh.getGraphicsAllocation()->isAllocatedInLocalMemoryPool()),
true,
device.getGmmHelper(),
isMultiOsContextCapable());