SWDEV-368553 – Add missing mipmap Apis
Add missing mipmap Apis’ implementation.
Fix some bugs of mimpmap apis.
Use hipmipmappedArray to differentiate cuda
and driver apis on Nvidia.
Change-Id: I6079d9f3b2ddf4e42b9a6f7f3902322cfca02cfd
[ROCm/hipother commit: f6ec01a5f2]
Este commit está contenido en:
@@ -253,7 +253,8 @@ inline static CUresourcetype hipResourcetype_enumToCUresourcetype(
|
||||
|
||||
#define hipTexRef CUtexref
|
||||
#define hiparray CUarray
|
||||
typedef CUmipmappedArray hipMipmappedArray_t;
|
||||
typedef CUmipmappedArray hipmipmappedArray;
|
||||
typedef cudaMipmappedArray_t hipMipmappedArray_t;
|
||||
|
||||
#define HIP_TRSA_OVERRIDE_FORMAT CU_TRSA_OVERRIDE_FORMAT
|
||||
#define HIP_TRSF_READ_AS_INTEGER CU_TRSF_READ_AS_INTEGER
|
||||
@@ -1579,22 +1580,38 @@ inline static hipError_t hipFreeArray(hipArray* array) {
|
||||
return hipCUDAErrorTohipError(cudaFreeArray(array));
|
||||
}
|
||||
|
||||
inline static hipError_t hipMipmappedArrayCreate(hipMipmappedArray_t* pHandle,
|
||||
inline static hipError_t hipMipmappedArrayCreate(hipmipmappedArray* pHandle,
|
||||
HIP_ARRAY3D_DESCRIPTOR* pMipmappedArrayDesc,
|
||||
unsigned int numMipmapLevels) {
|
||||
return hipCUResultTohipError(cuMipmappedArrayCreate(pHandle, pMipmappedArrayDesc, numMipmapLevels));
|
||||
}
|
||||
|
||||
inline static hipError_t hipMipmappedArrayDestroy(hipMipmappedArray_t hMipmappedArray) {
|
||||
inline static hipError_t hipMipmappedArrayDestroy(hipmipmappedArray hMipmappedArray) {
|
||||
return hipCUResultTohipError(cuMipmappedArrayDestroy(hMipmappedArray));
|
||||
}
|
||||
|
||||
inline static hipError_t hipMipmappedArrayGetLevel(hipArray_t* pLevelArray,
|
||||
hipMipmappedArray_t hMipMappedArray,
|
||||
inline static hipError_t hipMipmappedArrayGetLevel(hiparray* pLevelArray,
|
||||
hipmipmappedArray hMipMappedArray,
|
||||
unsigned int level) {
|
||||
return hipCUResultTohipError(cuMipmappedArrayGetLevel((CUarray*)pLevelArray, hMipMappedArray, level));
|
||||
}
|
||||
|
||||
inline static hipError_t hipMallocMipmappedArray(hipMipmappedArray_t* pHandle,
|
||||
const hipChannelFormatDesc* desc, hipExtent extent,
|
||||
unsigned int numLevels, unsigned int flags = 0) {
|
||||
return hipCUDAErrorTohipError(cudaMallocMipmappedArray(pHandle, desc, extent, numLevels, flags));
|
||||
}
|
||||
|
||||
inline static hipError_t hipFreeMipmappedArray(hipMipmappedArray_t hMipmappedArray) {
|
||||
return hipCUDAErrorTohipError(cudaFreeMipmappedArray(hMipmappedArray));
|
||||
}
|
||||
|
||||
inline static hipError_t hipGetMipmappedArrayLevel(hipArray_t* pLevelArray,
|
||||
hipMipmappedArray_t hMipMappedArray,
|
||||
unsigned int level) {
|
||||
return hipCUDAErrorTohipError(cudaGetMipmappedArrayLevel(pLevelArray, hMipMappedArray, level));
|
||||
}
|
||||
|
||||
inline static hipError_t hipHostGetDevicePointer(void** devPtr, void* hostPtr, unsigned int flags) {
|
||||
return hipCUDAErrorTohipError(cudaHostGetDevicePointer(devPtr, hostPtr, flags));
|
||||
}
|
||||
|
||||
Referencia en una nueva incidencia
Block a user