Align external host ptr allocation gpu va to 2MB

Related-To: NEO-7116

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
Lukasz Jobczyk
2023-01-11 11:03:48 +00:00
committed by Compute-Runtime-Automation
parent 70bd006223
commit d24f403cc4
3 changed files with 26 additions and 2 deletions

View File

@@ -2807,6 +2807,23 @@ TEST_F(DrmMemoryManagerBasic, givenDrmMemoryManagerWhenAllocateGraphicsMemoryFor
memoryManager->freeGraphicsMemory(allocation1);
}
TEST_F(DrmMemoryManagerBasic, givenDrmMemoryManagerWhenAllocateGraphicsMemoryForNonSvmHostPtrThenGpuVaIsAlignedTo2Mb) {
AllocationData allocationData;
allocationData.rootDeviceIndex = rootDeviceIndex;
std::unique_ptr<TestedDrmMemoryManager> memoryManager(new (std::nothrow) TestedDrmMemoryManager(false, false, false, executionEnvironment));
memoryManager->forceLimitedRangeAllocator(0xFFFFFFFFF);
allocationData.size = 2 * MemoryConstants::kiloByte;
allocationData.hostPtr = reinterpret_cast<const void *>(0x1234);
auto allocation = static_cast<DrmAllocation *>(memoryManager->allocateGraphicsMemoryForNonSvmHostPtr(allocationData));
EXPECT_EQ(static_cast<DrmAllocation *>(allocation)->getBO()->peekAddress(), castToUint64(allocation->getReservedAddressPtr()));
EXPECT_TRUE(isAligned<MemoryConstants::pageSize2Mb>(static_cast<DrmAllocation *>(allocation)->getBO()->peekAddress()));
memoryManager->freeGraphicsMemory(allocation);
}
TEST_F(DrmMemoryManagerBasic, givenDrmMemoryManagerWhenAllocateGraphicsMemoryForNonSvmHostPtrIsCalledButAllocationFailedThenNullPtrReturned) {
AllocationData allocationData;
allocationData.rootDeviceIndex = rootDeviceIndex;