SWDEV-374360 - Handle free for external memory.
Change-Id: Ibfaf30eef371499a3c1f931a73cce76c83d8f7f3
This commit is contained in:
committed by
Jaydeepkumar Patel
parent
fdecc1b351
commit
7eecbdd9db
@@ -110,7 +110,13 @@ hipError_t ihipFree(void *ptr) {
|
||||
hip::Stream::syncNonBlockingStreams(device_id);
|
||||
// Find out if memory belongs to any memory pool
|
||||
if (!g_devices[device_id]->FreeMemory(memory_object, nullptr)) {
|
||||
amd::SvmBuffer::free(memory_object->getContext(), ptr);
|
||||
// External mem is not svm.
|
||||
if (memory_object->isInterop()) {
|
||||
amd::MemObjMap::RemoveMemObj(ptr);
|
||||
memory_object->release();
|
||||
} else {
|
||||
amd::SvmBuffer::free(memory_object->getContext(), ptr);
|
||||
}
|
||||
}
|
||||
return hipSuccess;
|
||||
}
|
||||
@@ -163,7 +169,8 @@ hipError_t hipExternalMemoryGetMappedBuffer(
|
||||
HIP_RETURN(hipErrorInvalidValue);
|
||||
}
|
||||
*devPtr = reinterpret_cast<void*>(devMem->virtualAddress() + bufferDesc->offset);
|
||||
|
||||
amd::MemObjMap::AddMemObj(*devPtr, buf);
|
||||
buf->retain();
|
||||
HIP_RETURN(hipSuccess);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user