SWDEV-275317 - Fix hipMemcpy2DFromArray to return proper error types

Change-Id: Id722865d81460bfd2fa6ad7a198b6e3c2a08265a
This commit is contained in:
Satyanvesh Dittakavi
2021-03-08 07:48:24 -08:00
والد 55377dfee2
کامیت daafd303ec
4فایلهای تغییر یافته به همراه16 افزوده شده و 0 حذف شده
@@ -218,6 +218,7 @@ typedef enum __HIP_NODISCARD hipError_t {
hipErrorProfilerAlreadyStarted = 7,
hipErrorProfilerAlreadyStopped = 8,
hipErrorInvalidConfiguration = 9,
hipErrorInvalidPitchValue = 12,
hipErrorInvalidSymbol = 13,
hipErrorInvalidDevicePointer = 17, ///< Invalid Device Pointer
hipErrorInvalidMemcpyDirection = 21, ///< Invalid memory copy direction
@@ -78,6 +78,8 @@ const char *hipGetErrorName(hipError_t hip_error)
return "hipErrorNoDevice";
case hipErrorInvalidDevice:
return "hipErrorInvalidDevice";
case hipErrorInvalidPitchValue:
return "hipErrorInvalidPitchValue";
case hipErrorInvalidImage:
return "hipErrorInvalidImage";
case hipErrorInvalidContext:
@@ -1665,6 +1665,10 @@ hipError_t hipMemcpyToArray(hipArray* dst, size_t wOffset, size_t hOffset, const
}
hipError_t ihipMemcpy2DFromArray(void* dst, size_t dpitch, hipArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream, bool isAsync = false) {
if (src == nullptr) {
HIP_RETURN(hipErrorInvalidResourceHandle);
}
hip_Memcpy2D desc = {};
desc.srcXInBytes = wOffsetSrc;
@@ -2241,12 +2245,20 @@ hipError_t hipMemcpyArrayToArray(hipArray_t dst, size_t wOffsetDst, size_t hOffs
hipError_t hipMemcpy2DFromArray(void* dst, size_t dpitch, hipArray_const_t src, size_t wOffsetSrc, size_t hOffset, size_t width, size_t height, hipMemcpyKind kind) {
HIP_INIT_API(hipMemcpy2DFromArray, dst, dpitch, src, wOffsetSrc, hOffset, width, height, kind);
if (dpitch == 0) {
HIP_RETURN(hipErrorInvalidPitchValue);
}
HIP_RETURN_DURATION(ihipMemcpy2DFromArray(dst, dpitch, src, wOffsetSrc, hOffset, width, height, kind, nullptr));
}
hipError_t hipMemcpy2DFromArrayAsync(void* dst, size_t dpitch, hipArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream) {
HIP_INIT_API(hipMemcpy2DFromArrayAsync, dst, dpitch, src, wOffsetSrc, hOffsetSrc, width, height, kind, stream);
if (dpitch == 0) {
HIP_RETURN(hipErrorInvalidPitchValue);
}
HIP_RETURN_DURATION(ihipMemcpy2DFromArray(dst, dpitch, src, wOffsetSrc, hOffsetSrc, width, height, kind, stream, true));
}
@@ -83,6 +83,7 @@ inline const char* ihipErrorString(hipError_t hip_error) {
CASE_STR(hipErrorInvalidConfiguration);
CASE_STR(hipErrorInvalidDevice);
CASE_STR(hipErrorInvalidValue);
CASE_STR(hipErrorInvalidPitchValue);
CASE_STR(hipErrorInvalidDevicePointer);
CASE_STR(hipErrorInvalidMemcpyDirection);
CASE_STR(hipErrorUnknown);