mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-25 21:42:53 +08:00
fix: enable 4KB allocation alignment through KMD on Windows
Related-To: NEO-9446 Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
2981c78d34
commit
f91757c093
@@ -180,10 +180,16 @@ GraphicsAllocation *WddmMemoryManager::allocateGraphicsMemoryForImageImpl(const
|
||||
}
|
||||
|
||||
GraphicsAllocation *WddmMemoryManager::allocateGraphicsMemory64kb(const AllocationData &allocationData) {
|
||||
return allocateGraphicsMemoryUsingKmdAndMapItToCpuVA(allocationData, true);
|
||||
AllocationData allocationData64KbAlignment = allocationData;
|
||||
allocationData64KbAlignment.alignment = MemoryConstants::pageSize64k;
|
||||
return allocateGraphicsMemoryUsingKmdAndMapItToCpuVA(allocationData64KbAlignment, true);
|
||||
}
|
||||
|
||||
GraphicsAllocation *WddmMemoryManager::allocateGraphicsMemoryUsingKmdAndMapItToCpuVA(const AllocationData &allocationData, bool allowLargePages) {
|
||||
if (allocationData.alignment != MemoryConstants::pageSize64k) {
|
||||
allowLargePages = false;
|
||||
}
|
||||
|
||||
size_t sizeAligned = alignUp(allocationData.size, allowLargePages ? MemoryConstants::pageSize64k : MemoryConstants::pageSize);
|
||||
if (sizeAligned > getHugeGfxMemoryChunkSize(GfxMemoryAllocationMethod::AllocateByKmd)) {
|
||||
const bool isBufferHostMemory = allocationData.type == NEO::AllocationType::BUFFER_HOST_MEMORY;
|
||||
|
||||
Reference in New Issue
Block a user