Skip to content

Commit 2938500

Browse files
authored
feature: Update to support L0 Spec v1.15.31 (#422)
Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
1 parent 26ce6a4 commit 2938500

File tree

25 files changed

+140
-99
lines changed

25 files changed

+140
-99
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
# Level zero loader changelog
2+
## v1.28.0
3+
* feature: Update to support L0 Spec v1.15.31
4+
* Loader Driver Interaction conformance tests for Sysman Exp and Ext APIs (#418)
5+
* Loader Driver Interaction conformance tests for Sysman Modules (#411)
6+
* Ensure explicit multidriver teardown during context destroy (#416)
7+
* fix memory leaks in loader (#417)
8+
* Update Tracing Layer Documentation for the expanded support (#414)
9+
* Expand Loader API Documentation to be more detailed (#410)
10+
* Added tests for Loader Driver interaction conformance for Sysman Modules (#409)
211
## v1.27.0
312
* feature: Update to support L0 Spec v1.15.26
413
* fix: fix Driver Search Paths for all Linux Distros

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ if(MSVC AND (MSVC_VERSION LESS 1900))
1313
endif()
1414

1515
# This project follows semantic versioning (https://semver.org/)
16-
project(level-zero VERSION 1.27.0)
16+
project(level-zero VERSION 1.28.0)
1717
include(GNUInstallDirs)
1818

1919
find_package(Git)

PRODUCT_GUID.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
1.27.0
2-
ed00a7db-f557-48c2-9f90-c1f97b56ad91
1+
1.28.0
2+
152a1567-448a-42b3-9cdd-83c1bdc21421

include/ze.py

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
SPDX-License-Identifier: MIT
55

66
@file ze.py
7-
@version v1.15-r1.15.26
7+
@version v1.15-r1.15.31
88

99
"""
1010
import platform
@@ -1040,10 +1040,11 @@ class ze_command_queue_flags_v(IntEnum):
10401040
## the next to define an in-order list, and application is allowed to
10411041
## pass signal and wait events
10421042
## to each appended command to implement more complex dependency graphs.
1043-
COPY_OFFLOAD_HINT = ZE_BIT(2) ## Try to offload copy operations to different engines. Applicable only
1044-
## for compute queues.
1045-
## This is only a hint. Driver may ignore it per append call, based on
1046-
## platform capabilities or internal heuristics.
1043+
COPY_OFFLOAD_HINT = ZE_BIT(2) ## To be used only when creating immediate command lists and only for
1044+
## compute queues.
1045+
## Try to offload copy operations to different engines. This is only a hint.
1046+
## Driver may ignore it per append call, based on platform capabilities
1047+
## or internal heuristics.
10471048

10481049
class ze_command_queue_flags_t(c_int):
10491050
def __str__(self):
@@ -1124,6 +1125,10 @@ class ze_command_list_flags_v(IntEnum):
11241125
## more complex dependency graphs. Cannot be combined with ::ZE_COMMAND_LIST_FLAG_RELAXED_ORDERING.
11251126
EXP_CLONEABLE = ZE_BIT(4) ## this command list may be cloned using ::zeCommandListCreateCloneExp
11261127
## after ::zeCommandListClose.
1128+
COPY_OFFLOAD_HINT = ZE_BIT(5) ## Try to offload copy operations to different engines. Applicable only
1129+
## for compute queues.
1130+
## This is only a hint. Driver may ignore it per append call, based on
1131+
## platform capabilities or internal heuristics.
11271132

11281133
class ze_command_list_flags_t(c_int):
11291134
def __str__(self):
@@ -2048,21 +2053,21 @@ def __str__(self):
20482053
## - Implementation must support ::ZE_MODULE_PROGRAM_EXP_NAME extension
20492054
## - Modules support import and export linkage for functions and global
20502055
## variables.
2051-
## - SPIR-V import and export linkage types are used. See SPIR-V
2052-
## specification for linkage details.
20532056
## - pInputModules, pBuildFlags, and pConstants from ::ze_module_desc_t is
20542057
## ignored.
20552058
## - Format in ::ze_module_desc_t needs to be set to
2056-
## ::ZE_MODULE_FORMAT_IL_SPIRV.
2059+
## ::ZE_MODULE_FORMAT_IL_SPIRV or ::ZE_MODULE_FORMAT_NATIVE.
2060+
## - All modules in the list must be of the same format and match the
2061+
## format specified in ::ze_module_desc_t.
20572062
class ze_module_program_exp_desc_t(Structure):
20582063
_fields_ = [
20592064
("stype", ze_structure_type_t), ## [in] type of this structure
20602065
("pNext", c_void_p), ## [in][optional] must be null or a pointer to an extension-specific
20612066
## structure (i.e. contains stype and pNext).
20622067
("count", c_ulong), ## [in] Count of input modules
2063-
("inputSizes", POINTER(c_size_t)), ## [in][range(0, count)] sizes of each input IL module in pInputModules.
2064-
("pInputModules", POINTER(c_ubyte*)), ## [in][range(0, count)] pointer to an array of IL (e.g. SPIR-V modules).
2065-
## Valid only for SPIR-V input.
2068+
("inputSizes", POINTER(c_size_t)), ## [in][range(0, count)] sizes of each input module in pInputModules.
2069+
("pInputModules", POINTER(c_ubyte*)), ## [in][range(0, count)] pointer to an array of binary modules in format
2070+
## specified as part of ::ze_module_desc_t.
20662071
("pBuildFlags", POINTER(c_char_p)), ## [in][optional][range(0, count)] array of strings containing build
20672072
## flags. See pBuildFlags in ::ze_module_desc_t.
20682073
("pConstants", POINTER(ze_module_constants_t*)) ## [in][optional][range(0, count)] pointer to array of specialization

include/ze_api.h

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* SPDX-License-Identifier: MIT
66
*
77
* @file ze_api.h
8-
* @version v1.15-r1.15.26
8+
* @version v1.15-r1.15.31
99
*
1010
*/
1111
#ifndef _ZE_API_H
@@ -3042,10 +3042,11 @@ typedef enum _ze_command_queue_flag_t
30423042
///< the next to define an in-order list, and application is allowed to
30433043
///< pass signal and wait events
30443044
///< to each appended command to implement more complex dependency graphs.
3045-
ZE_COMMAND_QUEUE_FLAG_COPY_OFFLOAD_HINT = ZE_BIT(2), ///< Try to offload copy operations to different engines. Applicable only
3046-
///< for compute queues.
3047-
///< This is only a hint. Driver may ignore it per append call, based on
3048-
///< platform capabilities or internal heuristics.
3045+
ZE_COMMAND_QUEUE_FLAG_COPY_OFFLOAD_HINT = ZE_BIT(2), ///< To be used only when creating immediate command lists and only for
3046+
///< compute queues.
3047+
///< Try to offload copy operations to different engines. This is only a hint.
3048+
///< Driver may ignore it per append call, based on platform capabilities
3049+
///< or internal heuristics.
30493050
ZE_COMMAND_QUEUE_FLAG_FORCE_UINT32 = 0x7fffffff ///< Value marking end of ZE_COMMAND_QUEUE_FLAG_* ENUMs
30503051

30513052
} ze_command_queue_flag_t;
@@ -3376,6 +3377,10 @@ typedef enum _ze_command_list_flag_t
33763377
///< more complex dependency graphs. Cannot be combined with ::ZE_COMMAND_LIST_FLAG_RELAXED_ORDERING.
33773378
ZE_COMMAND_LIST_FLAG_EXP_CLONEABLE = ZE_BIT(4), ///< this command list may be cloned using ::zeCommandListCreateCloneExp
33783379
///< after ::zeCommandListClose.
3380+
ZE_COMMAND_LIST_FLAG_COPY_OFFLOAD_HINT = ZE_BIT(5), ///< Try to offload copy operations to different engines. Applicable only
3381+
///< for compute queues.
3382+
///< This is only a hint. Driver may ignore it per append call, based on
3383+
///< platform capabilities or internal heuristics.
33793384
ZE_COMMAND_LIST_FLAG_FORCE_UINT32 = 0x7fffffff ///< Value marking end of ZE_COMMAND_LIST_FLAG_* ENUMs
33803385

33813386
} ze_command_list_flag_t;
@@ -3429,7 +3434,7 @@ typedef struct _ze_command_list_desc_t
34293434
/// + `nullptr == desc`
34303435
/// + `nullptr == phCommandList`
34313436
/// - ::ZE_RESULT_ERROR_INVALID_ENUMERATION
3432-
/// + `0x1f < desc->flags`
3437+
/// + `0x3f < desc->flags`
34333438
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_ENUMERATION
34343439
ZE_APIEXPORT ze_result_t ZE_APICALL
34353440
zeCommandListCreate(
@@ -4103,6 +4108,7 @@ zeCommandListAppendMemoryCopy(
41034108
/// + `nullptr == ptr`
41044109
/// + `nullptr == pattern`
41054110
/// - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT
4111+
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_ALIGNMENT
41064112
/// - ::ZE_RESULT_ERROR_INVALID_SIZE
41074113
/// + `(nullptr == phWaitEvents) && (0 < numWaitEvents)`
41084114
ZE_APIEXPORT ze_result_t ZE_APICALL
@@ -8632,21 +8638,21 @@ typedef enum _ze_module_program_exp_version_t
86328638
/// - Implementation must support ::ZE_MODULE_PROGRAM_EXP_NAME extension
86338639
/// - Modules support import and export linkage for functions and global
86348640
/// variables.
8635-
/// - SPIR-V import and export linkage types are used. See SPIR-V
8636-
/// specification for linkage details.
86378641
/// - pInputModules, pBuildFlags, and pConstants from ::ze_module_desc_t is
86388642
/// ignored.
86398643
/// - Format in ::ze_module_desc_t needs to be set to
8640-
/// ::ZE_MODULE_FORMAT_IL_SPIRV.
8644+
/// ::ZE_MODULE_FORMAT_IL_SPIRV or ::ZE_MODULE_FORMAT_NATIVE.
8645+
/// - All modules in the list must be of the same format and match the
8646+
/// format specified in ::ze_module_desc_t.
86418647
typedef struct _ze_module_program_exp_desc_t
86428648
{
86438649
ze_structure_type_t stype; ///< [in] type of this structure
86448650
const void* pNext; ///< [in][optional] must be null or a pointer to an extension-specific
86458651
///< structure (i.e. contains stype and pNext).
86468652
uint32_t count; ///< [in] Count of input modules
8647-
const size_t* inputSizes; ///< [in][range(0, count)] sizes of each input IL module in pInputModules.
8648-
const uint8_t** pInputModules; ///< [in][range(0, count)] pointer to an array of IL (e.g. SPIR-V modules).
8649-
///< Valid only for SPIR-V input.
8653+
const size_t* inputSizes; ///< [in][range(0, count)] sizes of each input module in pInputModules.
8654+
const uint8_t** pInputModules; ///< [in][range(0, count)] pointer to an array of binary modules in format
8655+
///< specified as part of ::ze_module_desc_t.
86508656
const char** pBuildFlags; ///< [in][optional][range(0, count)] array of strings containing build
86518657
///< flags. See pBuildFlags in ::ze_module_desc_t.
86528658
const ze_module_constants_t** pConstants; ///< [in][optional][range(0, count)] pointer to array of specialization
@@ -9976,9 +9982,10 @@ ZE_APIEXPORT ze_result_t ZE_APICALL
99769982
zeCommandListAppendSignalExternalSemaphoreExt(
99779983
ze_command_list_handle_t hCommandList, ///< [in] The command list handle.
99789984
uint32_t numSemaphores, ///< [in] The number of external semaphores.
9979-
ze_external_semaphore_ext_handle_t* phSemaphores, ///< [in][range(0, numSemaphores)] The vector of external semaphore handles
9980-
///< to be appended into command list.
9981-
ze_external_semaphore_signal_params_ext_t* signalParams, ///< [in] Signal parameters.
9985+
ze_external_semaphore_ext_handle_t* phSemaphores, ///< [in][range(0, numSemaphores)] The array of pointers to external
9986+
///< semaphore handles to be appended into command list.
9987+
ze_external_semaphore_signal_params_ext_t* signalParams, ///< [in][range(0, numSemaphores)] The array of pointers to external
9988+
///< semaphore signal parameters.
99829989
ze_event_handle_t hSignalEvent, ///< [in][optional] handle of the event to signal on completion
99839990
uint32_t numWaitEvents, ///< [in][optional] number of events to wait on before launching; must be 0
99849991
///< if `nullptr == phWaitEvents`
@@ -10025,9 +10032,10 @@ ZE_APIEXPORT ze_result_t ZE_APICALL
1002510032
zeCommandListAppendWaitExternalSemaphoreExt(
1002610033
ze_command_list_handle_t hCommandList, ///< [in] The command list handle.
1002710034
uint32_t numSemaphores, ///< [in] The number of external semaphores.
10028-
ze_external_semaphore_ext_handle_t* phSemaphores, ///< [in] [range(0,numSemaphores)] The vector of external semaphore handles
10029-
///< to append into command list.
10030-
ze_external_semaphore_wait_params_ext_t* waitParams, ///< [in] Wait parameters.
10035+
ze_external_semaphore_ext_handle_t* phSemaphores, ///< [in][range(0,numSemaphores)] The array of pointers to external
10036+
///< semaphore handles to append into command list.
10037+
ze_external_semaphore_wait_params_ext_t* waitParams, ///< [in][range(0,numSemaphores)] The array of pointers to external
10038+
///< semaphore wait parameters.
1003110039
ze_event_handle_t hSignalEvent, ///< [in][optional] handle of the event to signal on completion
1003210040
uint32_t numWaitEvents, ///< [in][optional] number of events to wait on before launching; must be 0
1003310041
///< if `nullptr == phWaitEvents`

include/ze_ddi.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* SPDX-License-Identifier: MIT
66
*
77
* @file ze_ddi.h
8-
* @version v1.15-r1.15.26
8+
* @version v1.15-r1.15.31
99
*
1010
*/
1111
#ifndef _ZE_DDI_H

include/ze_ddi_common.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* SPDX-License-Identifier: MIT
66
*
77
* @file ze_ddi_common.h
8-
* @version v1.15-r1.15.26
8+
* @version v1.15-r1.15.31
99
*
1010
*/
1111
#ifndef _ZE_DDI_COMMON_H

include/zer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
SPDX-License-Identifier: MIT
55
66
@file zer.py
7-
@version v1.15-r1.15.26
7+
@version v1.15-r1.15.31
88
99
"""
1010
import platform

include/zer_api.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* SPDX-License-Identifier: MIT
66
*
77
* @file zer_api.h
8-
* @version v1.15-r1.15.26
8+
* @version v1.15-r1.15.31
99
*
1010
*/
1111
#ifndef _ZER_API_H

include/zer_ddi.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* SPDX-License-Identifier: MIT
66
*
77
* @file zer_ddi.h
8-
* @version v1.15-r1.15.26
8+
* @version v1.15-r1.15.31
99
*
1010
*/
1111
#ifndef _ZER_DDI_H

0 commit comments

Comments
 (0)