Driver - Extensions#

oneAPI Level Zero Specification - Version 1.18.31

Driver - Extension Functions#

zeDriverRTASFormatCompatibilityCheckExt#

Added in version 1.13

ZE_APIEXPORT ze_result_t ZE_APICALL zeDriverRTASFormatCompatibilityCheckExt(ze_driver_handle_t hDriver, ze_rtas_format_ext_t rtasFormatA, ze_rtas_format_ext_t rtasFormatB)#

Checks ray tracing acceleration structure format compatibility.

  • The application may call this function from simultaneous threads.

  • The implementation of this function must be thread-safe.

Parameters:
  • hDriver – [in] handle of driver object

  • rtasFormatA – [in] operand A

  • rtasFormatB – [in] operand B

Returns:

Driver - Extension Enums#

ze_driver_memory_free_policy_ext_flags_t#

Added in version 1.3

enum ze_driver_memory_free_policy_ext_flag_t#

Values:

enumerator ZE_DRIVER_MEMORY_FREE_POLICY_EXT_FLAG_BLOCKING_FREE#

Blocks until all commands using the memory are complete before scheduling memory to be freed. Does not guarantee memory is freed upon return, only that it is safe and is scheduled to be freed. Actual freeing of memory is specific to user mode driver and kernel mode driver implementation and may be done asynchronously.

enumerator ZE_DRIVER_MEMORY_FREE_POLICY_EXT_FLAG_DEFER_FREE#

Immediately schedules the memory to be freed and returns without blocking. Memory may be freed after all commands using the memory are complete. Actual freeing of memory is specific to user mode driver and kernel mode driver implementation and may be done asynchronously.

enumerator ZE_DRIVER_MEMORY_FREE_POLICY_EXT_FLAG_FORCE_UINT32#

Value marking end of ZE_DRIVER_MEMORY_FREE_POLICY_EXT_FLAG_* ENUMs.

ze_driver_ddi_handle_ext_flags_t#

Added in version 1.0

enum ze_driver_ddi_handle_ext_flag_t#

Values:

enumerator ZE_DRIVER_DDI_HANDLE_EXT_FLAG_DDI_HANDLE_EXT_SUPPORTED#

Driver Supports DDI Handles Extension.

enumerator ZE_DRIVER_DDI_HANDLE_EXT_FLAG_FORCE_UINT32#

Value marking end of ZE_DRIVER_DDI_HANDLE_EXT_FLAG_* ENUMs.

Driver - Extension Structures#

ze_driver_memory_free_ext_properties_t#

Added in version 1.3

struct ze_driver_memory_free_ext_properties_t#

Driver memory free properties queried using zeDriverGetProperties.

Public Members

ze_structure_type_t stype#

[in] type of this structure

void *pNext#

[in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).

ze_driver_memory_free_policy_ext_flags_t freePolicies#

[out] Supported memory free policies. must be 0 or a combination of ze_driver_memory_free_policy_ext_flag_t.

ze_driver_ddi_handles_ext_properties_t#

Added in version 1.12

struct ze_driver_ddi_handles_ext_properties_t#

Driver DDI Handles properties queried using zeDriverGetProperties.

  • This structure may be returned from zeDriverGetProperties, via the pNext member of ze_driver_properties_t.

  • Starting from spec version 1.17, support for this extension is assumed for any driver reporting API version 1.17 or later via zeDriverGetApiVersion; the loader does NOT need to query the extension property for such drivers.

  • For drivers reporting API version 1.16 or earlier, the loader must check for this extension before using DDI handles.

  • This guarantee enables Level Zero extensions introduced in spec v1.17 or later to embed handles directly inside Level Zero structures (e.g., via pNext chains) without requiring the loader to translate or unwrap handles.

  • Additionally, drivers may assume the loader will dispatch calls exclusively via the DDI tables embedded in their handles; the only exception is the global DDI table used during driver initialization and to read the reported API version.

Public Members

ze_structure_type_t stype#

[in] type of this structure

void *pNext#

[in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).

ze_driver_ddi_handle_ext_flags_t flags#

[out] 0 (none) or a valid combination of ze_driver_ddi_handle_ext_flags_t