11/*
2- * Copyright (C) 2019-2020 Intel Corporation
2+ * Copyright (C) 2019-2021 Intel Corporation
33 *
44 * SPDX-License-Identifier: MIT
55 *
@@ -22,8 +22,9 @@ zeGetDriverProcAddrTable(
2222 ze_driver_dditable_t *pDdiTable) {
2323 if (nullptr == pDdiTable)
2424 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
25- if (driver_ddiTable.version < version)
26- return ZE_RESULT_ERROR_UNKNOWN;
25+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
26+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
27+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
2728 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
2829 ze_result_t result = ZE_RESULT_SUCCESS;
2930 pDdiTable->pfnGet = zeDriverGet;
@@ -48,8 +49,9 @@ zeGetMemProcAddrTable(
4849 ze_mem_dditable_t *pDdiTable) {
4950 if (nullptr == pDdiTable)
5051 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
51- if (driver_ddiTable.version < version)
52- return ZE_RESULT_ERROR_UNKNOWN;
52+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
53+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
54+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
5355 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
5456
5557 ze_result_t result = ZE_RESULT_SUCCESS;
@@ -83,8 +85,9 @@ zeGetContextProcAddrTable(
8385 ze_context_dditable_t *pDdiTable) {
8486 if (nullptr == pDdiTable)
8587 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
86- if (driver_ddiTable.version < version)
87- return ZE_RESULT_ERROR_UNKNOWN;
88+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
89+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
90+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
8891
8992 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
9093
@@ -118,8 +121,9 @@ zeGetPhysicalMemProcAddrTable(
118121 ze_physical_mem_dditable_t *pDdiTable) {
119122 if (nullptr == pDdiTable)
120123 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
121- if (driver_ddiTable.version < version)
122- return ZE_RESULT_ERROR_UNKNOWN;
124+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
125+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
126+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
123127
124128 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
125129
@@ -141,8 +145,9 @@ zeGetVirtualMemProcAddrTable(
141145 ze_virtual_mem_dditable_t *pDdiTable) {
142146 if (nullptr == pDdiTable)
143147 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
144- if (driver_ddiTable.version < version)
145- return ZE_RESULT_ERROR_UNKNOWN;
148+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
149+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
150+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
146151 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
147152
148153 ze_result_t result = ZE_RESULT_SUCCESS;
@@ -173,8 +178,9 @@ zeGetGlobalProcAddrTable(
173178 ze_global_dditable_t *pDdiTable) {
174179 if (nullptr == pDdiTable)
175180 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
176- if (driver_ddiTable.version < version)
177- return ZE_RESULT_ERROR_UNKNOWN;
181+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
182+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
183+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
178184 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
179185
180186 ze_result_t result = ZE_RESULT_SUCCESS;
@@ -192,8 +198,9 @@ zeGetDeviceProcAddrTable(
192198 ze_device_dditable_t *pDdiTable) {
193199 if (nullptr == pDdiTable)
194200 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
195- if (driver_ddiTable.version < version)
196- return ZE_RESULT_ERROR_UNKNOWN;
201+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
202+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
203+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
197204 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
198205
199206 ze_result_t result = ZE_RESULT_SUCCESS;
@@ -237,8 +244,9 @@ zeGetCommandQueueProcAddrTable(
237244 ze_command_queue_dditable_t *pDdiTable) {
238245 if (nullptr == pDdiTable)
239246 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
240- if (driver_ddiTable.version < version)
241- return ZE_RESULT_ERROR_UNKNOWN;
247+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
248+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
249+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
242250 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
243251
244252 ze_result_t result = ZE_RESULT_SUCCESS;
@@ -262,8 +270,9 @@ zeGetCommandListProcAddrTable(
262270 ze_command_list_dditable_t *pDdiTable) {
263271 if (nullptr == pDdiTable)
264272 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
265- if (driver_ddiTable.version < version)
266- return ZE_RESULT_ERROR_UNKNOWN;
273+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
274+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
275+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
267276 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
268277
269278 ze_result_t result = ZE_RESULT_SUCCESS;
@@ -331,8 +340,9 @@ zeGetFenceProcAddrTable(
331340 ze_fence_dditable_t *pDdiTable) {
332341 if (nullptr == pDdiTable)
333342 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
334- if (driver_ddiTable.version < version)
335- return ZE_RESULT_ERROR_UNKNOWN;
343+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
344+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
345+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
336346 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
337347
338348 ze_result_t result = ZE_RESULT_SUCCESS;
@@ -358,8 +368,9 @@ zeGetEventPoolProcAddrTable(
358368 ze_event_pool_dditable_t *pDdiTable) {
359369 if (nullptr == pDdiTable)
360370 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
361- if (driver_ddiTable.version < version)
362- return ZE_RESULT_ERROR_UNKNOWN;
371+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
372+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
373+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
363374 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
364375
365376 ze_result_t result = ZE_RESULT_SUCCESS;
@@ -385,8 +396,9 @@ zeGetEventProcAddrTable(
385396 ze_event_dditable_t *pDdiTable) {
386397 if (nullptr == pDdiTable)
387398 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
388- if (driver_ddiTable.version < version)
389- return ZE_RESULT_ERROR_UNKNOWN;
399+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
400+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
401+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
390402 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
391403
392404 ze_result_t result = ZE_RESULT_SUCCESS;
@@ -416,8 +428,9 @@ zeGetImageProcAddrTable(
416428 ze_image_dditable_t *pDdiTable) {
417429 if (nullptr == pDdiTable)
418430 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
419- if (driver_ddiTable.version < version)
420- return ZE_RESULT_ERROR_UNKNOWN;
431+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
432+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
433+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
421434 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
422435
423436 ze_result_t result = ZE_RESULT_SUCCESS;
@@ -439,8 +452,9 @@ zeGetModuleProcAddrTable(
439452 ze_module_dditable_t *pDdiTable) {
440453 if (nullptr == pDdiTable)
441454 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
442- if (driver_ddiTable.version < version)
443- return ZE_RESULT_ERROR_UNKNOWN;
455+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
456+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
457+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
444458 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
445459
446460 ze_result_t result = ZE_RESULT_SUCCESS;
@@ -472,8 +486,9 @@ zeGetModuleBuildLogProcAddrTable(
472486 ze_module_build_log_dditable_t *pDdiTable) {
473487 if (nullptr == pDdiTable)
474488 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
475- if (driver_ddiTable.version < version)
476- return ZE_RESULT_ERROR_UNKNOWN;
489+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
490+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
491+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
477492 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
478493
479494 ze_result_t result = ZE_RESULT_SUCCESS;
@@ -493,8 +508,9 @@ zeGetKernelProcAddrTable(
493508 ze_kernel_dditable_t *pDdiTable) {
494509 if (nullptr == pDdiTable)
495510 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
496- if (driver_ddiTable.version < version)
497- return ZE_RESULT_ERROR_UNKNOWN;
511+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
512+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
513+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
498514 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
499515
500516 ze_result_t result = ZE_RESULT_SUCCESS;
@@ -534,8 +550,9 @@ zeGetSamplerProcAddrTable(
534550 ze_sampler_dditable_t *pDdiTable) {
535551 if (nullptr == pDdiTable)
536552 return ZE_RESULT_ERROR_INVALID_ARGUMENT;
537- if (driver_ddiTable.version < version)
538- return ZE_RESULT_ERROR_UNKNOWN;
553+ if (ZE_MAJOR_VERSION (driver_ddiTable.version ) != ZE_MAJOR_VERSION (version) ||
554+ ZE_MINOR_VERSION (driver_ddiTable.version ) > ZE_MINOR_VERSION (version))
555+ return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
539556 driver_ddiTable.enableTracing = getenv_tobool (" ZET_ENABLE_API_TRACING_EXP" );
540557
541558 ze_result_t result = ZE_RESULT_SUCCESS;
0 commit comments