diff --git a/projects/clr/rocclr/runtime/device/gpu/gpublit.cpp b/projects/clr/rocclr/runtime/device/gpu/gpublit.cpp index fb9277a15b..20fe38cf11 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gpublit.cpp +++ b/projects/clr/rocclr/runtime/device/gpu/gpublit.cpp @@ -57,14 +57,11 @@ DmaBlitManager::readMemoryStaged( if (dev().xferRead().bufSize() < 128 * Ki) { chunkSize = dev().xferRead().bufSize(); } - else if (xferSize > 256 * Ki) { + else { chunkSize = std::min(amd::alignUp(xferSize / 4, 256), dev().xferRead().bufSize()); chunkSize = std::max(chunkSize, 128 * Ki); } - else { - chunkSize = xferSize; - } // Find the partial transfer size tmpSize = std::min(chunkSize, xferSize); @@ -327,14 +324,11 @@ DmaBlitManager::writeMemoryStaged( if (dev().xferRead().bufSize() < 128 * Ki) { chunkSize = dev().xferWrite().bufSize(); } - else if (xferSize > 256 * Ki) { + else { chunkSize = std::min(amd::alignUp(xferSize / 4, 256), dev().xferWrite().bufSize()); chunkSize = std::max(chunkSize, 128 * Ki); } - else { - chunkSize = xferSize; - } while (xferSize != 0) { // Find the partial transfer size diff --git a/projects/clr/rocclr/runtime/device/pal/palblit.cpp b/projects/clr/rocclr/runtime/device/pal/palblit.cpp index a9925d93c8..0e67f8117c 100644 --- a/projects/clr/rocclr/runtime/device/pal/palblit.cpp +++ b/projects/clr/rocclr/runtime/device/pal/palblit.cpp @@ -56,14 +56,11 @@ DmaBlitManager::readMemoryStaged( if (dev().xferRead().bufSize() < 128 * Ki) { chunkSize = dev().xferRead().bufSize(); } - else if (xferSize > 256 * Ki) { + else { chunkSize = std::min(amd::alignUp(xferSize / 4, 256), dev().xferRead().bufSize()); chunkSize = std::max(chunkSize, 128 * Ki); } - else { - chunkSize = xferSize; - } // Find the partial transfer size tmpSize = std::min(chunkSize, xferSize); @@ -325,14 +322,11 @@ DmaBlitManager::writeMemoryStaged( if (dev().xferRead().bufSize() < 128 * Ki) { chunkSize = dev().xferWrite().bufSize(); } - else if (xferSize > 256 * Ki) { + else { chunkSize = std::min(amd::alignUp(xferSize / 4, 256), dev().xferWrite().bufSize()); chunkSize = std::max(chunkSize, 128 * Ki); } - else { - chunkSize = xferSize; - } while (xferSize != 0) { // Find the partial transfer size