@@ -315,8 +315,8 @@ ur_result_t urTextureCreate(ur_sampler_handle_t hSampler,
315315#if CUDA_VERSION >= 11060
316316 ImageTexDesc.flags |= CU_TRSF_SEAMLESS_CUBEMAP;
317317#else
318- setErrorMessage (" The " UR_EXP_SAMPLER_CUBEMAP_FILTER_MODE_SEAMLESS
319- " feature requires cuda 11.6 or later." ,
318+ setErrorMessage (" The UR_EXP_SAMPLER_CUBEMAP_FILTER_MODE_SEAMLESS "
319+ " feature requires cuda 11.6 or later." ,
320320 UR_RESULT_ERROR_ADAPTER_SPECIFIC);
321321 return UR_RESULT_ERROR_ADAPTER_SPECIFIC;
322322#endif
@@ -657,6 +657,10 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
657657 UR_ASSERT (pSrcImageFormat->channelOrder == pDstImageFormat->channelOrder ,
658658 UR_RESULT_ERROR_INVALID_ARGUMENT);
659659
660+ auto as_CUArray = [](const void *ptr) {
661+ return static_cast <CUarray>(const_cast <void *>(ptr));
662+ };
663+
660664 unsigned int NumChannels = 0 ;
661665 size_t PixelSizeBytes = 0 ;
662666
@@ -785,7 +789,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
785789
786790 if (isCudaArray) {
787791 UR_CHECK_ERROR (
788- cuMemcpyAtoHAsync (DstWithOffset, (CUarray) pSrc,
792+ cuMemcpyAtoHAsync (DstWithOffset, as_CUArray ( pSrc) ,
789793 PixelSizeBytes * pCopyRegion->srcOffset .x ,
790794 CopyExtentBytes, Stream));
791795 } else if (memType == CU_MEMORYTYPE_DEVICE) {
@@ -809,7 +813,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
809813 cpy_desc.dstHost = pDst;
810814 if (pSrcImageDesc->rowPitch == 0 ) {
811815 cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
812- cpy_desc.srcArray = (CUarray) pSrc;
816+ cpy_desc.srcArray = as_CUArray ( pSrc) ;
813817 } else {
814818 // Pitched memory
815819 cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_DEVICE;
@@ -831,7 +835,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
831835 cpy_desc.dstY = pCopyRegion->dstOffset .y ;
832836 cpy_desc.dstZ = pCopyRegion->dstOffset .z ;
833837 cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
834- cpy_desc.srcArray = (CUarray) pSrc;
838+ cpy_desc.srcArray = as_CUArray ( pSrc) ;
835839 cpy_desc.dstMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_HOST;
836840 cpy_desc.dstHost = pDst;
837841 cpy_desc.dstPitch = pDstImageDesc->width * PixelSizeBytes;
@@ -851,7 +855,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
851855 cpy_desc.dstY = pCopyRegion->dstOffset .y ;
852856 cpy_desc.dstZ = pCopyRegion->dstOffset .z ;
853857 cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
854- cpy_desc.srcArray = (CUarray) pSrc;
858+ cpy_desc.srcArray = as_CUArray ( pSrc) ;
855859 cpy_desc.dstMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_HOST;
856860 cpy_desc.dstHost = pDst;
857861 cpy_desc.dstPitch = pDstImageDesc->width * PixelSizeBytes;
@@ -881,7 +885,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
881885 cpy_desc.dstXInBytes = pCopyRegion->dstOffset .x * PixelSizeBytes;
882886 cpy_desc.dstY = 0 ;
883887 cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
884- cpy_desc.srcArray = (CUarray) pSrc;
888+ cpy_desc.srcArray = as_CUArray ( pSrc) ;
885889 cpy_desc.dstMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
886890 cpy_desc.dstArray = (CUarray)pDst;
887891 cpy_desc.WidthInBytes = PixelSizeBytes * pCopyRegion->copyExtent .width ;
@@ -894,7 +898,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
894898 cpy_desc.dstXInBytes = pCopyRegion->dstOffset .x * PixelSizeBytes;
895899 cpy_desc.dstY = pCopyRegion->dstOffset .y ;
896900 cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
897- cpy_desc.srcArray = (CUarray) pSrc;
901+ cpy_desc.srcArray = as_CUArray ( pSrc) ;
898902 cpy_desc.dstMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
899903 cpy_desc.dstArray = (CUarray)pDst;
900904 cpy_desc.WidthInBytes = PixelSizeBytes * pCopyRegion->copyExtent .width ;
@@ -909,7 +913,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
909913 cpy_desc.dstY = pCopyRegion->dstOffset .y ;
910914 cpy_desc.dstZ = pCopyRegion->dstOffset .z ;
911915 cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
912- cpy_desc.srcArray = (CUarray) pSrc;
916+ cpy_desc.srcArray = as_CUArray ( pSrc) ;
913917 cpy_desc.dstMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
914918 cpy_desc.dstArray = (CUarray)pDst;
915919 cpy_desc.WidthInBytes = PixelSizeBytes * pCopyRegion->copyExtent .width ;
@@ -927,7 +931,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
927931 cpy_desc.dstY = pCopyRegion->dstOffset .y ;
928932 cpy_desc.dstZ = pCopyRegion->dstOffset .z ;
929933 cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
930- cpy_desc.srcArray = (CUarray) pSrc;
934+ cpy_desc.srcArray = as_CUArray ( pSrc) ;
931935 cpy_desc.dstMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
932936 cpy_desc.dstArray = (CUarray)pDst;
933937 cpy_desc.WidthInBytes = PixelSizeBytes * pCopyRegion->copyExtent .width ;
0 commit comments