SWDEV-275317 - Fix hipMemcpy2DFromArray to return proper error types
Change-Id: Id722865d81460bfd2fa6ad7a198b6e3c2a08265a
This commit is contained in:
@@ -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);
|
||||
|
||||
مرجع در شماره جدید
Block a user