Skip to content

Commit de519a7

Browse files
committed
fix get_version and translate handle
- Fixed get_version code gen script to fail if the api version for the api is not set or is invalid. - fixed the zelLoaderTranslateHandle to fail given nullptrs and remove the extra vairable and simplify the hasInstance handle check. Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
1 parent bce88c9 commit de519a7

2 files changed

Lines changed: 45 additions & 55 deletions

File tree

scripts/templates/helper.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1708,34 +1708,36 @@ def get_class_function_objs(specs, cname, minVersion = 0, maxVersion = 9999):
17081708
"""
17091709
def get_version(obj):
17101710
if obj_traits.is_function(obj):
1711+
ret_version = "ZE_API_VERSION_FORCE_UINT32"
17111712
version = obj.get('version')
17121713
if version == "1.0":
1713-
return "ZE_API_VERSION_1_0"
1714+
ret_version = "ZE_API_VERSION_1_0"
17141715
if version == "1.1":
1715-
return "ZE_API_VERSION_1_1"
1716+
ret_version = "ZE_API_VERSION_1_1"
17161717
if version == "1.2":
1717-
return "ZE_API_VERSION_1_2"
1718+
ret_version = "ZE_API_VERSION_1_2"
17181719
if version == "1.3":
1719-
return "ZE_API_VERSION_1_3"
1720+
ret_version = "ZE_API_VERSION_1_3"
17201721
if version == "1.4":
1721-
return "ZE_API_VERSION_1_4"
1722+
ret_version = "ZE_API_VERSION_1_4"
17221723
if version == "1.5":
1723-
return "ZE_API_VERSION_1_5"
1724+
ret_version = "ZE_API_VERSION_1_5"
17241725
if version == "1.6":
1725-
return "ZE_API_VERSION_1_6"
1726+
ret_version = "ZE_API_VERSION_1_6"
17261727
if version == "1.7":
1727-
return "ZE_API_VERSION_1_7"
1728+
ret_version = "ZE_API_VERSION_1_7"
17281729
if version == "1.8":
1729-
return "ZE_API_VERSION_1_8"
1730+
ret_version = "ZE_API_VERSION_1_8"
17301731
if version == "1.9":
1731-
return "ZE_API_VERSION_1_9"
1732+
ret_version = "ZE_API_VERSION_1_9"
17321733
if version == "1.10":
1733-
return "ZE_API_VERSION_1_10"
1734+
ret_version = "ZE_API_VERSION_1_10"
17341735
if version == "1.11":
1735-
return "ZE_API_VERSION_1_11"
1736+
ret_version = "ZE_API_VERSION_1_11"
17361737
if version == "1.12":
1737-
return "ZE_API_VERSION_1_12"
1738-
return "ZE_API_VERSION_1_0"
1738+
ret_version = "ZE_API_VERSION_1_12"
1739+
assert(ret_version != "ZE_API_VERSION_FORCE_UINT32")
1740+
return ret_version
17391741

17401742
"""
17411743
Public:

source/loader/ze_loader_api.cpp

Lines changed: 29 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -90,96 +90,84 @@ zelLoaderTranslateHandleInternal(
9090
void *handleIn,
9191
void **handleOut)
9292
{
93+
if (!handleIn || !handleOut) {
94+
return ZE_RESULT_ERROR_INVALID_NULL_POINTER;
95+
}
9396

9497
if(!loader::context->intercept_enabled) {
9598
*handleOut = handleIn;
9699
return ZE_RESULT_SUCCESS;
97100
}
98101

99-
bool validHandle = false;
100102
*handleOut = handleIn;
101103
switch(handleType){
102104
case ZEL_HANDLE_DRIVER:
103-
validHandle = loader::context->ze_driver_factory.hasInstance(reinterpret_cast<loader::ze_driver_object_t*>(handleIn)->handle);
104-
if (validHandle) {
105+
if (loader::context->ze_driver_factory.hasInstance(reinterpret_cast<loader::ze_driver_object_t*>(handleIn)->handle)) {
105106
*handleOut = reinterpret_cast<loader::ze_driver_object_t*>( handleIn )->handle;
106107
}
107108
break;
108109
case ZEL_HANDLE_DEVICE:
109-
validHandle = loader::context->ze_device_factory.hasInstance(reinterpret_cast<loader::ze_device_object_t*>(handleIn)->handle);
110-
if (validHandle) {
110+
if (loader::context->ze_device_factory.hasInstance(reinterpret_cast<loader::ze_device_object_t*>(handleIn)->handle)){
111111
*handleOut = reinterpret_cast<loader::ze_device_object_t*>( handleIn )->handle;
112112
}
113113
break;
114114
case ZEL_HANDLE_CONTEXT:
115-
validHandle = loader::context->ze_context_factory.hasInstance(reinterpret_cast<loader::ze_context_object_t*>(handleIn)->handle);
116-
if (validHandle) {
115+
if (loader::context->ze_context_factory.hasInstance(reinterpret_cast<loader::ze_context_object_t*>(handleIn)->handle)) {
117116
*handleOut = reinterpret_cast<loader::ze_context_object_t*>( handleIn )->handle;
118117
}
119-
break;
120-
case ZEL_HANDLE_COMMAND_QUEUE:
121-
validHandle = loader::context->ze_command_queue_factory.hasInstance(reinterpret_cast<loader::ze_command_queue_object_t*>(handleIn)->handle);
122-
if (validHandle) {
118+
break;
119+
case ZEL_HANDLE_COMMAND_QUEUE:
120+
if (loader::context->ze_command_queue_factory.hasInstance(reinterpret_cast<loader::ze_command_queue_object_t*>(handleIn)->handle)) {
123121
*handleOut = reinterpret_cast<loader::ze_command_queue_object_t*>( handleIn )->handle;
124122
}
125123
break;
126-
case ZEL_HANDLE_COMMAND_LIST:
127-
validHandle = loader::context->ze_command_list_factory.hasInstance(reinterpret_cast<loader::ze_command_list_object_t*>(handleIn)->handle);
128-
if (validHandle) {
124+
case ZEL_HANDLE_COMMAND_LIST:
125+
if (loader::context->ze_command_list_factory.hasInstance(reinterpret_cast<loader::ze_command_list_object_t*>(handleIn)->handle)) {
129126
*handleOut = reinterpret_cast<loader::ze_command_list_object_t*>( handleIn )->handle;
130127
}
131128
break;
132-
case ZEL_HANDLE_FENCE:
133-
validHandle = loader::context->ze_fence_factory.hasInstance(reinterpret_cast<loader::ze_fence_object_t*>(handleIn)->handle);
134-
if (validHandle) {
129+
case ZEL_HANDLE_FENCE:
130+
if (loader::context->ze_fence_factory.hasInstance(reinterpret_cast<loader::ze_fence_object_t*>(handleIn)->handle)) {
135131
*handleOut = reinterpret_cast<loader::ze_fence_object_t*>( handleIn )->handle;
136132
}
137133
break;
138-
case ZEL_HANDLE_EVENT_POOL:
139-
validHandle = loader::context->ze_event_pool_factory.hasInstance(reinterpret_cast<loader::ze_event_pool_object_t*>(handleIn)->handle);
140-
if (validHandle) {
134+
case ZEL_HANDLE_EVENT_POOL:
135+
if (loader::context->ze_event_pool_factory.hasInstance(reinterpret_cast<loader::ze_event_pool_object_t*>(handleIn)->handle)) {
141136
*handleOut = reinterpret_cast<loader::ze_event_pool_object_t*>( handleIn )->handle;
142137
}
143138
break;
144-
case ZEL_HANDLE_EVENT:
145-
validHandle = loader::context->ze_event_factory.hasInstance(reinterpret_cast<loader::ze_event_object_t*>(handleIn)->handle);
146-
if (validHandle) {
139+
case ZEL_HANDLE_EVENT:
140+
if (loader::context->ze_event_factory.hasInstance(reinterpret_cast<loader::ze_event_object_t*>(handleIn)->handle)) {
147141
*handleOut = reinterpret_cast<loader::ze_event_object_t*>( handleIn )->handle;
148142
}
149143
break;
150-
case ZEL_HANDLE_IMAGE:
151-
validHandle = loader::context->ze_image_factory.hasInstance(reinterpret_cast<loader::ze_image_object_t*>(handleIn)->handle);
152-
if (validHandle) {
144+
case ZEL_HANDLE_IMAGE:
145+
if (loader::context->ze_image_factory.hasInstance(reinterpret_cast<loader::ze_image_object_t*>(handleIn)->handle)) {
153146
*handleOut = reinterpret_cast<loader::ze_image_object_t*>( handleIn )->handle;
154147
}
155148
break;
156-
case ZEL_HANDLE_MODULE:
157-
validHandle = loader::context->ze_module_factory.hasInstance(reinterpret_cast<loader::ze_module_object_t*>(handleIn)->handle);
158-
if (validHandle) {
149+
case ZEL_HANDLE_MODULE:
150+
if (loader::context->ze_module_factory.hasInstance(reinterpret_cast<loader::ze_module_object_t*>(handleIn)->handle)) {
159151
*handleOut = reinterpret_cast<loader::ze_module_object_t*>( handleIn )->handle;
160152
}
161153
break;
162-
case ZEL_HANDLE_MODULE_BUILD_LOG:
163-
validHandle = loader::context->ze_module_build_log_factory.hasInstance(reinterpret_cast<loader::ze_module_build_log_object_t*>(handleIn)->handle);
164-
if (validHandle) {
154+
case ZEL_HANDLE_MODULE_BUILD_LOG:
155+
if (loader::context->ze_module_build_log_factory.hasInstance(reinterpret_cast<loader::ze_module_build_log_object_t*>(handleIn)->handle)) {
165156
*handleOut = reinterpret_cast<loader::ze_module_build_log_object_t*>( handleIn )->handle;
166157
}
167158
break;
168-
case ZEL_HANDLE_KERNEL:
169-
validHandle = loader::context->ze_kernel_factory.hasInstance(reinterpret_cast<loader::ze_kernel_object_t*>(handleIn)->handle);
170-
if (validHandle) {
159+
case ZEL_HANDLE_KERNEL:
160+
if (loader::context->ze_kernel_factory.hasInstance(reinterpret_cast<loader::ze_kernel_object_t*>(handleIn)->handle)) {
171161
*handleOut = reinterpret_cast<loader::ze_kernel_object_t*>( handleIn )->handle;
172162
}
173163
break;
174-
case ZEL_HANDLE_SAMPLER:
175-
validHandle = loader::context->ze_sampler_factory.hasInstance(reinterpret_cast<loader::ze_sampler_object_t*>(handleIn)->handle);
176-
if (validHandle) {
164+
case ZEL_HANDLE_SAMPLER:
165+
if (loader::context->ze_sampler_factory.hasInstance(reinterpret_cast<loader::ze_sampler_object_t*>(handleIn)->handle)) {
177166
*handleOut = reinterpret_cast<loader::ze_sampler_object_t*>( handleIn )->handle;
178167
}
179168
break;
180-
case ZEL_HANDLE_PHYSICAL_MEM:
181-
validHandle = loader::context->ze_physical_mem_factory.hasInstance(reinterpret_cast<loader::ze_physical_mem_object_t*>(handleIn)->handle);
182-
if (validHandle) {
169+
case ZEL_HANDLE_PHYSICAL_MEM:
170+
if (loader::context->ze_physical_mem_factory.hasInstance(reinterpret_cast<loader::ze_physical_mem_object_t*>(handleIn)->handle)) {
183171
*handleOut = reinterpret_cast<loader::ze_physical_mem_object_t*>( handleIn )->handle;
184172
}
185173
break;

0 commit comments

Comments
 (0)