@@ -481,7 +481,8 @@ typedef enum ur_result_t {
481481 UR_RESULT_ERROR_UNSUPPORTED_IMAGE_FORMAT = 55, ///< [Validation] image format is not supported by the device
482482 UR_RESULT_ERROR_INVALID_NATIVE_BINARY = 56, ///< [Validation] native binary is not supported by the device
483483 UR_RESULT_ERROR_INVALID_GLOBAL_NAME = 57, ///< [Validation] global variable is not found in the program
484- UR_RESULT_ERROR_INVALID_FUNCTION_NAME = 58, ///< [Validation] function name is not found in the program
484+ UR_RESULT_ERROR_FUNCTION_ADDRESS_NOT_AVAILABLE = 58, ///< [Validation] function name is in the program but its address could not
485+ ///< be determined
485486 UR_RESULT_ERROR_INVALID_GROUP_SIZE_DIMENSION = 59, ///< [Validation] group size dimension is not valid for the kernel or
486487 ///< device
487488 UR_RESULT_ERROR_INVALID_GLOBAL_WIDTH_DIMENSION = 60, ///< [Validation] global width dimension is not valid for the kernel or
@@ -1597,6 +1598,9 @@ typedef enum ur_device_info_t {
15971598 ///< this composite device.
15981599 UR_DEVICE_INFO_COMPOSITE_DEVICE = 117, ///< [::ur_device_handle_t] The composite device containing this component
15991600 ///< device.
1601+ UR_DEVICE_INFO_GLOBAL_VARIABLE_SUPPORT = 118, ///< [::ur_bool_t] return true if the device supports the
1602+ ///< `EnqueueDeviceGlobalVariableWrite` and
1603+ ///< `EnqueueDeviceGlobalVariableRead` entry points.
16001604 UR_DEVICE_INFO_COMMAND_BUFFER_SUPPORT_EXP = 0x1000, ///< [::ur_bool_t] Returns true if the device supports the use of
16011605 ///< command-buffers.
16021606 UR_DEVICE_INFO_COMMAND_BUFFER_UPDATE_SUPPORT_EXP = 0x1001, ///< [::ur_bool_t] Returns true if the device supports updating the kernel
@@ -2556,8 +2560,8 @@ typedef struct ur_image_desc_t {
25562560 size_t arraySize; ///< [in] image array size
25572561 size_t rowPitch; ///< [in] image row pitch
25582562 size_t slicePitch; ///< [in] image slice pitch
2559- uint32_t numMipLevel; ///< [in] number of MIP levels
2560- uint32_t numSamples; ///< [in] number of samples
2563+ uint32_t numMipLevel; ///< [in] number of MIP levels, must be `0`
2564+ uint32_t numSamples; ///< [in] number of samples, must be `0`
25612565
25622566} ur_image_desc_t;
25632567
@@ -2601,6 +2605,10 @@ typedef struct ur_image_desc_t {
26012605/// - ::UR_RESULT_ERROR_INVALID_VALUE
26022606/// - ::UR_RESULT_ERROR_INVALID_IMAGE_FORMAT_DESCRIPTOR
26032607/// + `pImageDesc && UR_MEM_TYPE_IMAGE1D_ARRAY < pImageDesc->type`
2608+ /// + `pImageDesc && pImageDesc->numMipLevel != 0`
2609+ /// + `pImageDesc && pImageDesc->numSamples != 0`
2610+ /// + `pImageDesc && pImageDesc->rowPitch != 0 && pHost == nullptr`
2611+ /// + `pImageDesc && pImageDesc->slicePitch != 0 && pHost == nullptr`
26042612/// - ::UR_RESULT_ERROR_INVALID_IMAGE_SIZE
26052613/// - ::UR_RESULT_ERROR_INVALID_OPERATION
26062614/// - ::UR_RESULT_ERROR_INVALID_HOST_PTR
@@ -4355,8 +4363,8 @@ urProgramRelease(
43554363/// @details
43564364/// - Retrieves a pointer to the functions with the given name and defined
43574365/// in the given program.
4358- /// - ::UR_RESULT_ERROR_INVALID_FUNCTION_NAME is returned if the function
4359- /// can not be obtained.
4366+ /// - ::UR_RESULT_ERROR_FUNCTION_ADDRESS_NOT_AVAILABLE is returned if the
4367+ /// function can not be obtained.
43604368/// - The application may call this function from simultaneous threads for
43614369/// the same device.
43624370/// - The implementation of this function should be thread-safe.
@@ -4376,6 +4384,10 @@ urProgramRelease(
43764384/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
43774385/// + `NULL == pFunctionName`
43784386/// + `NULL == ppFunctionPointer`
4387+ /// - ::UR_RESULT_ERROR_INVALID_KERNEL_NAME
4388+ /// + If `pFunctionName` couldn't be found in `hProgram`.
4389+ /// - ::UR_RESULT_ERROR_FUNCTION_ADDRESS_NOT_AVAILABLE
4390+ /// + If `pFunctionName` could be located, but its address couldn't be retrieved.
43794391UR_APIEXPORT ur_result_t UR_APICALL
43804392urProgramGetFunctionPointer(
43814393 ur_device_handle_t hDevice, ///< [in] handle of the device to retrieve pointer for.
@@ -4777,7 +4789,7 @@ urKernelSetArgLocal(
47774789/// @brief Get Kernel object information
47784790typedef enum ur_kernel_info_t {
47794791 UR_KERNEL_INFO_FUNCTION_NAME = 0, ///< [char[]] Return null-terminated kernel function name.
4780- UR_KERNEL_INFO_NUM_ARGS = 1, ///< [size_t ] Return Kernel number of arguments.
4792+ UR_KERNEL_INFO_NUM_ARGS = 1, ///< [uint32_t ] Return Kernel number of arguments.
47814793 UR_KERNEL_INFO_REFERENCE_COUNT = 2, ///< [uint32_t] Reference count of the kernel object.
47824794 ///< The reference count returned should be considered immediately stale.
47834795 ///< It is unsuitable for general use in applications. This feature is
0 commit comments