Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
125 changes: 81 additions & 44 deletions include/ur.py
Original file line number Diff line number Diff line change
Expand Up @@ -1834,6 +1834,8 @@ class ur_function_v(IntEnum):
COMMAND_BUFFER_APPEND_MEMCPY_USM_EXP = 129 ## Enumerator for ::urCommandBufferAppendMemcpyUSMExp
COMMAND_BUFFER_APPEND_MEMBUFFER_COPY_EXP = 130 ## Enumerator for ::urCommandBufferAppendMembufferCopyExp
COMMAND_BUFFER_APPEND_MEMBUFFER_COPY_RECT_EXP = 131 ## Enumerator for ::urCommandBufferAppendMembufferCopyRectExp
USM_IMPORT_EXP = 132 ## Enumerator for ::urUSMImportExp
USM_RELEASE_EXP = 133 ## Enumerator for ::urUSMReleaseExp

class ur_function_t(c_int):
def __str__(self):
Expand Down Expand Up @@ -2816,37 +2818,6 @@ class ur_command_buffer_exp_dditable_t(Structure):
("pfnEnqueueExp", c_void_p) ## _urCommandBufferEnqueueExp_t
]

###############################################################################
## @brief Function-pointer for urInit
if __use_win_types:
_urInit_t = WINFUNCTYPE( ur_result_t, ur_device_init_flags_t )
else:
_urInit_t = CFUNCTYPE( ur_result_t, ur_device_init_flags_t )

###############################################################################
## @brief Function-pointer for urGetLastResult
if __use_win_types:
_urGetLastResult_t = WINFUNCTYPE( ur_result_t, ur_platform_handle_t, POINTER(c_char_p) )
else:
_urGetLastResult_t = CFUNCTYPE( ur_result_t, ur_platform_handle_t, POINTER(c_char_p) )

###############################################################################
## @brief Function-pointer for urTearDown
if __use_win_types:
_urTearDown_t = WINFUNCTYPE( ur_result_t, c_void_p )
else:
_urTearDown_t = CFUNCTYPE( ur_result_t, c_void_p )


###############################################################################
## @brief Table of Global functions pointers
class ur_global_dditable_t(Structure):
_fields_ = [
("pfnInit", c_void_p), ## _urInit_t
("pfnGetLastResult", c_void_p), ## _urGetLastResult_t
("pfnTearDown", c_void_p) ## _urTearDown_t
]

###############################################################################
## @brief Function-pointer for urUSMHostAlloc
if __use_win_types:
Expand Down Expand Up @@ -2926,6 +2897,60 @@ class ur_usm_dditable_t(Structure):
("pfnPoolGetInfo", c_void_p) ## _urUSMPoolGetInfo_t
]

###############################################################################
## @brief Function-pointer for urUSMImportExp
if __use_win_types:
_urUSMImportExp_t = WINFUNCTYPE( ur_result_t, ur_context_handle_t, c_void_p, c_size_t )
else:
_urUSMImportExp_t = CFUNCTYPE( ur_result_t, ur_context_handle_t, c_void_p, c_size_t )

###############################################################################
## @brief Function-pointer for urUSMReleaseExp
if __use_win_types:
_urUSMReleaseExp_t = WINFUNCTYPE( ur_result_t, ur_context_handle_t, c_void_p )
else:
_urUSMReleaseExp_t = CFUNCTYPE( ur_result_t, ur_context_handle_t, c_void_p )


###############################################################################
## @brief Table of USMExp functions pointers
class ur_usm_exp_dditable_t(Structure):
_fields_ = [
("pfnImportExp", c_void_p), ## _urUSMImportExp_t
("pfnReleaseExp", c_void_p) ## _urUSMReleaseExp_t
]

###############################################################################
## @brief Function-pointer for urInit
if __use_win_types:
_urInit_t = WINFUNCTYPE( ur_result_t, ur_device_init_flags_t )
else:
_urInit_t = CFUNCTYPE( ur_result_t, ur_device_init_flags_t )

###############################################################################
## @brief Function-pointer for urGetLastResult
if __use_win_types:
_urGetLastResult_t = WINFUNCTYPE( ur_result_t, ur_platform_handle_t, POINTER(c_char_p) )
else:
_urGetLastResult_t = CFUNCTYPE( ur_result_t, ur_platform_handle_t, POINTER(c_char_p) )

###############################################################################
## @brief Function-pointer for urTearDown
if __use_win_types:
_urTearDown_t = WINFUNCTYPE( ur_result_t, c_void_p )
else:
_urTearDown_t = CFUNCTYPE( ur_result_t, c_void_p )


###############################################################################
## @brief Table of Global functions pointers
class ur_global_dditable_t(Structure):
_fields_ = [
("pfnInit", c_void_p), ## _urInit_t
("pfnGetLastResult", c_void_p), ## _urGetLastResult_t
("pfnTearDown", c_void_p) ## _urTearDown_t
]

###############################################################################
## @brief Function-pointer for urDeviceGet
if __use_win_types:
Expand Down Expand Up @@ -3018,8 +3043,9 @@ class ur_dditable_t(Structure):
("Enqueue", ur_enqueue_dditable_t),
("Queue", ur_queue_dditable_t),
("CommandBufferExp", ur_command_buffer_exp_dditable_t),
("Global", ur_global_dditable_t),
("USM", ur_usm_dditable_t),
("USMExp", ur_usm_exp_dditable_t),
("Global", ur_global_dditable_t),
("Device", ur_device_dditable_t)
]

Expand Down Expand Up @@ -3236,18 +3262,6 @@ def __init__(self, version : ur_api_version_t):
self.urCommandBufferAppendMembufferCopyRectExp = _urCommandBufferAppendMembufferCopyRectExp_t(self.__dditable.CommandBufferExp.pfnAppendMembufferCopyRectExp)
self.urCommandBufferEnqueueExp = _urCommandBufferEnqueueExp_t(self.__dditable.CommandBufferExp.pfnEnqueueExp)

# call driver to get function pointers
Global = ur_global_dditable_t()
r = ur_result_v(self.__dll.urGetGlobalProcAddrTable(version, byref(Global)))
if r != ur_result_v.SUCCESS:
raise Exception(r)
self.__dditable.Global = Global

# attach function interface to function address
self.urInit = _urInit_t(self.__dditable.Global.pfnInit)
self.urGetLastResult = _urGetLastResult_t(self.__dditable.Global.pfnGetLastResult)
self.urTearDown = _urTearDown_t(self.__dditable.Global.pfnTearDown)

# call driver to get function pointers
USM = ur_usm_dditable_t()
r = ur_result_v(self.__dll.urGetUSMProcAddrTable(version, byref(USM)))
Expand All @@ -3266,6 +3280,29 @@ def __init__(self, version : ur_api_version_t):
self.urUSMPoolRelease = _urUSMPoolRelease_t(self.__dditable.USM.pfnPoolRelease)
self.urUSMPoolGetInfo = _urUSMPoolGetInfo_t(self.__dditable.USM.pfnPoolGetInfo)

# call driver to get function pointers
USMExp = ur_usm_exp_dditable_t()
r = ur_result_v(self.__dll.urGetUSMExpProcAddrTable(version, byref(USMExp)))
if r != ur_result_v.SUCCESS:
raise Exception(r)
self.__dditable.USMExp = USMExp

# attach function interface to function address
self.urUSMImportExp = _urUSMImportExp_t(self.__dditable.USMExp.pfnImportExp)
self.urUSMReleaseExp = _urUSMReleaseExp_t(self.__dditable.USMExp.pfnReleaseExp)

# call driver to get function pointers
Global = ur_global_dditable_t()
r = ur_result_v(self.__dll.urGetGlobalProcAddrTable(version, byref(Global)))
if r != ur_result_v.SUCCESS:
raise Exception(r)
self.__dditable.Global = Global

# attach function interface to function address
self.urInit = _urInit_t(self.__dditable.Global.pfnInit)
self.urGetLastResult = _urGetLastResult_t(self.__dditable.Global.pfnGetLastResult)
self.urTearDown = _urTearDown_t(self.__dditable.Global.pfnTearDown)

# call driver to get function pointers
Device = ur_device_dditable_t()
r = ur_result_v(self.__dll.urGetDeviceProcAddrTable(version, byref(Device)))
Expand Down
Loading