From c709808166104a69c489a39e5d67d76bc99bc471 Mon Sep 17 00:00:00 2001 From: taosang2 Date: Thu, 26 Oct 2023 12:37:06 -0400 Subject: [PATCH] SWDEV-364236 - Fix device buffer to/from image issue Fix offset of device buffer copied to/from image. Change-Id: I149a8629769cd0d5848ffefb04f1752668a685b9 [ROCm/clr commit: 9a24e1fb305c158cb623b745d95d69647a007fae] --- projects/clr/hipamd/src/hip_memory.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/projects/clr/hipamd/src/hip_memory.cpp b/projects/clr/hipamd/src/hip_memory.cpp index e4fb54bd78..70add33a5f 100644 --- a/projects/clr/hipamd/src/hip_memory.cpp +++ b/projects/clr/hipamd/src/hip_memory.cpp @@ -1582,6 +1582,9 @@ hipError_t ihipMemcpyAtoDValidate(hipArray_t srcArray, void* dstDevice, amd::Coo !dstMemory->validateRegion(dstOrigin, {copySizeInBytes, 0, 0})) { return hipErrorInvalidValue; } + + dstOrigin.c[0] = dstRect.offset(0, 0, 0); // Get the physical offset of the logic origin + dstOrigin.c[1] = dstOrigin.c[2] = 0; return hipSuccess; } @@ -1657,6 +1660,8 @@ hipError_t ihipMemcpyDtoAValidate(void* srcDevice, hipArray_t dstArray, amd::Coo !dstImage->validateRegion(dstOrigin, copyRegion)) { return hipErrorInvalidValue; } + srcOrigin.c[0] = srcRect.offset(0, 0, 0); // Get the physical offset of the logic origin + srcOrigin.c[1] = srcOrigin.c[2] = 0; return hipSuccess; }