@@ -315,8 +315,8 @@ ur_result_t urTextureCreate(ur_sampler_handle_t hSampler,
315
315
#if CUDA_VERSION >= 11060
316
316
ImageTexDesc.flags |= CU_TRSF_SEAMLESS_CUBEMAP;
317
317
#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." ,
320
320
UR_RESULT_ERROR_ADAPTER_SPECIFIC);
321
321
return UR_RESULT_ERROR_ADAPTER_SPECIFIC;
322
322
#endif
@@ -657,6 +657,10 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
657
657
UR_ASSERT (pSrcImageFormat->channelOrder == pDstImageFormat->channelOrder ,
658
658
UR_RESULT_ERROR_INVALID_ARGUMENT);
659
659
660
+ auto as_CUArray = [](const void *ptr) {
661
+ return static_cast <CUarray>(const_cast <void *>(ptr));
662
+ };
663
+
660
664
unsigned int NumChannels = 0 ;
661
665
size_t PixelSizeBytes = 0 ;
662
666
@@ -785,7 +789,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
785
789
786
790
if (isCudaArray) {
787
791
UR_CHECK_ERROR (
788
- cuMemcpyAtoHAsync (DstWithOffset, (CUarray) pSrc,
792
+ cuMemcpyAtoHAsync (DstWithOffset, as_CUArray ( pSrc) ,
789
793
PixelSizeBytes * pCopyRegion->srcOffset .x ,
790
794
CopyExtentBytes, Stream));
791
795
} else if (memType == CU_MEMORYTYPE_DEVICE) {
@@ -809,7 +813,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
809
813
cpy_desc.dstHost = pDst;
810
814
if (pSrcImageDesc->rowPitch == 0 ) {
811
815
cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
812
- cpy_desc.srcArray = (CUarray) pSrc;
816
+ cpy_desc.srcArray = as_CUArray ( pSrc) ;
813
817
} else {
814
818
// Pitched memory
815
819
cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_DEVICE;
@@ -831,7 +835,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
831
835
cpy_desc.dstY = pCopyRegion->dstOffset .y ;
832
836
cpy_desc.dstZ = pCopyRegion->dstOffset .z ;
833
837
cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
834
- cpy_desc.srcArray = (CUarray) pSrc;
838
+ cpy_desc.srcArray = as_CUArray ( pSrc) ;
835
839
cpy_desc.dstMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_HOST;
836
840
cpy_desc.dstHost = pDst;
837
841
cpy_desc.dstPitch = pDstImageDesc->width * PixelSizeBytes;
@@ -851,7 +855,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
851
855
cpy_desc.dstY = pCopyRegion->dstOffset .y ;
852
856
cpy_desc.dstZ = pCopyRegion->dstOffset .z ;
853
857
cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
854
- cpy_desc.srcArray = (CUarray) pSrc;
858
+ cpy_desc.srcArray = as_CUArray ( pSrc) ;
855
859
cpy_desc.dstMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_HOST;
856
860
cpy_desc.dstHost = pDst;
857
861
cpy_desc.dstPitch = pDstImageDesc->width * PixelSizeBytes;
@@ -881,7 +885,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
881
885
cpy_desc.dstXInBytes = pCopyRegion->dstOffset .x * PixelSizeBytes;
882
886
cpy_desc.dstY = 0 ;
883
887
cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
884
- cpy_desc.srcArray = (CUarray) pSrc;
888
+ cpy_desc.srcArray = as_CUArray ( pSrc) ;
885
889
cpy_desc.dstMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
886
890
cpy_desc.dstArray = (CUarray)pDst;
887
891
cpy_desc.WidthInBytes = PixelSizeBytes * pCopyRegion->copyExtent .width ;
@@ -894,7 +898,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
894
898
cpy_desc.dstXInBytes = pCopyRegion->dstOffset .x * PixelSizeBytes;
895
899
cpy_desc.dstY = pCopyRegion->dstOffset .y ;
896
900
cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
897
- cpy_desc.srcArray = (CUarray) pSrc;
901
+ cpy_desc.srcArray = as_CUArray ( pSrc) ;
898
902
cpy_desc.dstMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
899
903
cpy_desc.dstArray = (CUarray)pDst;
900
904
cpy_desc.WidthInBytes = PixelSizeBytes * pCopyRegion->copyExtent .width ;
@@ -909,7 +913,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
909
913
cpy_desc.dstY = pCopyRegion->dstOffset .y ;
910
914
cpy_desc.dstZ = pCopyRegion->dstOffset .z ;
911
915
cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
912
- cpy_desc.srcArray = (CUarray) pSrc;
916
+ cpy_desc.srcArray = as_CUArray ( pSrc) ;
913
917
cpy_desc.dstMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
914
918
cpy_desc.dstArray = (CUarray)pDst;
915
919
cpy_desc.WidthInBytes = PixelSizeBytes * pCopyRegion->copyExtent .width ;
@@ -927,7 +931,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
927
931
cpy_desc.dstY = pCopyRegion->dstOffset .y ;
928
932
cpy_desc.dstZ = pCopyRegion->dstOffset .z ;
929
933
cpy_desc.srcMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
930
- cpy_desc.srcArray = (CUarray) pSrc;
934
+ cpy_desc.srcArray = as_CUArray ( pSrc) ;
931
935
cpy_desc.dstMemoryType = CUmemorytype_enum::CU_MEMORYTYPE_ARRAY;
932
936
cpy_desc.dstArray = (CUarray)pDst;
933
937
cpy_desc.WidthInBytes = PixelSizeBytes * pCopyRegion->copyExtent .width ;
0 commit comments