Skip to content

Commit 9d3bce6

Browse files
authored
Merge pull request #1822 from JackAKirk/cuda-cubemap-driver-fix
[cuda][bindless_images][2025.0 req] Fix for cuda < 11.6 support.
2 parents e077544 + 1c9c2d0 commit 9d3bce6

File tree

5 files changed

+15
-0
lines changed

5 files changed

+15
-0
lines changed

include/ur_api.h

+2
Original file line numberDiff line numberDiff line change
@@ -7665,6 +7665,7 @@ urBindlessImagesImageFreeExp(
76657665
/// + `pImageDesc && UR_MEM_TYPE_IMAGE1D_ARRAY < pImageDesc->type`
76667666
/// - ::UR_RESULT_ERROR_INVALID_IMAGE_SIZE
76677667
/// - ::UR_RESULT_ERROR_INVALID_OPERATION
7668+
/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
76687669
UR_APIEXPORT ur_result_t UR_APICALL
76697670
urBindlessImagesUnsampledImageCreateExp(
76707671
ur_context_handle_t hContext, ///< [in] handle of the context object
@@ -7703,6 +7704,7 @@ urBindlessImagesUnsampledImageCreateExp(
77037704
/// - ::UR_RESULT_ERROR_INVALID_IMAGE_SIZE
77047705
/// - ::UR_RESULT_ERROR_INVALID_SAMPLER
77057706
/// - ::UR_RESULT_ERROR_INVALID_OPERATION
7707+
/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
77067708
UR_APIEXPORT ur_result_t UR_APICALL
77077709
urBindlessImagesSampledImageCreateExp(
77087710
ur_context_handle_t hContext, ///< [in] handle of the context object

scripts/core/exp-bindless-images.yml

+2
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,7 @@ returns:
469469
- "`pImageDesc && UR_MEM_TYPE_IMAGE1D_ARRAY < pImageDesc->type`"
470470
- $X_RESULT_ERROR_INVALID_IMAGE_SIZE
471471
- $X_RESULT_ERROR_INVALID_OPERATION
472+
- $X_RESULT_ERROR_ADAPTER_SPECIFIC
472473
--- #--------------------------------------------------------------------------
473474
type: function
474475
desc: "Create a bindless sampled image handle"
@@ -507,6 +508,7 @@ returns:
507508
- $X_RESULT_ERROR_INVALID_IMAGE_SIZE
508509
- $X_RESULT_ERROR_INVALID_SAMPLER
509510
- $X_RESULT_ERROR_INVALID_OPERATION
511+
- $X_RESULT_ERROR_ADAPTER_SPECIFIC
510512
--- #--------------------------------------------------------------------------
511513
type: function
512514
desc: "Copy image data Host to Device or Device to Host"

source/adapters/cuda/image.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,14 @@ ur_result_t urTextureCreate(ur_sampler_handle_t hSampler,
311311
ur_exp_sampler_cubemap_filter_mode_t CubemapFilterModeProp =
312312
hSampler->getCubemapFilterMode();
313313
if (CubemapFilterModeProp == UR_EXP_SAMPLER_CUBEMAP_FILTER_MODE_SEAMLESS) {
314+
#if CUDA_VERSION >= 11060
314315
ImageTexDesc.flags |= CU_TRSF_SEAMLESS_CUBEMAP;
316+
#else
317+
setErrorMessage("The " UR_EXP_SAMPLER_CUBEMAP_FILTER_MODE_SEAMLESS
318+
" feature requires cuda 11.6 or later.",
319+
UR_RESULT_ERROR_ADAPTER_SPECIFIC);
320+
return UR_RESULT_ERROR_ADAPTER_SPECIFIC;
321+
#endif
315322
}
316323

317324
CUtexObject Texture;

source/loader/ur_libapi.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -6702,6 +6702,7 @@ ur_result_t UR_APICALL urBindlessImagesImageFreeExp(
67026702
/// + `pImageDesc && UR_MEM_TYPE_IMAGE1D_ARRAY < pImageDesc->type`
67036703
/// - ::UR_RESULT_ERROR_INVALID_IMAGE_SIZE
67046704
/// - ::UR_RESULT_ERROR_INVALID_OPERATION
6705+
/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
67056706
ur_result_t UR_APICALL urBindlessImagesUnsampledImageCreateExp(
67066707
ur_context_handle_t hContext, ///< [in] handle of the context object
67076708
ur_device_handle_t hDevice, ///< [in] handle of the device object
@@ -6754,6 +6755,7 @@ ur_result_t UR_APICALL urBindlessImagesUnsampledImageCreateExp(
67546755
/// - ::UR_RESULT_ERROR_INVALID_IMAGE_SIZE
67556756
/// - ::UR_RESULT_ERROR_INVALID_SAMPLER
67566757
/// - ::UR_RESULT_ERROR_INVALID_OPERATION
6758+
/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
67576759
ur_result_t UR_APICALL urBindlessImagesSampledImageCreateExp(
67586760
ur_context_handle_t hContext, ///< [in] handle of the context object
67596761
ur_device_handle_t hDevice, ///< [in] handle of the device object

source/ur_api.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -5724,6 +5724,7 @@ ur_result_t UR_APICALL urBindlessImagesImageFreeExp(
57245724
/// + `pImageDesc && UR_MEM_TYPE_IMAGE1D_ARRAY < pImageDesc->type`
57255725
/// - ::UR_RESULT_ERROR_INVALID_IMAGE_SIZE
57265726
/// - ::UR_RESULT_ERROR_INVALID_OPERATION
5727+
/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
57275728
ur_result_t UR_APICALL urBindlessImagesUnsampledImageCreateExp(
57285729
ur_context_handle_t hContext, ///< [in] handle of the context object
57295730
ur_device_handle_t hDevice, ///< [in] handle of the device object
@@ -5767,6 +5768,7 @@ ur_result_t UR_APICALL urBindlessImagesUnsampledImageCreateExp(
57675768
/// - ::UR_RESULT_ERROR_INVALID_IMAGE_SIZE
57685769
/// - ::UR_RESULT_ERROR_INVALID_SAMPLER
57695770
/// - ::UR_RESULT_ERROR_INVALID_OPERATION
5771+
/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
57705772
ur_result_t UR_APICALL urBindlessImagesSampledImageCreateExp(
57715773
ur_context_handle_t hContext, ///< [in] handle of the context object
57725774
ur_device_handle_t hDevice, ///< [in] handle of the device object

0 commit comments

Comments
 (0)