diff --git a/projects/clr/rocclr/device/rocm/rocblit.cpp b/projects/clr/rocclr/device/rocm/rocblit.cpp index 5b75a28b63..9009b443c5 100644 --- a/projects/clr/rocclr/device/rocm/rocblit.cpp +++ b/projects/clr/rocclr/device/rocm/rocblit.cpp @@ -522,6 +522,9 @@ bool DmaBlitManager::copyImageToBuffer(device::Memory& srcMemory, device::Memory dstHost, rowPitch, slicePitch, &image_region); result = (status == HSA_STATUS_SUCCESS) ? true : false; + // hsa_ext_image_export need a system scope fence + gpu().addSystemScope(); + // Check if a HostBlit transfer is required if (completeOperation_ && !result) { result = HostBlitManager::copyImageToBuffer(srcMemory, dstMemory, srcOrigin, dstOrigin, size, @@ -564,6 +567,9 @@ bool DmaBlitManager::copyBufferToImage(device::Memory& srcMemory, device::Memory dstImage.getHsaImageObject(), &image_region); result = (status == HSA_STATUS_SUCCESS) ? true : false; + // hsa_ext_image_import need a system scope fence + gpu().addSystemScope(); + // Check if a HostBlit tran sfer is required if (completeOperation_ && !result) { result = HostBlitManager::copyBufferToImage(srcMemory, dstMemory, srcOrigin, dstOrigin, size,