mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 06:49:52 +08:00
Add multiStorageResource flag to AllocationProperties
Related-To: NEO-3242 Change-Id: If31adaead389acd3bef6af1931b91396c43b305e Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
This commit is contained in:
committed by
sys_ocldev
parent
04e893d31f
commit
329d940285
@@ -30,22 +30,26 @@ struct AllocationProperties {
|
||||
GraphicsAllocation::AllocationType allocationType = GraphicsAllocation::AllocationType::UNKNOWN;
|
||||
ImageInfo *imgInfo = nullptr;
|
||||
uint32_t deviceIndex = AllocationProperties::noDeviceSpecified;
|
||||
bool multiStorageResource = false;
|
||||
|
||||
AllocationProperties(size_t size,
|
||||
GraphicsAllocation::AllocationType allocationType)
|
||||
: AllocationProperties(true, size, allocationType) {}
|
||||
: AllocationProperties(true, size, allocationType, false) {}
|
||||
|
||||
AllocationProperties(bool allocateMemory,
|
||||
ImageInfo &imgInfo,
|
||||
GraphicsAllocation::AllocationType allocationType)
|
||||
: AllocationProperties(allocateMemory, 0u, allocationType) {
|
||||
: AllocationProperties(allocateMemory, 0u, allocationType, false) {
|
||||
this->imgInfo = &imgInfo;
|
||||
}
|
||||
|
||||
AllocationProperties(bool allocateMemory,
|
||||
size_t size,
|
||||
GraphicsAllocation::AllocationType allocationType)
|
||||
: AllocationProperties(allocateMemory, size, allocationType, false, AllocationProperties::noDeviceSpecified) {}
|
||||
GraphicsAllocation::AllocationType allocationType,
|
||||
bool isMultiStorageAllocation)
|
||||
: AllocationProperties(allocateMemory, size, allocationType, false, AllocationProperties::noDeviceSpecified) {
|
||||
this->multiStorageResource = isMultiStorageAllocation;
|
||||
}
|
||||
|
||||
AllocationProperties(bool allocateMemory,
|
||||
size_t size,
|
||||
|
||||
@@ -94,7 +94,7 @@ void *SVMAllocsManager::createSVMAlloc(size_t size, const SvmAllocationPropertie
|
||||
|
||||
void *SVMAllocsManager::createUnifiedMemoryAllocation(size_t size, const UnifiedMemoryProperties svmProperties) {
|
||||
size_t alignedSize = alignUp<size_t>(size, MemoryConstants::pageSize64k);
|
||||
AllocationProperties unifiedMemoryProperties{true, alignedSize, GraphicsAllocation::AllocationType::BUFFER};
|
||||
AllocationProperties unifiedMemoryProperties{true, alignedSize, GraphicsAllocation::AllocationType::BUFFER, false};
|
||||
GraphicsAllocation *unifiedMemoryAllocation = memoryManager->allocateGraphicsMemoryWithProperties(unifiedMemoryProperties);
|
||||
|
||||
SvmAllocationData allocData;
|
||||
@@ -126,7 +126,7 @@ void SVMAllocsManager::freeSVMAlloc(void *ptr) {
|
||||
}
|
||||
|
||||
void *SVMAllocsManager::createZeroCopySvmAllocation(size_t size, const SvmAllocationProperties &svmProperties) {
|
||||
AllocationProperties properties{true, size, GraphicsAllocation::AllocationType::SVM_ZERO_COPY};
|
||||
AllocationProperties properties{true, size, GraphicsAllocation::AllocationType::SVM_ZERO_COPY, false};
|
||||
MemObjHelper::fillCachePolicyInProperties(properties, false, svmProperties.readOnly, false);
|
||||
GraphicsAllocation *allocation = memoryManager->allocateGraphicsMemoryWithProperties(properties);
|
||||
if (!allocation) {
|
||||
@@ -145,7 +145,7 @@ void *SVMAllocsManager::createZeroCopySvmAllocation(size_t size, const SvmAlloca
|
||||
|
||||
void *SVMAllocsManager::createSvmAllocationWithDeviceStorage(size_t size, const SvmAllocationProperties &svmProperties) {
|
||||
size_t alignedSize = alignUp<size_t>(size, 2 * MemoryConstants::megaByte);
|
||||
AllocationProperties cpuProperties{true, alignedSize, GraphicsAllocation::AllocationType::SVM_CPU};
|
||||
AllocationProperties cpuProperties{true, alignedSize, GraphicsAllocation::AllocationType::SVM_CPU, false};
|
||||
cpuProperties.alignment = 2 * MemoryConstants::megaByte;
|
||||
MemObjHelper::fillCachePolicyInProperties(cpuProperties, false, svmProperties.readOnly, false);
|
||||
GraphicsAllocation *allocationCpu = memoryManager->allocateGraphicsMemoryWithProperties(cpuProperties);
|
||||
@@ -156,7 +156,7 @@ void *SVMAllocsManager::createSvmAllocationWithDeviceStorage(size_t size, const
|
||||
allocationCpu->setCoherent(svmProperties.coherent);
|
||||
void *svmPtr = allocationCpu->getUnderlyingBuffer();
|
||||
|
||||
AllocationProperties gpuProperties{false, alignedSize, GraphicsAllocation::AllocationType::SVM_GPU};
|
||||
AllocationProperties gpuProperties{false, alignedSize, GraphicsAllocation::AllocationType::SVM_GPU, false};
|
||||
gpuProperties.alignment = 2 * MemoryConstants::megaByte;
|
||||
MemObjHelper::fillCachePolicyInProperties(gpuProperties, false, svmProperties.readOnly, false);
|
||||
GraphicsAllocation *allocationGpu = memoryManager->allocateGraphicsMemoryWithProperties(gpuProperties, svmPtr);
|
||||
|
||||
Reference in New Issue
Block a user