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:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDriver
ZE_RESULT_ERROR_INVALID_ENUMERATION
ZE_RTAS_FORMAT_EXT_MAX < rtasFormatAZE_RTAS_FORMAT_EXT_MAX < rtasFormatB
An acceleration structure built with
rtasFormatAis compatible with devices that reportrtasFormatB.
ZE_RESULT_EXT_ERROR_OPERANDS_INCOMPATIBLE
An acceleration structure built with
rtasFormatAis not compatible with devices that reportrtasFormatB.
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.
-
enumerator ZE_DRIVER_MEMORY_FREE_POLICY_EXT_FLAG_BLOCKING_FREE#
ze_driver_ddi_handle_ext_flags_t#
Added in version 1.0
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.
All drivers must support an immediate free policy, which is the default free policy.
This structure may be returned from zeDriverGetProperties, via the
pNextmember of ze_driver_properties_t.
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
pNextmember 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