SWDEV-239327 - Dont call hsa_amd_memory_pool_free from ~amd::Memory() for obj created by passing devptr.

Change-Id: I315fd502df6bb1bf66dd24eac9325f1439e432ad


[ROCm/clr commit: 1b0882e061]
Этот коммит содержится в:
kjayapra-amd
2020-06-05 17:40:47 -04:00
родитель d4a985dcd3
Коммит 01737d2472
2 изменённых файлов: 9 добавлений и 5 удалений
+7 -4
Просмотреть файл
@@ -654,10 +654,12 @@ void Buffer::destroy() {
}
const bool isFineGrain = memFlags & CL_MEM_SVM_FINE_GRAIN_BUFFER;
if (isFineGrain) {
dev().hostFree(deviceMemory_, size());
} else {
dev().memFree(deviceMemory_, size());
if (kind_ != MEMORY_KIND_PTRGIVEN) {
if (isFineGrain) {
dev().hostFree(deviceMemory_, size());
} else {
dev().memFree(deviceMemory_, size());
}
}
if ((deviceMemory_ != nullptr) &&
@@ -743,6 +745,7 @@ bool Buffer::create() {
owner()->setSvmPtr(deviceMemory_);
} else {
deviceMemory_ = owner()->getSvmPtr();
kind_ = MEMORY_KIND_PTRGIVEN;
}
if (!isFineGrain && (owner()->parent() != nullptr) &&
+2 -1
Просмотреть файл
@@ -35,7 +35,8 @@ class Memory : public device::Memory {
MEMORY_KIND_NORMAL = 0,
MEMORY_KIND_LOCK,
MEMORY_KIND_GART,
MEMORY_KIND_INTEROP
MEMORY_KIND_INTEROP,
MEMORY_KIND_PTRGIVEN
};
Memory(const roc::Device& dev, amd::Memory& owner);