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:
foreman
2019-08-21 11:47:51 -04:00
parent 57ceac9141
commit bfdbc52e29
@@ -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;
}
// ================================================================================================