Return error when mismatch in copy kind and ptrs

Change-Id: I70e4d06e850843697035b42c5d1d56287c874ac8


[ROCm/hip commit: 519ef3f22e]
Tento commit je obsažen v:
Rahul Garg
2020-07-23 01:21:17 +00:00
rodič 02913e98a3
revize ad72b42e36
+8 -6
Zobrazit soubor
@@ -150,12 +150,14 @@ hipError_t ihipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKin
size_t dOffset = 0;
amd::Memory *dstMemory = getMemoryObject(dst, dOffset);
amd::Device* queueDevice = &queue.device();
if (((srcMemory == nullptr) && (dstMemory == nullptr)) ||
(kind == hipMemcpyHostToHost)) {
queue.finish();
memcpy(dst, src, sizeBytes);
return hipSuccess;
if ((srcMemory == nullptr) && (dstMemory == nullptr)) {
if ((kind == hipMemcpyHostToHost) || (kind == hipMemcpyDefault)) {
queue.finish();
memcpy(dst, src, sizeBytes);
return hipSuccess;
} else {
return hipErrorInvalidValue;
}
} else if ((srcMemory == nullptr) && (dstMemory != nullptr)) {
amd::HostQueue* pQueue = &queue;
if (queueDevice != dstMemory->getContext().devices()[0]) {