diff --git a/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp b/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp index 9bed8fadd8..4fcf5b4f22 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp +++ b/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp @@ -1693,7 +1693,11 @@ Device::createImage(amd::Memory& owner, bool directAccess) const return NULL; } // Create a view on the specified device - return (gpu::Memory*)createView(owner, *devParent); + gpuImage = (gpu::Memory*)createView(owner, *devParent); + if (heap()->isVirtual() && (NULL != gpuImage) && (gpuImage->owner() != NULL)) { + gpuImage->owner()->setHostMem((address)(owner.parent()->getHostMem()) + gpuImage->owner()->getOrigin()); + } + return gpuImage ; } gpuImage = new gpu::Image(*this, owner,