Introduce MemoryManager::getExternalHeapBaseAddress()

Related-To: NEO-2877

Change-Id: I4307224c3be9609f7fc60d7fcb4f91ccdc8a9883
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
This commit is contained in:
Venevtsev, Igor
2019-04-16 11:47:47 +02:00
committed by sys_ocldev
parent 8e273cfe1e
commit 2ca97d3881
13 changed files with 35 additions and 18 deletions

View File

@@ -506,7 +506,7 @@ GraphicsAllocation *DrmMemoryManager::createGraphicsAllocationFromSharedHandle(o
if (requireSpecificBitness && this->force32bitAllocations) {
drmAllocation->set32BitAllocation(true);
drmAllocation->setGpuBaseAddress(allocator32Bit->getBase());
drmAllocation->setGpuBaseAddress(getExternalHeapBaseAddress());
} else if (this->limitedGpuAddressRangeAllocator.get()) {
drmAllocation->setGpuBaseAddress(this->limitedGpuAddressRangeAllocator->getBase());
}
@@ -630,6 +630,10 @@ uint64_t DrmMemoryManager::getInternalHeapBaseAddress() {
return this->internal32bitAllocator->getBase();
}
uint64_t DrmMemoryManager::getExternalHeapBaseAddress() {
return this->allocator32Bit->getBase();
}
MemoryManager::AllocationStatus DrmMemoryManager::populateOsHandles(OsHandleStorage &handleStorage) {
BufferObject *allocatedBos[maxFragmentsCount];
uint32_t numberOfBosAllocated = 0;

View File

@@ -41,6 +41,7 @@ class DrmMemoryManager : public MemoryManager {
uint64_t getSystemSharedMemory() override;
uint64_t getMaxApplicationAddress() override;
uint64_t getInternalHeapBaseAddress() override;
uint64_t getExternalHeapBaseAddress() override;
AllocationStatus populateOsHandles(OsHandleStorage &handleStorage) override;
void cleanOsHandles(OsHandleStorage &handleStorage) override;