diff --git a/include/ur.py b/include/ur.py index 810d8c2cba..7697ac24f0 100644 --- a/include/ur.py +++ b/include/ur.py @@ -238,6 +238,9 @@ class ur_structure_type_v(IntEnum): DEVICE_PARTITION_PROPERTIES = 26 ## ::ur_device_partition_properties_t KERNEL_ARG_MEM_OBJ_PROPERTIES = 27 ## ::ur_kernel_arg_mem_obj_properties_t PHYSICAL_MEM_PROPERTIES = 28 ## ::ur_physical_mem_properties_t + KERNEL_ARG_POINTER_PROPERTIES = 29 ## ::ur_kernel_arg_pointer_properties_t + KERNEL_ARG_SAMPLER_PROPERTIES = 30 ## ::ur_kernel_arg_sampler_properties_t + KERNEL_EXEC_INFO_PROPERTIES = 31 ## ::ur_kernel_exec_info_properties_t EXP_COMMAND_BUFFER_DESC = 0x1000 ## ::ur_exp_command_buffer_desc_t EXP_SAMPLER_MIP_PROPERTIES = 0x2000 ## ::ur_exp_sampler_mip_properties_t @@ -1574,6 +1577,33 @@ def __str__(self): return str(ur_kernel_exec_info_v(self.value)) +############################################################################### +## @brief Properties for for ::urKernelSetArgPointer. +class ur_kernel_arg_pointer_properties_t(Structure): + _fields_ = [ + ("stype", ur_structure_type_t), ## [in] type of this structure, must be + ## ::UR_STRUCTURE_TYPE_KERNEL_ARG_POINTER_PROPERTIES + ("pNext", c_void_p) ## [in,out][optional] pointer to extension-specific structure + ] + +############################################################################### +## @brief Properties for for ::urKernelSetExecInfo. +class ur_kernel_exec_info_properties_t(Structure): + _fields_ = [ + ("stype", ur_structure_type_t), ## [in] type of this structure, must be + ## ::UR_STRUCTURE_TYPE_KERNEL_EXEC_INFO_PROPERTIES + ("pNext", c_void_p) ## [in,out][optional] pointer to extension-specific structure + ] + +############################################################################### +## @brief Properties for for ::urKernelSetArgSampler. +class ur_kernel_arg_sampler_properties_t(Structure): + _fields_ = [ + ("stype", ur_structure_type_t), ## [in] type of this structure, must be + ## ::UR_STRUCTURE_TYPE_KERNEL_ARG_SAMPLER_PROPERTIES + ("pNext", c_void_p) ## [in,out][optional] pointer to extension-specific structure + ] + ############################################################################### ## @brief Properties for for ::urKernelSetArgMemObj. class ur_kernel_arg_mem_obj_properties_t(Structure): @@ -2466,23 +2496,23 @@ class ur_program_dditable_t(Structure): ############################################################################### ## @brief Function-pointer for urKernelSetArgPointer if __use_win_types: - _urKernelSetArgPointer_t = WINFUNCTYPE( ur_result_t, ur_kernel_handle_t, c_ulong, c_void_p ) + _urKernelSetArgPointer_t = WINFUNCTYPE( ur_result_t, ur_kernel_handle_t, c_ulong, POINTER(ur_kernel_arg_pointer_properties_t), c_void_p ) else: - _urKernelSetArgPointer_t = CFUNCTYPE( ur_result_t, ur_kernel_handle_t, c_ulong, c_void_p ) + _urKernelSetArgPointer_t = CFUNCTYPE( ur_result_t, ur_kernel_handle_t, c_ulong, POINTER(ur_kernel_arg_pointer_properties_t), c_void_p ) ############################################################################### ## @brief Function-pointer for urKernelSetExecInfo if __use_win_types: - _urKernelSetExecInfo_t = WINFUNCTYPE( ur_result_t, ur_kernel_handle_t, ur_kernel_exec_info_t, c_size_t, c_void_p ) + _urKernelSetExecInfo_t = WINFUNCTYPE( ur_result_t, ur_kernel_handle_t, ur_kernel_exec_info_t, c_size_t, POINTER(ur_kernel_exec_info_properties_t), c_void_p ) else: - _urKernelSetExecInfo_t = CFUNCTYPE( ur_result_t, ur_kernel_handle_t, ur_kernel_exec_info_t, c_size_t, c_void_p ) + _urKernelSetExecInfo_t = CFUNCTYPE( ur_result_t, ur_kernel_handle_t, ur_kernel_exec_info_t, c_size_t, POINTER(ur_kernel_exec_info_properties_t), c_void_p ) ############################################################################### ## @brief Function-pointer for urKernelSetArgSampler if __use_win_types: - _urKernelSetArgSampler_t = WINFUNCTYPE( ur_result_t, ur_kernel_handle_t, c_ulong, ur_sampler_handle_t ) + _urKernelSetArgSampler_t = WINFUNCTYPE( ur_result_t, ur_kernel_handle_t, c_ulong, POINTER(ur_kernel_arg_sampler_properties_t), ur_sampler_handle_t ) else: - _urKernelSetArgSampler_t = CFUNCTYPE( ur_result_t, ur_kernel_handle_t, c_ulong, ur_sampler_handle_t ) + _urKernelSetArgSampler_t = CFUNCTYPE( ur_result_t, ur_kernel_handle_t, c_ulong, POINTER(ur_kernel_arg_sampler_properties_t), ur_sampler_handle_t ) ############################################################################### ## @brief Function-pointer for urKernelSetArgMemObj diff --git a/include/ur_api.h b/include/ur_api.h index a7a12b108f..32f6310bc0 100644 --- a/include/ur_api.h +++ b/include/ur_api.h @@ -261,6 +261,9 @@ typedef enum ur_structure_type_t { UR_STRUCTURE_TYPE_DEVICE_PARTITION_PROPERTIES = 26, ///< ::ur_device_partition_properties_t UR_STRUCTURE_TYPE_KERNEL_ARG_MEM_OBJ_PROPERTIES = 27, ///< ::ur_kernel_arg_mem_obj_properties_t UR_STRUCTURE_TYPE_PHYSICAL_MEM_PROPERTIES = 28, ///< ::ur_physical_mem_properties_t + UR_STRUCTURE_TYPE_KERNEL_ARG_POINTER_PROPERTIES = 29, ///< ::ur_kernel_arg_pointer_properties_t + UR_STRUCTURE_TYPE_KERNEL_ARG_SAMPLER_PROPERTIES = 30, ///< ::ur_kernel_arg_sampler_properties_t + UR_STRUCTURE_TYPE_KERNEL_EXEC_INFO_PROPERTIES = 31, ///< ::ur_kernel_exec_info_properties_t UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_DESC = 0x1000, ///< ::ur_exp_command_buffer_desc_t UR_STRUCTURE_TYPE_EXP_SAMPLER_MIP_PROPERTIES = 0x2000, ///< ::ur_exp_sampler_mip_properties_t /// @cond @@ -4094,6 +4097,15 @@ urKernelRelease( ur_kernel_handle_t hKernel ///< [in] handle for the Kernel to release ); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Properties for for ::urKernelSetArgPointer. +typedef struct ur_kernel_arg_pointer_properties_t { + ur_structure_type_t stype; ///< [in] type of this structure, must be + ///< ::UR_STRUCTURE_TYPE_KERNEL_ARG_POINTER_PROPERTIES + void *pNext; ///< [in,out][optional] pointer to extension-specific structure + +} ur_kernel_arg_pointer_properties_t; + /////////////////////////////////////////////////////////////////////////////// /// @brief Set a USM pointer as the argument value of a Kernel. /// @@ -4116,12 +4128,22 @@ urKernelRelease( /// - ::UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_SIZE UR_APIEXPORT ur_result_t UR_APICALL urKernelSetArgPointer( - ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object - uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] - const void *pArgValue ///< [in][optional] USM pointer to memory location holding the argument - ///< value. If null then argument value is considered null. + ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object + uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] + const ur_kernel_arg_pointer_properties_t *pProperties, ///< [in][optional] pointer to USM pointer properties. + const void *pArgValue ///< [in][optional] USM pointer to memory location holding the argument + ///< value. If null then argument value is considered null. ); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Properties for for ::urKernelSetExecInfo. +typedef struct ur_kernel_exec_info_properties_t { + ur_structure_type_t stype; ///< [in] type of this structure, must be + ///< ::UR_STRUCTURE_TYPE_KERNEL_EXEC_INFO_PROPERTIES + void *pNext; ///< [in,out][optional] pointer to extension-specific structure + +} ur_kernel_exec_info_properties_t; + /////////////////////////////////////////////////////////////////////////////// /// @brief Set additional Kernel execution attributes. /// @@ -4146,13 +4168,23 @@ urKernelSetArgPointer( /// + `NULL == pPropValue` UR_APIEXPORT ur_result_t UR_APICALL urKernelSetExecInfo( - ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object - ur_kernel_exec_info_t propName, ///< [in] name of the execution attribute - size_t propSize, ///< [in] size in byte the attribute value - const void *pPropValue ///< [in][typename(propName, propSize)] pointer to memory location holding - ///< the property value. + ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object + ur_kernel_exec_info_t propName, ///< [in] name of the execution attribute + size_t propSize, ///< [in] size in byte the attribute value + const ur_kernel_exec_info_properties_t *pProperties, ///< [in][optional] pointer to execution info properties. + const void *pPropValue ///< [in][typename(propName, propSize)] pointer to memory location holding + ///< the property value. ); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Properties for for ::urKernelSetArgSampler. +typedef struct ur_kernel_arg_sampler_properties_t { + ur_structure_type_t stype; ///< [in] type of this structure, must be + ///< ::UR_STRUCTURE_TYPE_KERNEL_ARG_SAMPLER_PROPERTIES + void *pNext; ///< [in,out][optional] pointer to extension-specific structure + +} ur_kernel_arg_sampler_properties_t; + /////////////////////////////////////////////////////////////////////////////// /// @brief Set a Sampler object as the argument value of a Kernel. /// @@ -4171,9 +4203,10 @@ urKernelSetExecInfo( /// - ::UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX UR_APIEXPORT ur_result_t UR_APICALL urKernelSetArgSampler( - ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object - uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] - ur_sampler_handle_t hArgValue ///< [in] handle of Sampler object. + ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object + uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] + const ur_kernel_arg_sampler_properties_t *pProperties, ///< [in][optional] pointer to sampler properties. + ur_sampler_handle_t hArgValue ///< [in] handle of Sampler object. ); /////////////////////////////////////////////////////////////////////////////// @@ -7763,6 +7796,7 @@ typedef struct ur_kernel_set_arg_local_params_t { typedef struct ur_kernel_set_arg_pointer_params_t { ur_kernel_handle_t *phKernel; uint32_t *pargIndex; + const ur_kernel_arg_pointer_properties_t **ppProperties; const void **ppArgValue; } ur_kernel_set_arg_pointer_params_t; @@ -7774,6 +7808,7 @@ typedef struct ur_kernel_set_exec_info_params_t { ur_kernel_handle_t *phKernel; ur_kernel_exec_info_t *ppropName; size_t *ppropSize; + const ur_kernel_exec_info_properties_t **ppProperties; const void **ppPropValue; } ur_kernel_set_exec_info_params_t; @@ -7784,6 +7819,7 @@ typedef struct ur_kernel_set_exec_info_params_t { typedef struct ur_kernel_set_arg_sampler_params_t { ur_kernel_handle_t *phKernel; uint32_t *pargIndex; + const ur_kernel_arg_sampler_properties_t **ppProperties; ur_sampler_handle_t *phArgValue; } ur_kernel_set_arg_sampler_params_t; diff --git a/include/ur_ddi.h b/include/ur_ddi.h index 25e775fef1..4e108b5c1c 100644 --- a/include/ur_ddi.h +++ b/include/ur_ddi.h @@ -495,6 +495,7 @@ typedef ur_result_t(UR_APICALL *ur_pfnKernelSetArgLocal_t)( typedef ur_result_t(UR_APICALL *ur_pfnKernelSetArgPointer_t)( ur_kernel_handle_t, uint32_t, + const ur_kernel_arg_pointer_properties_t *, const void *); /////////////////////////////////////////////////////////////////////////////// @@ -503,6 +504,7 @@ typedef ur_result_t(UR_APICALL *ur_pfnKernelSetExecInfo_t)( ur_kernel_handle_t, ur_kernel_exec_info_t, size_t, + const ur_kernel_exec_info_properties_t *, const void *); /////////////////////////////////////////////////////////////////////////////// @@ -510,6 +512,7 @@ typedef ur_result_t(UR_APICALL *ur_pfnKernelSetExecInfo_t)( typedef ur_result_t(UR_APICALL *ur_pfnKernelSetArgSampler_t)( ur_kernel_handle_t, uint32_t, + const ur_kernel_arg_sampler_properties_t *, ur_sampler_handle_t); /////////////////////////////////////////////////////////////////////////////// diff --git a/scripts/core/common.yml b/scripts/core/common.yml index cbf8cb7a68..f8092c99f4 100644 --- a/scripts/core/common.yml +++ b/scripts/core/common.yml @@ -327,6 +327,12 @@ etors: desc: $x_kernel_arg_mem_obj_properties_t - name: PHYSICAL_MEM_PROPERTIES desc: $x_physical_mem_properties_t + - name: KERNEL_ARG_POINTER_PROPERTIES + desc: $x_kernel_arg_pointer_properties_t + - name: KERNEL_ARG_SAMPLER_PROPERTIES + desc: $x_kernel_arg_sampler_properties_t + - name: KERNEL_EXEC_INFO_PROPERTIES + desc: $x_kernel_exec_info_properties_t --- #-------------------------------------------------------------------------- type: struct desc: "Base for all properties types" diff --git a/scripts/core/kernel.yml b/scripts/core/kernel.yml index 103bb20e8e..daed4d3715 100644 --- a/scripts/core/kernel.yml +++ b/scripts/core/kernel.yml @@ -292,6 +292,13 @@ params: name: hKernel desc: "[in] handle for the Kernel to release" --- #-------------------------------------------------------------------------- +type: struct +desc: "Properties for for $xKernelSetArgPointer." +class: $xKernel +name: $x_kernel_arg_pointer_properties_t +base: $x_base_properties_t +members: [] +--- #-------------------------------------------------------------------------- type: function desc: "Set a USM pointer as the argument value of a Kernel." class: $xKernel @@ -308,6 +315,9 @@ params: - type: "uint32_t" name: argIndex desc: "[in] argument index in range [0, num args - 1]" + - type: "const $x_kernel_arg_pointer_properties_t*" + name: pProperties + desc: "[in][optional] pointer to USM pointer properties." - type: "const void*" name: pArgValue desc: "[in][optional] USM pointer to memory location holding the argument value. If null then argument value is considered null." @@ -315,6 +325,13 @@ returns: - $X_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX - $X_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_SIZE --- #-------------------------------------------------------------------------- +type: struct +desc: "Properties for for $xKernelSetExecInfo." +class: $xKernel +name: $x_kernel_exec_info_properties_t +base: $x_base_properties_t +members: [] +--- #-------------------------------------------------------------------------- type: function desc: "Set additional Kernel execution attributes." class: $xKernel @@ -334,10 +351,20 @@ params: - type: "size_t" name: propSize desc: "[in] size in byte the attribute value" + - type: "const $x_kernel_exec_info_properties_t*" + name: pProperties + desc: "[in][optional] pointer to execution info properties." - type: "const void*" name: pPropValue desc: "[in][typename(propName, propSize)] pointer to memory location holding the property value." --- #-------------------------------------------------------------------------- +type: struct +desc: "Properties for for $xKernelSetArgSampler." +class: $xKernel +name: $x_kernel_arg_sampler_properties_t +base: $x_base_properties_t +members: [] +--- #-------------------------------------------------------------------------- type: function desc: "Set a Sampler object as the argument value of a Kernel." class: $xKernel @@ -352,6 +379,9 @@ params: - type: "uint32_t" name: argIndex desc: "[in] argument index in range [0, num args - 1]" + - type: "const $x_kernel_arg_sampler_properties_t*" + name: pProperties + desc: "[in][optional] pointer to sampler properties." - type: "$x_sampler_handle_t" name: hArgValue desc: "[in] handle of Sampler object." diff --git a/source/adapters/null/ur_nullddi.cpp b/source/adapters/null/ur_nullddi.cpp index e7ba9338a5..0b92d603fe 100644 --- a/source/adapters/null/ur_nullddi.cpp +++ b/source/adapters/null/ur_nullddi.cpp @@ -2155,6 +2155,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelRelease( __urdlllocal ur_result_t UR_APICALL urKernelSetArgPointer( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] + const ur_kernel_arg_pointer_properties_t + *pProperties, ///< [in][optional] pointer to USM pointer properties. const void * pArgValue ///< [in][optional] USM pointer to memory location holding the argument ///< value. If null then argument value is considered null. @@ -2164,7 +2166,7 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetArgPointer( // if the driver has created a custom function, then call it instead of using the generic path auto pfnSetArgPointer = d_context.urDdiTable.Kernel.pfnSetArgPointer; if (nullptr != pfnSetArgPointer) { - result = pfnSetArgPointer(hKernel, argIndex, pArgValue); + result = pfnSetArgPointer(hKernel, argIndex, pProperties, pArgValue); } else { // generic implementation } @@ -2180,6 +2182,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetExecInfo( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object ur_kernel_exec_info_t propName, ///< [in] name of the execution attribute size_t propSize, ///< [in] size in byte the attribute value + const ur_kernel_exec_info_properties_t + *pProperties, ///< [in][optional] pointer to execution info properties. const void * pPropValue ///< [in][typename(propName, propSize)] pointer to memory location holding ///< the property value. @@ -2189,7 +2193,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetExecInfo( // if the driver has created a custom function, then call it instead of using the generic path auto pfnSetExecInfo = d_context.urDdiTable.Kernel.pfnSetExecInfo; if (nullptr != pfnSetExecInfo) { - result = pfnSetExecInfo(hKernel, propName, propSize, pPropValue); + result = pfnSetExecInfo(hKernel, propName, propSize, pProperties, + pPropValue); } else { // generic implementation } @@ -2204,6 +2209,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetExecInfo( __urdlllocal ur_result_t UR_APICALL urKernelSetArgSampler( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] + const ur_kernel_arg_sampler_properties_t + *pProperties, ///< [in][optional] pointer to sampler properties. ur_sampler_handle_t hArgValue ///< [in] handle of Sampler object. ) try { ur_result_t result = UR_RESULT_SUCCESS; @@ -2211,7 +2218,7 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetArgSampler( // if the driver has created a custom function, then call it instead of using the generic path auto pfnSetArgSampler = d_context.urDdiTable.Kernel.pfnSetArgSampler; if (nullptr != pfnSetArgSampler) { - result = pfnSetArgSampler(hKernel, argIndex, hArgValue); + result = pfnSetArgSampler(hKernel, argIndex, pProperties, hArgValue); } else { // generic implementation } diff --git a/source/common/ur_params.hpp b/source/common/ur_params.hpp index a4877f8ac6..8b1b99a9a4 100644 --- a/source/common/ur_params.hpp +++ b/source/common/ur_params.hpp @@ -337,6 +337,15 @@ inline std::ostream &operator<<(std::ostream &os, inline std::ostream &operator<<(std::ostream &os, enum ur_kernel_exec_info_t value); inline std::ostream & +operator<<(std::ostream &os, + const struct ur_kernel_arg_pointer_properties_t params); +inline std::ostream & +operator<<(std::ostream &os, + const struct ur_kernel_exec_info_properties_t params); +inline std::ostream & +operator<<(std::ostream &os, + const struct ur_kernel_arg_sampler_properties_t params); +inline std::ostream & operator<<(std::ostream &os, const struct ur_kernel_arg_mem_obj_properties_t params); inline std::ostream & @@ -788,6 +797,18 @@ inline std::ostream &operator<<(std::ostream &os, os << "UR_STRUCTURE_TYPE_PHYSICAL_MEM_PROPERTIES"; break; + case UR_STRUCTURE_TYPE_KERNEL_ARG_POINTER_PROPERTIES: + os << "UR_STRUCTURE_TYPE_KERNEL_ARG_POINTER_PROPERTIES"; + break; + + case UR_STRUCTURE_TYPE_KERNEL_ARG_SAMPLER_PROPERTIES: + os << "UR_STRUCTURE_TYPE_KERNEL_ARG_SAMPLER_PROPERTIES"; + break; + + case UR_STRUCTURE_TYPE_KERNEL_EXEC_INFO_PROPERTIES: + os << "UR_STRUCTURE_TYPE_KERNEL_EXEC_INFO_PROPERTIES"; + break; + case UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_DESC: os << "UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_DESC"; break; @@ -977,6 +998,24 @@ inline void serializeStruct(std::ostream &os, const void *ptr) { ur_params::serializePtr(os, pstruct); } break; + case UR_STRUCTURE_TYPE_KERNEL_ARG_POINTER_PROPERTIES: { + const ur_kernel_arg_pointer_properties_t *pstruct = + (const ur_kernel_arg_pointer_properties_t *)ptr; + ur_params::serializePtr(os, pstruct); + } break; + + case UR_STRUCTURE_TYPE_KERNEL_ARG_SAMPLER_PROPERTIES: { + const ur_kernel_arg_sampler_properties_t *pstruct = + (const ur_kernel_arg_sampler_properties_t *)ptr; + ur_params::serializePtr(os, pstruct); + } break; + + case UR_STRUCTURE_TYPE_KERNEL_EXEC_INFO_PROPERTIES: { + const ur_kernel_exec_info_properties_t *pstruct = + (const ur_kernel_exec_info_properties_t *)ptr; + ur_params::serializePtr(os, pstruct); + } break; + case UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_DESC: { const ur_exp_command_buffer_desc_t *pstruct = (const ur_exp_command_buffer_desc_t *)ptr; @@ -7533,6 +7572,57 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } } // namespace ur_params inline std::ostream & +operator<<(std::ostream &os, + const struct ur_kernel_arg_pointer_properties_t params) { + os << "(struct ur_kernel_arg_pointer_properties_t){"; + + os << ".stype = "; + + os << (params.stype); + + os << ", "; + os << ".pNext = "; + + ur_params::serializeStruct(os, (params.pNext)); + + os << "}"; + return os; +} +inline std::ostream & +operator<<(std::ostream &os, + const struct ur_kernel_exec_info_properties_t params) { + os << "(struct ur_kernel_exec_info_properties_t){"; + + os << ".stype = "; + + os << (params.stype); + + os << ", "; + os << ".pNext = "; + + ur_params::serializeStruct(os, (params.pNext)); + + os << "}"; + return os; +} +inline std::ostream & +operator<<(std::ostream &os, + const struct ur_kernel_arg_sampler_properties_t params) { + os << "(struct ur_kernel_arg_sampler_properties_t){"; + + os << ".stype = "; + + os << (params.stype); + + os << ", "; + os << ".pNext = "; + + ur_params::serializeStruct(os, (params.pNext)); + + os << "}"; + return os; +} +inline std::ostream & operator<<(std::ostream &os, const struct ur_kernel_arg_mem_obj_properties_t params) { os << "(struct ur_kernel_arg_mem_obj_properties_t){"; @@ -12159,6 +12249,11 @@ operator<<(std::ostream &os, os << *(params->pargIndex); + os << ", "; + os << ".pProperties = "; + + ur_params::serializePtr(os, *(params->ppProperties)); + os << ", "; os << ".pArgValue = "; @@ -12185,6 +12280,11 @@ operator<<(std::ostream &os, os << *(params->ppropSize); + os << ", "; + os << ".pProperties = "; + + ur_params::serializePtr(os, *(params->ppProperties)); + os << ", "; os << ".pPropValue = "; ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), @@ -12206,6 +12306,11 @@ operator<<(std::ostream &os, os << *(params->pargIndex); + os << ", "; + os << ".pProperties = "; + + ur_params::serializePtr(os, *(params->ppProperties)); + os << ", "; os << ".hArgValue = "; diff --git a/source/loader/layers/tracing/ur_trcddi.cpp b/source/loader/layers/tracing/ur_trcddi.cpp index 935938b37e..7372a83205 100644 --- a/source/loader/layers/tracing/ur_trcddi.cpp +++ b/source/loader/layers/tracing/ur_trcddi.cpp @@ -2454,6 +2454,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelRelease( __urdlllocal ur_result_t UR_APICALL urKernelSetArgPointer( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] + const ur_kernel_arg_pointer_properties_t + *pProperties, ///< [in][optional] pointer to USM pointer properties. const void * pArgValue ///< [in][optional] USM pointer to memory location holding the argument ///< value. If null then argument value is considered null. @@ -2465,11 +2467,12 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetArgPointer( } ur_kernel_set_arg_pointer_params_t params = {&hKernel, &argIndex, - &pArgValue}; + &pProperties, &pArgValue}; uint64_t instance = context.notify_begin(UR_FUNCTION_KERNEL_SET_ARG_POINTER, "urKernelSetArgPointer", ¶ms); - ur_result_t result = pfnSetArgPointer(hKernel, argIndex, pArgValue); + ur_result_t result = + pfnSetArgPointer(hKernel, argIndex, pProperties, pArgValue); context.notify_end(UR_FUNCTION_KERNEL_SET_ARG_POINTER, "urKernelSetArgPointer", ¶ms, &result, instance); @@ -2483,6 +2486,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetExecInfo( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object ur_kernel_exec_info_t propName, ///< [in] name of the execution attribute size_t propSize, ///< [in] size in byte the attribute value + const ur_kernel_exec_info_properties_t + *pProperties, ///< [in][optional] pointer to execution info properties. const void * pPropValue ///< [in][typename(propName, propSize)] pointer to memory location holding ///< the property value. @@ -2494,12 +2499,12 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetExecInfo( } ur_kernel_set_exec_info_params_t params = {&hKernel, &propName, &propSize, - &pPropValue}; + &pProperties, &pPropValue}; uint64_t instance = context.notify_begin(UR_FUNCTION_KERNEL_SET_EXEC_INFO, "urKernelSetExecInfo", ¶ms); ur_result_t result = - pfnSetExecInfo(hKernel, propName, propSize, pPropValue); + pfnSetExecInfo(hKernel, propName, propSize, pProperties, pPropValue); context.notify_end(UR_FUNCTION_KERNEL_SET_EXEC_INFO, "urKernelSetExecInfo", ¶ms, &result, instance); @@ -2512,6 +2517,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetExecInfo( __urdlllocal ur_result_t UR_APICALL urKernelSetArgSampler( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] + const ur_kernel_arg_sampler_properties_t + *pProperties, ///< [in][optional] pointer to sampler properties. ur_sampler_handle_t hArgValue ///< [in] handle of Sampler object. ) { auto pfnSetArgSampler = context.urDdiTable.Kernel.pfnSetArgSampler; @@ -2521,11 +2528,12 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetArgSampler( } ur_kernel_set_arg_sampler_params_t params = {&hKernel, &argIndex, - &hArgValue}; + &pProperties, &hArgValue}; uint64_t instance = context.notify_begin(UR_FUNCTION_KERNEL_SET_ARG_SAMPLER, "urKernelSetArgSampler", ¶ms); - ur_result_t result = pfnSetArgSampler(hKernel, argIndex, hArgValue); + ur_result_t result = + pfnSetArgSampler(hKernel, argIndex, pProperties, hArgValue); context.notify_end(UR_FUNCTION_KERNEL_SET_ARG_SAMPLER, "urKernelSetArgSampler", ¶ms, &result, instance); diff --git a/source/loader/layers/validation/ur_valddi.cpp b/source/loader/layers/validation/ur_valddi.cpp index 593e5418b2..c777ffe26a 100644 --- a/source/loader/layers/validation/ur_valddi.cpp +++ b/source/loader/layers/validation/ur_valddi.cpp @@ -2994,6 +2994,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelRelease( __urdlllocal ur_result_t UR_APICALL urKernelSetArgPointer( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] + const ur_kernel_arg_pointer_properties_t + *pProperties, ///< [in][optional] pointer to USM pointer properties. const void * pArgValue ///< [in][optional] USM pointer to memory location holding the argument ///< value. If null then argument value is considered null. @@ -3010,7 +3012,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetArgPointer( } } - ur_result_t result = pfnSetArgPointer(hKernel, argIndex, pArgValue); + ur_result_t result = + pfnSetArgPointer(hKernel, argIndex, pProperties, pArgValue); return result; } @@ -3021,6 +3024,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetExecInfo( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object ur_kernel_exec_info_t propName, ///< [in] name of the execution attribute size_t propSize, ///< [in] size in byte the attribute value + const ur_kernel_exec_info_properties_t + *pProperties, ///< [in][optional] pointer to execution info properties. const void * pPropValue ///< [in][typename(propName, propSize)] pointer to memory location holding ///< the property value. @@ -3046,7 +3051,7 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetExecInfo( } ur_result_t result = - pfnSetExecInfo(hKernel, propName, propSize, pPropValue); + pfnSetExecInfo(hKernel, propName, propSize, pProperties, pPropValue); return result; } @@ -3056,6 +3061,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetExecInfo( __urdlllocal ur_result_t UR_APICALL urKernelSetArgSampler( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] + const ur_kernel_arg_sampler_properties_t + *pProperties, ///< [in][optional] pointer to sampler properties. ur_sampler_handle_t hArgValue ///< [in] handle of Sampler object. ) { auto pfnSetArgSampler = context.urDdiTable.Kernel.pfnSetArgSampler; @@ -3074,7 +3081,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetArgSampler( } } - ur_result_t result = pfnSetArgSampler(hKernel, argIndex, hArgValue); + ur_result_t result = + pfnSetArgSampler(hKernel, argIndex, pProperties, hArgValue); return result; } diff --git a/source/loader/ur_ldrddi.cpp b/source/loader/ur_ldrddi.cpp index 8a2a7f4f85..03c873e694 100644 --- a/source/loader/ur_ldrddi.cpp +++ b/source/loader/ur_ldrddi.cpp @@ -2813,6 +2813,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelRelease( __urdlllocal ur_result_t UR_APICALL urKernelSetArgPointer( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] + const ur_kernel_arg_pointer_properties_t + *pProperties, ///< [in][optional] pointer to USM pointer properties. const void * pArgValue ///< [in][optional] USM pointer to memory location holding the argument ///< value. If null then argument value is considered null. @@ -2830,7 +2832,7 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetArgPointer( hKernel = reinterpret_cast(hKernel)->handle; // forward to device-platform - result = pfnSetArgPointer(hKernel, argIndex, pArgValue); + result = pfnSetArgPointer(hKernel, argIndex, pProperties, pArgValue); return result; } @@ -2841,6 +2843,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetExecInfo( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object ur_kernel_exec_info_t propName, ///< [in] name of the execution attribute size_t propSize, ///< [in] size in byte the attribute value + const ur_kernel_exec_info_properties_t + *pProperties, ///< [in][optional] pointer to execution info properties. const void * pPropValue ///< [in][typename(propName, propSize)] pointer to memory location holding ///< the property value. @@ -2858,7 +2862,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetExecInfo( hKernel = reinterpret_cast(hKernel)->handle; // forward to device-platform - result = pfnSetExecInfo(hKernel, propName, propSize, pPropValue); + result = + pfnSetExecInfo(hKernel, propName, propSize, pProperties, pPropValue); return result; } @@ -2868,6 +2873,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetExecInfo( __urdlllocal ur_result_t UR_APICALL urKernelSetArgSampler( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] + const ur_kernel_arg_sampler_properties_t + *pProperties, ///< [in][optional] pointer to sampler properties. ur_sampler_handle_t hArgValue ///< [in] handle of Sampler object. ) { ur_result_t result = UR_RESULT_SUCCESS; @@ -2886,7 +2893,7 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetArgSampler( hArgValue = reinterpret_cast(hArgValue)->handle; // forward to device-platform - result = pfnSetArgSampler(hKernel, argIndex, hArgValue); + result = pfnSetArgSampler(hKernel, argIndex, pProperties, hArgValue); return result; } diff --git a/source/loader/ur_libapi.cpp b/source/loader/ur_libapi.cpp index b47ff9b8f1..53c3ddb85e 100644 --- a/source/loader/ur_libapi.cpp +++ b/source/loader/ur_libapi.cpp @@ -3254,6 +3254,8 @@ ur_result_t UR_APICALL urKernelRelease( ur_result_t UR_APICALL urKernelSetArgPointer( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] + const ur_kernel_arg_pointer_properties_t + *pProperties, ///< [in][optional] pointer to USM pointer properties. const void * pArgValue ///< [in][optional] USM pointer to memory location holding the argument ///< value. If null then argument value is considered null. @@ -3263,7 +3265,7 @@ ur_result_t UR_APICALL urKernelSetArgPointer( return UR_RESULT_ERROR_UNINITIALIZED; } - return pfnSetArgPointer(hKernel, argIndex, pArgValue); + return pfnSetArgPointer(hKernel, argIndex, pProperties, pArgValue); } catch (...) { return exceptionToResult(std::current_exception()); } @@ -3294,6 +3296,8 @@ ur_result_t UR_APICALL urKernelSetExecInfo( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object ur_kernel_exec_info_t propName, ///< [in] name of the execution attribute size_t propSize, ///< [in] size in byte the attribute value + const ur_kernel_exec_info_properties_t + *pProperties, ///< [in][optional] pointer to execution info properties. const void * pPropValue ///< [in][typename(propName, propSize)] pointer to memory location holding ///< the property value. @@ -3303,7 +3307,7 @@ ur_result_t UR_APICALL urKernelSetExecInfo( return UR_RESULT_ERROR_UNINITIALIZED; } - return pfnSetExecInfo(hKernel, propName, propSize, pPropValue); + return pfnSetExecInfo(hKernel, propName, propSize, pProperties, pPropValue); } catch (...) { return exceptionToResult(std::current_exception()); } @@ -3327,6 +3331,8 @@ ur_result_t UR_APICALL urKernelSetExecInfo( ur_result_t UR_APICALL urKernelSetArgSampler( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] + const ur_kernel_arg_sampler_properties_t + *pProperties, ///< [in][optional] pointer to sampler properties. ur_sampler_handle_t hArgValue ///< [in] handle of Sampler object. ) try { auto pfnSetArgSampler = ur_lib::context->urDdiTable.Kernel.pfnSetArgSampler; @@ -3334,7 +3340,7 @@ ur_result_t UR_APICALL urKernelSetArgSampler( return UR_RESULT_ERROR_UNINITIALIZED; } - return pfnSetArgSampler(hKernel, argIndex, hArgValue); + return pfnSetArgSampler(hKernel, argIndex, pProperties, hArgValue); } catch (...) { return exceptionToResult(std::current_exception()); } diff --git a/source/ur_api.cpp b/source/ur_api.cpp index e511ee4554..04887da9db 100644 --- a/source/ur_api.cpp +++ b/source/ur_api.cpp @@ -2715,6 +2715,8 @@ ur_result_t UR_APICALL urKernelRelease( ur_result_t UR_APICALL urKernelSetArgPointer( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] + const ur_kernel_arg_pointer_properties_t + *pProperties, ///< [in][optional] pointer to USM pointer properties. const void * pArgValue ///< [in][optional] USM pointer to memory location holding the argument ///< value. If null then argument value is considered null. @@ -2749,6 +2751,8 @@ ur_result_t UR_APICALL urKernelSetExecInfo( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object ur_kernel_exec_info_t propName, ///< [in] name of the execution attribute size_t propSize, ///< [in] size in byte the attribute value + const ur_kernel_exec_info_properties_t + *pProperties, ///< [in][optional] pointer to execution info properties. const void * pPropValue ///< [in][typename(propName, propSize)] pointer to memory location holding ///< the property value. @@ -2776,6 +2780,8 @@ ur_result_t UR_APICALL urKernelSetExecInfo( ur_result_t UR_APICALL urKernelSetArgSampler( ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object uint32_t argIndex, ///< [in] argument index in range [0, num args - 1] + const ur_kernel_arg_sampler_properties_t + *pProperties, ///< [in][optional] pointer to sampler properties. ur_sampler_handle_t hArgValue ///< [in] handle of Sampler object. ) { ur_result_t result = UR_RESULT_SUCCESS; diff --git a/test/conformance/kernel/urKernelSetArgPointer.cpp b/test/conformance/kernel/urKernelSetArgPointer.cpp index 643a12be92..dfe1085990 100644 --- a/test/conformance/kernel/urKernelSetArgPointer.cpp +++ b/test/conformance/kernel/urKernelSetArgPointer.cpp @@ -42,7 +42,7 @@ TEST_P(urKernelSetArgPointerTest, SuccessHost) { &allocation)); ASSERT_NE(allocation, nullptr); - ASSERT_SUCCESS(urKernelSetArgPointer(kernel, 0, &allocation)); + ASSERT_SUCCESS(urKernelSetArgPointer(kernel, 0, nullptr, &allocation)); ASSERT_SUCCESS(urKernelSetArgValue(kernel, 1, sizeof(data), &data)); Launch1DRange(array_size); ValidateAllocation(allocation); @@ -59,7 +59,7 @@ TEST_P(urKernelSetArgPointerTest, SuccessDevice) { allocation_size, &allocation)); ASSERT_NE(allocation, nullptr); - ASSERT_SUCCESS(urKernelSetArgPointer(kernel, 0, &allocation)); + ASSERT_SUCCESS(urKernelSetArgPointer(kernel, 0, nullptr, &allocation)); ASSERT_SUCCESS(urKernelSetArgValue(kernel, 1, sizeof(data), &data)); Launch1DRange(array_size); @@ -85,7 +85,7 @@ TEST_P(urKernelSetArgPointerTest, SuccessShared) { allocation_size, &allocation)); ASSERT_NE(allocation, nullptr); - ASSERT_SUCCESS(urKernelSetArgPointer(kernel, 0, &allocation)); + ASSERT_SUCCESS(urKernelSetArgPointer(kernel, 0, nullptr, &allocation)); ASSERT_SUCCESS(urKernelSetArgValue(kernel, 1, sizeof(data), &data)); Launch1DRange(array_size); ValidateAllocation(allocation); @@ -135,7 +135,7 @@ UUR_INSTANTIATE_KERNEL_TEST_SUITE_P(urKernelSetArgPointerNegativeTest); TEST_P(urKernelSetArgPointerNegativeTest, InvalidNullHandleKernel) { ASSERT_EQ_RESULT(UR_RESULT_ERROR_INVALID_NULL_HANDLE, - urKernelSetArgPointer(nullptr, 0, &allocation)); + urKernelSetArgPointer(nullptr, 0, nullptr, &allocation)); } TEST_P(urKernelSetArgPointerNegativeTest, InvalidKernelArgumentIndex) { @@ -144,7 +144,7 @@ TEST_P(urKernelSetArgPointerNegativeTest, InvalidKernelArgumentIndex) { sizeof(num_kernel_args), &num_kernel_args, nullptr)); - ASSERT_EQ_RESULT( - UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX, - urKernelSetArgPointer(kernel, num_kernel_args + 1, &allocation)); + ASSERT_EQ_RESULT(UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX, + urKernelSetArgPointer(kernel, num_kernel_args + 1, nullptr, + &allocation)); } diff --git a/test/conformance/kernel/urKernelSetArgSampler.cpp b/test/conformance/kernel/urKernelSetArgSampler.cpp index c914b410dc..4a044383ff 100644 --- a/test/conformance/kernel/urKernelSetArgSampler.cpp +++ b/test/conformance/kernel/urKernelSetArgSampler.cpp @@ -31,17 +31,17 @@ struct urKernelSetArgSamplerTest : uur::urKernelTest { UUR_INSTANTIATE_KERNEL_TEST_SUITE_P(urKernelSetArgSamplerTest); TEST_P(urKernelSetArgSamplerTest, Success) { - ASSERT_SUCCESS(urKernelSetArgSampler(kernel, 2, sampler)); + ASSERT_SUCCESS(urKernelSetArgSampler(kernel, 2, nullptr, sampler)); } TEST_P(urKernelSetArgSamplerTest, InvalidNullHandleKernel) { ASSERT_EQ_RESULT(UR_RESULT_ERROR_INVALID_NULL_HANDLE, - urKernelSetArgSampler(nullptr, 2, sampler)); + urKernelSetArgSampler(nullptr, 2, nullptr, sampler)); } TEST_P(urKernelSetArgSamplerTest, InvalidNullHandleArgValue) { ASSERT_EQ_RESULT(UR_RESULT_ERROR_INVALID_NULL_HANDLE, - urKernelSetArgSampler(kernel, 2, nullptr)); + urKernelSetArgSampler(kernel, 2, nullptr, nullptr)); } TEST_P(urKernelSetArgSamplerTest, InvalidKernelArgumentIndex) { @@ -51,5 +51,5 @@ TEST_P(urKernelSetArgSamplerTest, InvalidKernelArgumentIndex) { nullptr)); ASSERT_EQ_RESULT( UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX, - urKernelSetArgSampler(kernel, num_kernel_args + 1, sampler)); + urKernelSetArgSampler(kernel, num_kernel_args + 1, nullptr, sampler)); } diff --git a/test/conformance/kernel/urKernelSetExecInfo.cpp b/test/conformance/kernel/urKernelSetExecInfo.cpp index cd7b6bd4cd..aa1a2c1088 100644 --- a/test/conformance/kernel/urKernelSetExecInfo.cpp +++ b/test/conformance/kernel/urKernelSetExecInfo.cpp @@ -12,7 +12,7 @@ TEST_P(urKernelSetExecInfoTest, SuccessIndirectAccess) { bool property_value = false; ASSERT_SUCCESS( urKernelSetExecInfo(kernel, UR_KERNEL_EXEC_INFO_USM_INDIRECT_ACCESS, - sizeof(property_value), &property_value)); + sizeof(property_value), nullptr, &property_value)); } TEST_P(urKernelSetExecInfoTest, InvalidNullHandleKernel) { @@ -20,7 +20,7 @@ TEST_P(urKernelSetExecInfoTest, InvalidNullHandleKernel) { ASSERT_EQ_RESULT( UR_RESULT_ERROR_INVALID_NULL_HANDLE, urKernelSetExecInfo(nullptr, UR_KERNEL_EXEC_INFO_USM_INDIRECT_ACCESS, - sizeof(property_value), &property_value)); + sizeof(property_value), nullptr, &property_value)); } TEST_P(urKernelSetExecInfoTest, InvalidEnumeration) { @@ -28,7 +28,7 @@ TEST_P(urKernelSetExecInfoTest, InvalidEnumeration) { ASSERT_EQ_RESULT( UR_RESULT_ERROR_INVALID_ENUMERATION, urKernelSetExecInfo(kernel, UR_KERNEL_EXEC_INFO_FORCE_UINT32, - sizeof(property_value), &property_value)); + sizeof(property_value), nullptr, &property_value)); } TEST_P(urKernelSetExecInfoTest, InvalidNullPointerPropValue) { @@ -36,7 +36,7 @@ TEST_P(urKernelSetExecInfoTest, InvalidNullPointerPropValue) { ASSERT_EQ_RESULT( UR_RESULT_ERROR_INVALID_NULL_POINTER, urKernelSetExecInfo(kernel, UR_KERNEL_EXEC_INFO_USM_INDIRECT_ACCESS, - sizeof(property_value), nullptr)); + sizeof(property_value), nullptr, nullptr)); } struct urKernelSetExecInfoUSMPointersTest : uur::urKernelTest { @@ -70,7 +70,7 @@ TEST_P(urKernelSetExecInfoUSMPointersTest, SuccessHost) { void *pointers[] = {allocation}; ASSERT_SUCCESS(urKernelSetExecInfo(kernel, UR_KERNEL_EXEC_INFO_USM_PTRS, - sizeof(pointers), pointers)); + sizeof(pointers), nullptr, pointers)); } TEST_P(urKernelSetExecInfoUSMPointersTest, SuccessDevice) { @@ -86,7 +86,7 @@ TEST_P(urKernelSetExecInfoUSMPointersTest, SuccessDevice) { void *pointers[] = {allocation}; ASSERT_SUCCESS(urKernelSetExecInfo(kernel, UR_KERNEL_EXEC_INFO_USM_PTRS, - sizeof(pointers), pointers)); + sizeof(pointers), nullptr, pointers)); } TEST_P(urKernelSetExecInfoUSMPointersTest, SuccessShared) { @@ -103,7 +103,7 @@ TEST_P(urKernelSetExecInfoUSMPointersTest, SuccessShared) { void *pointers[] = {allocation}; ASSERT_SUCCESS(urKernelSetExecInfo(kernel, UR_KERNEL_EXEC_INFO_USM_PTRS, - sizeof(pointers), pointers)); + sizeof(pointers), nullptr, pointers)); } using urKernelSetExecInfoCacheConfigTest = @@ -118,6 +118,6 @@ UUR_TEST_SUITE_P(urKernelSetExecInfoCacheConfigTest, TEST_P(urKernelSetExecInfoCacheConfigTest, Success) { auto property_value = getParam(); ASSERT_SUCCESS(urKernelSetExecInfo(kernel, UR_KERNEL_EXEC_INFO_CACHE_CONFIG, - sizeof(property_value), + sizeof(property_value), nullptr, &property_value)); }