P4 to Git Change 1986743 by gandryey@gera-win10 on 2019/08/21 11:42:44
SWDEV-79445 - OCL generic changes and code clean-up
- Don't attempt to destroy memory object if PAL reference is null
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#77 edit
[ROCm/clr commit: af240466f9]
This commit is contained in:
@@ -178,6 +178,9 @@ GpuMemoryReference::GpuMemoryReference(const Device& dev)
|
||||
|
||||
// ================================================================================================
|
||||
GpuMemoryReference::~GpuMemoryReference() {
|
||||
if (nullptr == iMem()) {
|
||||
return;
|
||||
}
|
||||
if (gpu_ == nullptr) {
|
||||
Device::ScopedLockVgpus lock(device_);
|
||||
// Release all memory objects on all virtual GPUs
|
||||
@@ -199,15 +202,13 @@ GpuMemoryReference::~GpuMemoryReference() {
|
||||
if (cpuAddress_ != nullptr) {
|
||||
iMem()->Unmap();
|
||||
}
|
||||
if (0 != iMem()) {
|
||||
if (!(iMem()->Desc().flags.isShared || iMem()->Desc().flags.isExternal ||
|
||||
iMem()->Desc().flags.isExternPhys)) {
|
||||
// Update free memory size counters
|
||||
device_.updateAllocedMemory(iMem()->Desc().preferredHeap, iMem()->Desc().size, true);
|
||||
}
|
||||
iMem()->Destroy();
|
||||
gpuMem_ = nullptr;
|
||||
if (!(iMem()->Desc().flags.isShared || iMem()->Desc().flags.isExternal ||
|
||||
iMem()->Desc().flags.isExternPhys)) {
|
||||
// Update free memory size counters
|
||||
device_.updateAllocedMemory(iMem()->Desc().preferredHeap, iMem()->Desc().size, true);
|
||||
}
|
||||
iMem()->Destroy();
|
||||
gpuMem_ = nullptr;
|
||||
}
|
||||
|
||||
// ================================================================================================
|
||||
|
||||
Reference in New Issue
Block a user