aboutsummaryrefslogtreecommitdiffhomepage
path: root/level_zero-sys
diff options
context:
space:
mode:
authorAndrzej Janik <[email protected]>2020-05-10 19:19:53 +0200
committerAndrzej Janik <[email protected]>2020-05-10 19:19:53 +0200
commit0c0f0e5a6bc5d375171090becafbf4cca18a377c (patch)
tree0666fab4e0897893278c491cd225ebc8d3f101cc /level_zero-sys
parentfa075abc226b5dcfd50355ebe690c192823d7a5e (diff)
downloadZLUDA-0c0f0e5a6bc5d375171090becafbf4cca18a377c.tar.gz
ZLUDA-0c0f0e5a6bc5d375171090becafbf4cca18a377c.zip
Update L0 bindings
Diffstat (limited to 'level_zero-sys')
-rw-r--r--level_zero-sys/Cargo.toml2
-rw-r--r--level_zero-sys/src/lib.rs4
-rw-r--r--level_zero-sys/src/ze_api.rs (renamed from level_zero-sys/src/zex_api.rs)4378
-rw-r--r--level_zero-sys/src/ze_loader.libbin0 -> 70198 bytes
4 files changed, 1991 insertions, 2393 deletions
diff --git a/level_zero-sys/Cargo.toml b/level_zero-sys/Cargo.toml
index a2e25e1..c88db5d 100644
--- a/level_zero-sys/Cargo.toml
+++ b/level_zero-sys/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "level_zero-sys"
-version = "0.4.1"
+version = "0.91.0"
authors = ["Andrzej Janik <[email protected]>"]
edition = "2018"
links = "ze_loader"
diff --git a/level_zero-sys/src/lib.rs b/level_zero-sys/src/lib.rs
index b6ed5a9..f7a7feb 100644
--- a/level_zero-sys/src/lib.rs
+++ b/level_zero-sys/src/lib.rs
@@ -1,3 +1,3 @@
#![allow(warnings)]
-pub mod zex_api;
-pub use zex_api::*; \ No newline at end of file
+pub mod ze_api;
+pub use ze_api::*; \ No newline at end of file
diff --git a/level_zero-sys/src/zex_api.rs b/level_zero-sys/src/ze_api.rs
index bcdf079..06c971c 100644
--- a/level_zero-sys/src/zex_api.rs
+++ b/level_zero-sys/src/ze_api.rs
@@ -1,8 +1,5 @@
/* automatically generated by rust-bindgen */
-pub type __uint8_t = ::std::os::raw::c_uchar;
-pub type __uint32_t = ::std::os::raw::c_uint;
-pub type __uint64_t = ::std::os::raw::c_ulong;
#[doc = ""]
#[doc = " @brief compiler-independent type"]
pub type ze_bool_t = u8;
@@ -134,7 +131,7 @@ fn bindgen_test_layout__ze_ipc_mem_handle_t() {
);
}
#[doc = ""]
-#[doc = " @brief Forward-declare ze_ipc_mem_handle_t"]
+#[doc = " @brief IPC handle to a memory allocation"]
pub type ze_ipc_mem_handle_t = _ze_ipc_mem_handle_t;
#[doc = ""]
#[doc = " @brief IPC handle to a event pool allocation"]
@@ -170,15 +167,11 @@ fn bindgen_test_layout__ze_ipc_event_pool_handle_t() {
);
}
#[doc = ""]
-#[doc = " @brief Forward-declare ze_ipc_event_pool_handle_t"]
+#[doc = " @brief IPC handle to a event pool allocation"]
pub type ze_ipc_event_pool_handle_t = _ze_ipc_event_pool_handle_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Defines Return/Error codes"]
-#[doc = ""]
-#[doc = " @remarks"]
-#[doc = " _Analogues_"]
-#[doc = " - **CUresult**"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
#[must_use]
pub enum _ze_result_t {
@@ -257,6 +250,8 @@ pub enum _ze_result_t {
#[doc = "< [Core] unknown or internal error"]
ZE_RESULT_ERROR_UNKNOWN = 2147483647,
}
+#[doc = ""]
+#[doc = " @brief Defines Return/Error codes"]
pub use self::_ze_result_t as ze_result_t;
#[doc = ""]
#[doc = " @brief Forward-declare ze_driver_uuid_t"]
@@ -304,21 +299,6 @@ pub type ze_command_queue_desc_t = _ze_command_queue_desc_t;
#[doc = " @brief Forward-declare ze_command_list_desc_t"]
pub type ze_command_list_desc_t = _ze_command_list_desc_t;
#[doc = ""]
-#[doc = " @brief Forward-declare ze_copy_region_t"]
-pub type ze_copy_region_t = _ze_copy_region_t;
-#[doc = ""]
-#[doc = " @brief Forward-declare ze_image_region_t"]
-pub type ze_image_region_t = _ze_image_region_t;
-#[doc = ""]
-#[doc = " @brief Forward-declare ze_event_pool_desc_t"]
-pub type ze_event_pool_desc_t = _ze_event_pool_desc_t;
-#[doc = ""]
-#[doc = " @brief Forward-declare ze_event_desc_t"]
-pub type ze_event_desc_t = _ze_event_desc_t;
-#[doc = ""]
-#[doc = " @brief Forward-declare ze_fence_desc_t"]
-pub type ze_fence_desc_t = _ze_fence_desc_t;
-#[doc = ""]
#[doc = " @brief Forward-declare ze_image_format_desc_t"]
pub type ze_image_format_desc_t = _ze_image_format_desc_t;
#[doc = ""]
@@ -328,15 +308,6 @@ pub type ze_image_desc_t = _ze_image_desc_t;
#[doc = " @brief Forward-declare ze_image_properties_t"]
pub type ze_image_properties_t = _ze_image_properties_t;
#[doc = ""]
-#[doc = " @brief Forward-declare ze_device_mem_alloc_desc_t"]
-pub type ze_device_mem_alloc_desc_t = _ze_device_mem_alloc_desc_t;
-#[doc = ""]
-#[doc = " @brief Forward-declare ze_host_mem_alloc_desc_t"]
-pub type ze_host_mem_alloc_desc_t = _ze_host_mem_alloc_desc_t;
-#[doc = ""]
-#[doc = " @brief Forward-declare ze_memory_allocation_properties_t"]
-pub type ze_memory_allocation_properties_t = _ze_memory_allocation_properties_t;
-#[doc = ""]
#[doc = " @brief Forward-declare ze_module_constants_t"]
pub type ze_module_constants_t = _ze_module_constants_t;
#[doc = ""]
@@ -352,9 +323,33 @@ pub type ze_kernel_properties_t = _ze_kernel_properties_t;
#[doc = " @brief Forward-declare ze_group_count_t"]
pub type ze_group_count_t = _ze_group_count_t;
#[doc = ""]
+#[doc = " @brief Forward-declare ze_event_pool_desc_t"]
+pub type ze_event_pool_desc_t = _ze_event_pool_desc_t;
+#[doc = ""]
+#[doc = " @brief Forward-declare ze_event_desc_t"]
+pub type ze_event_desc_t = _ze_event_desc_t;
+#[doc = ""]
#[doc = " @brief Forward-declare ze_sampler_desc_t"]
pub type ze_sampler_desc_t = _ze_sampler_desc_t;
-#[repr(u32)]
+#[doc = ""]
+#[doc = " @brief Forward-declare ze_device_mem_alloc_desc_t"]
+pub type ze_device_mem_alloc_desc_t = _ze_device_mem_alloc_desc_t;
+#[doc = ""]
+#[doc = " @brief Forward-declare ze_host_mem_alloc_desc_t"]
+pub type ze_host_mem_alloc_desc_t = _ze_host_mem_alloc_desc_t;
+#[doc = ""]
+#[doc = " @brief Forward-declare ze_memory_allocation_properties_t"]
+pub type ze_memory_allocation_properties_t = _ze_memory_allocation_properties_t;
+#[doc = ""]
+#[doc = " @brief Forward-declare ze_fence_desc_t"]
+pub type ze_fence_desc_t = _ze_fence_desc_t;
+#[doc = ""]
+#[doc = " @brief Forward-declare ze_copy_region_t"]
+pub type ze_copy_region_t = _ze_copy_region_t;
+#[doc = ""]
+#[doc = " @brief Forward-declare ze_image_region_t"]
+pub type ze_image_region_t = _ze_image_region_t;
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported initialization flags"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -364,6 +359,8 @@ pub enum _ze_init_flag_t {
#[doc = "< only initialize GPU drivers"]
ZE_INIT_FLAG_GPU_ONLY = 1,
}
+#[doc = ""]
+#[doc = " @brief Supported initialization flags"]
pub use self::_ze_init_flag_t as ze_init_flag_t;
extern "C" {
#[doc = ""]
@@ -377,10 +374,6 @@ extern "C" {
#[doc = " - This function is thread-safe for scenarios where multiple libraries"]
#[doc = " may initialize the driver simultaneously."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuInit**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -413,7 +406,7 @@ extern "C" {
#[doc = " + `nullptr == pCount`"]
pub fn zeDriverGet(pCount: *mut u32, phDrivers: *mut ze_driver_handle_t) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported API versions"]
#[doc = ""]
@@ -422,9 +415,15 @@ extern "C" {
#[doc = " ::ZE_MAJOR_VERSION and ::ZE_MINOR_VERSION"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_api_version_t {
- #[doc = "< 1.0"]
- ZE_API_VERSION_1_0 = 65536,
+ #[doc = "< 0.91"]
+ ZE_API_VERSION_1_0 = 91,
}
+#[doc = ""]
+#[doc = " @brief Supported API versions"]
+#[doc = ""]
+#[doc = " @details"]
+#[doc = " - API versions contain major and minor attributes, use"]
+#[doc = " ::ZE_MAJOR_VERSION and ::ZE_MINOR_VERSION"]
pub use self::_ze_api_version_t as ze_api_version_t;
extern "C" {
#[doc = ""]
@@ -434,10 +433,6 @@ extern "C" {
#[doc = " - The application may call this function from simultaneous threads."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuCtxGetApiVersion**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -451,14 +446,16 @@ extern "C" {
version: *mut ze_api_version_t,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_driver_properties_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_driver_properties_version_t {
- #[doc = "< version 1.0"]
- ZE_DRIVER_PROPERTIES_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_DRIVER_PROPERTIES_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_driver_properties_t"]
pub use self::_ze_driver_properties_version_t as ze_driver_properties_version_t;
#[doc = ""]
#[doc = " @brief Driver universal unique id (UUID)"]
@@ -560,7 +557,6 @@ extern "C" {
#[doc = ""]
#[doc = " @remarks"]
#[doc = " _Analogues_"]
- #[doc = " - **cuDriverGetVersion**"]
#[doc = " - **clGetPlatformInfo**"]
#[doc = ""]
#[doc = " @returns"]
@@ -576,14 +572,16 @@ extern "C" {
pDriverProperties: *mut ze_driver_properties_t,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_driver_ipc_properties_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_driver_ipc_properties_version_t {
- #[doc = "< version 1.0"]
- ZE_DRIVER_IPC_PROPERTIES_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_DRIVER_IPC_PROPERTIES_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_driver_ipc_properties_t"]
pub use self::_ze_driver_ipc_properties_version_t as ze_driver_ipc_properties_version_t;
#[doc = ""]
#[doc = " @brief IPC properties queried using ::zeDriverGetIPCProperties"]
@@ -658,10 +656,6 @@ extern "C" {
#[doc = " - The application may call this function from simultaneous threads."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuDeviceGetAttribute**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -710,10 +704,6 @@ extern "C" {
#[doc = " - The application may call this function from simultaneous threads."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuDeviceGet**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -754,16 +744,18 @@ extern "C" {
phSubdevices: *mut ze_device_handle_t,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_device_properties_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_device_properties_version_t {
- #[doc = "< version 1.0"]
- ZE_DEVICE_PROPERTIES_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_DEVICE_PROPERTIES_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_device_properties_t"]
pub use self::_ze_device_properties_version_t as ze_device_properties_version_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported device types"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -773,6 +765,8 @@ pub enum _ze_device_type_t {
#[doc = "< Field Programmable Gate Array"]
ZE_DEVICE_TYPE_FPGA = 2,
}
+#[doc = ""]
+#[doc = " @brief Supported device types"]
pub use self::_ze_device_type_t as ze_device_type_t;
#[doc = ""]
#[doc = " @brief Device universal unique id (UUID)"]
@@ -849,11 +843,10 @@ pub struct _ze_device_properties_t {
pub numEUsPerSubslice: u32,
#[doc = "< [out] Number of sub-slices per slice."]
pub numSubslicesPerSlice: u32,
- #[doc = "< [out] Number of slices per tile."]
- pub numSlicesPerTile: u32,
- #[doc = "< [out] Number of tiles."]
- pub numTiles: u32,
- #[doc = "< [out] Returns the resolution of device timer in nanoseconds."]
+ #[doc = "< [out] Number of slices."]
+ pub numSlices: u32,
+ #[doc = "< [out] Returns the resolution of device timer in nanoseconds used for"]
+ #[doc = "< profiling, timestamps, etc."]
pub timerResolution: u64,
#[doc = "< [out] Device name"]
pub name: [::std::os::raw::c_char; 256usize],
@@ -1104,27 +1097,14 @@ fn bindgen_test_layout__ze_device_properties_t() {
);
assert_eq!(
unsafe {
- &(*(::std::ptr::null::<_ze_device_properties_t>())).numSlicesPerTile as *const _
- as usize
+ &(*(::std::ptr::null::<_ze_device_properties_t>())).numSlices as *const _ as usize
},
80usize,
concat!(
"Offset of field: ",
stringify!(_ze_device_properties_t),
"::",
- stringify!(numSlicesPerTile)
- )
- );
- assert_eq!(
- unsafe {
- &(*(::std::ptr::null::<_ze_device_properties_t>())).numTiles as *const _ as usize
- },
- 84usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_device_properties_t),
- "::",
- stringify!(numTiles)
+ stringify!(numSlices)
)
);
assert_eq!(
@@ -1160,8 +1140,6 @@ extern "C" {
#[doc = ""]
#[doc = " @remarks"]
#[doc = " _Analogues_"]
- #[doc = " - **cuDeviceGetAttribute**"]
- #[doc = " - cuDeviceGetName"]
#[doc = " - clGetDeviceInfo"]
#[doc = ""]
#[doc = " @returns"]
@@ -1177,14 +1155,16 @@ extern "C" {
pDeviceProperties: *mut ze_device_properties_t,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_device_compute_properties_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_device_compute_properties_version_t {
- #[doc = "< version 1.0"]
- ZE_DEVICE_COMPUTE_PROPERTIES_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_DEVICE_COMPUTE_PROPERTIES_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_device_compute_properties_t"]
pub use self::_ze_device_compute_properties_version_t as ze_device_compute_properties_version_t;
#[doc = ""]
#[doc = " @brief Device compute properties queried using ::zeDeviceGetComputeProperties"]
@@ -1381,7 +1361,6 @@ extern "C" {
#[doc = ""]
#[doc = " @remarks"]
#[doc = " _Analogues_"]
- #[doc = " - **cuDeviceGetAttribute**"]
#[doc = " - clGetDeviceInfo"]
#[doc = ""]
#[doc = " @returns"]
@@ -1397,14 +1376,16 @@ extern "C" {
pComputeProperties: *mut ze_device_compute_properties_t,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_device_kernel_properties_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_device_kernel_properties_version_t {
- #[doc = "< version 1.0"]
- ZE_DEVICE_KERNEL_PROPERTIES_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_DEVICE_KERNEL_PROPERTIES_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_device_kernel_properties_t"]
pub use self::_ze_device_kernel_properties_version_t as ze_device_kernel_properties_version_t;
#[doc = ""]
#[doc = " @brief Native kernel universal unique id (UUID)"]
@@ -1437,14 +1418,14 @@ fn bindgen_test_layout__ze_native_kernel_uuid_t() {
)
);
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Floating Point capabilities"]
#[doc = ""]
#[doc = " @details"]
#[doc = " - floating-point capabilities of the device."]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_floating_point_capabilities_t {
+pub enum _ze_fp_capabilities_t {
#[doc = "< None"]
ZE_FP_CAPS_NONE = 0,
#[doc = "< Supports denorms"]
@@ -1465,7 +1446,12 @@ pub enum _ze_floating_point_capabilities_t {
#[doc = "< Uses software implementation for basic floating-point operations."]
ZE_FP_CAPS_SOFT_FLOAT = 128,
}
-pub use self::_ze_floating_point_capabilities_t as ze_floating_point_capabilities_t;
+#[doc = ""]
+#[doc = " @brief Floating Point capabilities"]
+#[doc = ""]
+#[doc = " @details"]
+#[doc = " - floating-point capabilities of the device."]
+pub use self::_ze_fp_capabilities_t as ze_fp_capabilities_t;
#[doc = ""]
#[doc = " @brief Device properties queried using ::zeDeviceGetKernelProperties"]
#[repr(C)]
@@ -1492,10 +1478,12 @@ pub struct _ze_device_kernel_properties_t {
pub int64AtomicsSupported: ze_bool_t,
#[doc = "< [out] Supports four component dot product and accumulate operations"]
pub dp4aSupported: ze_bool_t,
+ #[doc = "< [out] Capabilities for half-precision floating-point operations."]
+ pub halfFpCapabilities: ze_fp_capabilities_t,
#[doc = "< [out] Capabilities for single-precision floating-point operations."]
- pub singleFpCapabilities: ze_floating_point_capabilities_t,
+ pub singleFpCapabilities: ze_fp_capabilities_t,
#[doc = "< [out] Capabilities for double-precision floating-point operations."]
- pub doubleFpCapabilities: ze_floating_point_capabilities_t,
+ pub doubleFpCapabilities: ze_fp_capabilities_t,
#[doc = "< [out] Maximum kernel argument size that is supported."]
pub maxArgumentsSize: u32,
#[doc = "< [out] Maximum size of internal buffer that holds output of printf"]
@@ -1506,7 +1494,7 @@ pub struct _ze_device_kernel_properties_t {
fn bindgen_test_layout__ze_device_kernel_properties_t() {
assert_eq!(
::std::mem::size_of::<_ze_device_kernel_properties_t>(),
- 44usize,
+ 48usize,
concat!("Size of: ", stringify!(_ze_device_kernel_properties_t))
);
assert_eq!(
@@ -1606,7 +1594,7 @@ fn bindgen_test_layout__ze_device_kernel_properties_t() {
);
assert_eq!(
unsafe {
- &(*(::std::ptr::null::<_ze_device_kernel_properties_t>())).singleFpCapabilities
+ &(*(::std::ptr::null::<_ze_device_kernel_properties_t>())).halfFpCapabilities
as *const _ as usize
},
28usize,
@@ -1614,6 +1602,19 @@ fn bindgen_test_layout__ze_device_kernel_properties_t() {
"Offset of field: ",
stringify!(_ze_device_kernel_properties_t),
"::",
+ stringify!(halfFpCapabilities)
+ )
+ );
+ assert_eq!(
+ unsafe {
+ &(*(::std::ptr::null::<_ze_device_kernel_properties_t>())).singleFpCapabilities
+ as *const _ as usize
+ },
+ 32usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_device_kernel_properties_t),
+ "::",
stringify!(singleFpCapabilities)
)
);
@@ -1622,7 +1623,7 @@ fn bindgen_test_layout__ze_device_kernel_properties_t() {
&(*(::std::ptr::null::<_ze_device_kernel_properties_t>())).doubleFpCapabilities
as *const _ as usize
},
- 32usize,
+ 36usize,
concat!(
"Offset of field: ",
stringify!(_ze_device_kernel_properties_t),
@@ -1635,7 +1636,7 @@ fn bindgen_test_layout__ze_device_kernel_properties_t() {
&(*(::std::ptr::null::<_ze_device_kernel_properties_t>())).maxArgumentsSize as *const _
as usize
},
- 36usize,
+ 40usize,
concat!(
"Offset of field: ",
stringify!(_ze_device_kernel_properties_t),
@@ -1648,7 +1649,7 @@ fn bindgen_test_layout__ze_device_kernel_properties_t() {
&(*(::std::ptr::null::<_ze_device_kernel_properties_t>())).printfBufferSize as *const _
as usize
},
- 40usize,
+ 44usize,
concat!(
"Offset of field: ",
stringify!(_ze_device_kernel_properties_t),
@@ -1678,14 +1679,16 @@ extern "C" {
pKernelProperties: *mut ze_device_kernel_properties_t,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_device_memory_properties_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_device_memory_properties_version_t {
- #[doc = "< version 1.0"]
- ZE_DEVICE_MEMORY_PROPERTIES_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_DEVICE_MEMORY_PROPERTIES_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_device_memory_properties_t"]
pub use self::_ze_device_memory_properties_version_t as ze_device_memory_properties_version_t;
#[doc = ""]
#[doc = " @brief Device local memory properties queried using"]
@@ -1778,8 +1781,6 @@ extern "C" {
#[doc = ""]
#[doc = " @remarks"]
#[doc = " _Analogues_"]
- #[doc = " - **cuDeviceGetAttribute**"]
- #[doc = " - cuDeviceTotalMem"]
#[doc = " - clGetDeviceInfo"]
#[doc = ""]
#[doc = " @returns"]
@@ -1796,16 +1797,18 @@ extern "C" {
pMemProperties: *mut ze_device_memory_properties_t,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_device_memory_access_properties_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_device_memory_access_properties_version_t {
- #[doc = "< version 1.0"]
- ZE_DEVICE_MEMORY_ACCESS_PROPERTIES_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_DEVICE_MEMORY_ACCESS_PROPERTIES_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_device_memory_access_properties_t"]
pub use self::_ze_device_memory_access_properties_version_t as ze_device_memory_access_properties_version_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Memory access capabilities"]
#[doc = ""]
@@ -1825,6 +1828,12 @@ pub enum _ze_memory_access_capabilities_t {
#[doc = "< Supports concurrent atomic access"]
ZE_MEMORY_CONCURRENT_ATOMIC_ACCESS = 8,
}
+#[doc = ""]
+#[doc = " @brief Memory access capabilities"]
+#[doc = ""]
+#[doc = " @details"]
+#[doc = " - Supported access capabilities for different types of memory"]
+#[doc = " allocations"]
pub use self::_ze_memory_access_capabilities_t as ze_memory_access_capabilities_t;
#[doc = ""]
#[doc = " @brief Device memory access properties queried using"]
@@ -1952,8 +1961,6 @@ extern "C" {
#[doc = ""]
#[doc = " @remarks"]
#[doc = " _Analogues_"]
- #[doc = " - **cuDeviceGetAttribute**"]
- #[doc = " - cuDeviceTotalMem"]
#[doc = " - clGetDeviceInfo"]
#[doc = ""]
#[doc = " @returns"]
@@ -1969,14 +1976,16 @@ extern "C" {
pMemAccessProperties: *mut ze_device_memory_access_properties_t,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_device_cache_properties_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_device_cache_properties_version_t {
- #[doc = "< version 1.0"]
- ZE_DEVICE_CACHE_PROPERTIES_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_DEVICE_CACHE_PROPERTIES_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_device_cache_properties_t"]
pub use self::_ze_device_cache_properties_version_t as ze_device_cache_properties_version_t;
#[doc = ""]
#[doc = " @brief Device cache properties queried using ::zeDeviceGetCacheProperties"]
@@ -2113,8 +2122,6 @@ extern "C" {
#[doc = ""]
#[doc = " @remarks"]
#[doc = " _Analogues_"]
- #[doc = " - **cuDeviceGetAttribute**"]
- #[doc = " - cuDeviceTotalMem"]
#[doc = " - clGetDeviceInfo"]
#[doc = ""]
#[doc = " @returns"]
@@ -2130,14 +2137,16 @@ extern "C" {
pCacheProperties: *mut ze_device_cache_properties_t,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_device_image_properties_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_device_image_properties_version_t {
- #[doc = "< version 1.0"]
- ZE_DEVICE_IMAGE_PROPERTIES_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_DEVICE_IMAGE_PROPERTIES_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_device_image_properties_t"]
pub use self::_ze_device_image_properties_version_t as ze_device_image_properties_version_t;
#[doc = ""]
#[doc = " @brief Device image properties queried using ::zeDeviceGetComputeProperties"]
@@ -2318,10 +2327,6 @@ extern "C" {
#[doc = " - The application may call this function from simultaneous threads."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuDeviceGetAttribute**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -2335,14 +2340,16 @@ extern "C" {
pImageProperties: *mut ze_device_image_properties_t,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_device_p2p_properties_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_device_p2p_properties_version_t {
- #[doc = "< version 1.0"]
- ZE_DEVICE_P2P_PROPERTIES_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_DEVICE_P2P_PROPERTIES_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_device_p2p_properties_t"]
pub use self::_ze_device_p2p_properties_version_t as ze_device_p2p_properties_version_t;
#[doc = ""]
#[doc = " @brief Device properties queried using ::zeDeviceGetP2PProperties"]
@@ -2416,10 +2423,6 @@ extern "C" {
#[doc = " - The application may call this function from simultaneous threads."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cudaDeviceGetP2PAttribute**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -2457,10 +2460,6 @@ extern "C" {
#[doc = " - The application may call this function from simultaneous threads."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cudaDeviceCanAccessPeer**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -2476,7 +2475,7 @@ extern "C" {
value: *mut ze_bool_t,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported Cache Config"]
#[doc = ""]
@@ -2491,6 +2490,11 @@ pub enum _ze_cache_config_t {
#[doc = "< Large General Data size"]
ZE_CACHE_CONFIG_LARGE_DATA = 4,
}
+#[doc = ""]
+#[doc = " @brief Supported Cache Config"]
+#[doc = ""]
+#[doc = " @details"]
+#[doc = " - Supported Cache Config (Default, Large SLM, Large Data Cache)"]
pub use self::_ze_cache_config_t as ze_cache_config_t;
extern "C" {
#[doc = ""]
@@ -2500,10 +2504,6 @@ extern "C" {
#[doc = " - The application may **not** call this function from simultaneous"]
#[doc = " threads with the same device handle."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cudaFuncSetCacheConfig **"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -2518,28 +2518,30 @@ extern "C" {
CacheConfig: ze_cache_config_t,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_command_queue_desc_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_command_queue_desc_version_t {
- #[doc = "< version 1.0"]
- ZE_COMMAND_QUEUE_DESC_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_COMMAND_QUEUE_DESC_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_command_queue_desc_t"]
pub use self::_ze_command_queue_desc_version_t as ze_command_queue_desc_version_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported command queue flags"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_command_queue_flag_t {
#[doc = "< default behavior"]
ZE_COMMAND_QUEUE_FLAG_NONE = 0,
- #[doc = "< command queue only supports enqueing copy-only command lists"]
+ #[doc = "< command queue only supports enqueuing copy-only command lists"]
ZE_COMMAND_QUEUE_FLAG_COPY_ONLY = 1,
#[doc = "< command queue is not tied to a physical command queue; driver may"]
#[doc = "< dynamically assign based on usage"]
ZE_COMMAND_QUEUE_FLAG_LOGICAL_ONLY = 2,
- #[doc = "< command queue reserves and cannot comsume more than a single slice."]
+ #[doc = "< command queue reserves and cannot consume more than a single slice."]
#[doc = "< 'slice' size is device-specific. cannot be combined with COPY_ONLY."]
ZE_COMMAND_QUEUE_FLAG_SINGLE_SLICE_ONLY = 4,
#[doc = "< command queue supports command list with cooperative kernels. See"]
@@ -2547,8 +2549,10 @@ pub enum _ze_command_queue_flag_t {
#[doc = "< be combined with COPY_ONLY."]
ZE_COMMAND_QUEUE_FLAG_SUPPORTS_COOPERATIVE_KERNELS = 8,
}
+#[doc = ""]
+#[doc = " @brief Supported command queue flags"]
pub use self::_ze_command_queue_flag_t as ze_command_queue_flag_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported command queue modes"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -2562,8 +2566,10 @@ pub enum _ze_command_queue_mode_t {
#[doc = "< explicit synchronization object must be used to determine completeness"]
ZE_COMMAND_QUEUE_MODE_ASYNCHRONOUS = 2,
}
+#[doc = ""]
+#[doc = " @brief Supported command queue modes"]
pub use self::_ze_command_queue_mode_t as ze_command_queue_mode_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported command queue priorities"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -2575,6 +2581,8 @@ pub enum _ze_command_queue_priority_t {
#[doc = "< higher priority than normal"]
ZE_COMMAND_QUEUE_PRIORITY_HIGH = 2,
}
+#[doc = ""]
+#[doc = " @brief Supported command queue priorities"]
pub use self::_ze_command_queue_priority_t as ze_command_queue_priority_t;
#[doc = ""]
#[doc = " @brief Command Queue descriptor"]
@@ -2680,8 +2688,6 @@ extern "C" {
#[doc = " @remarks"]
#[doc = " _Analogues_"]
#[doc = " - **clCreateCommandQueue**"]
- #[doc = " - cuCtxCreate"]
- #[doc = " - cuCtxGetCurrent"]
#[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
@@ -2722,7 +2728,6 @@ extern "C" {
#[doc = " @remarks"]
#[doc = " _Analogues_"]
#[doc = " - **clReleaseCommandQueue**"]
- #[doc = " - cuCtxDestroy"]
#[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
@@ -2785,16 +2790,18 @@ extern "C" {
timeout: u32,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_command_list_desc_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_command_list_desc_version_t {
- #[doc = "< version 1.0"]
- ZE_COMMAND_LIST_DESC_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_COMMAND_LIST_DESC_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_command_list_desc_t"]
pub use self::_ze_command_list_desc_version_t as ze_command_list_desc_version_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported command list creation flags"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -2823,6 +2830,8 @@ pub enum _ze_command_list_flag_t {
#[doc = "< multi-engine submission and scheduling."]
ZE_COMMAND_LIST_FLAG_EXPLICIT_ONLY = 8,
}
+#[doc = ""]
+#[doc = " @brief Supported command list creation flags"]
pub use self::_ze_command_list_flag_t as ze_command_list_flag_t;
#[doc = ""]
#[doc = " @brief Command List descriptor"]
@@ -2995,1420 +3004,18 @@ extern "C" {
#[doc = " + `nullptr == hCommandList`"]
pub fn zeCommandListReset(hCommandList: ze_command_list_handle_t) -> ze_result_t;
}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Appends an execution and global memory barrier into a command list."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - If numWaitEvents is zero, then all previous commands are completed"]
- #[doc = " prior to the execution of the barrier."]
- #[doc = " - If numWaitEvents is non-zero, then then all phWaitEvents must be"]
- #[doc = " signalled prior to the execution of the barrier."]
- #[doc = " - This command blocks all following commands from beginning until the"]
- #[doc = " execution of the barrier completes."]
- #[doc = " - Memory and cache hierarchies are flushed and invalidated sufficient"]
- #[doc = " for device and host access."]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command list handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **vkCmdPipelineBarrier**"]
- #[doc = " - clEnqueueBarrierWithWaitList"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandList`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- pub fn zeCommandListAppendBarrier(
- hCommandList: ze_command_list_handle_t,
- hSignalEvent: ze_event_handle_t,
- numWaitEvents: u32,
- phWaitEvents: *mut ze_event_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Appends a global memory ranges barrier into a command list."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - If numWaitEvents is zero, then all previous commands are completed"]
- #[doc = " prior to the execution of the barrier."]
- #[doc = " - If numWaitEvents is non-zero, then then all phWaitEvents must be"]
- #[doc = " signalled prior to the execution of the barrier."]
- #[doc = " - This command blocks all following commands from beginning until the"]
- #[doc = " execution of the barrier completes."]
- #[doc = " - Memory and cache hierarchies are flushed and invalidated sufficient"]
- #[doc = " for device and host access."]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command list handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandList`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == pRangeSizes`"]
- #[doc = " + `nullptr == pRanges`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- pub fn zeCommandListAppendMemoryRangesBarrier(
- hCommandList: ze_command_list_handle_t,
- numRanges: u32,
- pRangeSizes: *const usize,
- pRanges: *mut *const ::std::os::raw::c_void,
- hSignalEvent: ze_event_handle_t,
- numWaitEvents: u32,
- phWaitEvents: *mut ze_event_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Ensures in-bound writes to the device are globally observable."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - This is a special-case system level barrier that can be used to ensure"]
- #[doc = " global observability of writes; typically needed after a producer"]
- #[doc = " (e.g., NIC) performs direct writes to the device's memory (e.g.,"]
- #[doc = " Direct RDMA writes). This is typically required when the memory"]
- #[doc = " corresponding to the writes is subsequently accessed from a remote"]
- #[doc = " device."]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hDevice`"]
- pub fn zeDeviceSystemBarrier(hDevice: ze_device_handle_t) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Copies host, device, or shared memory."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The memory pointed to by both srcptr and dstptr must be accessible by"]
- #[doc = " the device on which the command list is created."]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command list handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **clEnqueueCopyBuffer**"]
- #[doc = " - **clEnqueueReadBuffer**"]
- #[doc = " - **clEnqueueWriteBuffer**"]
- #[doc = " - **clEnqueueSVMMemcpy**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandList`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == dstptr`"]
- #[doc = " + `nullptr == srcptr`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- pub fn zeCommandListAppendMemoryCopy(
- hCommandList: ze_command_list_handle_t,
- dstptr: *mut ::std::os::raw::c_void,
- srcptr: *const ::std::os::raw::c_void,
- size: usize,
- hEvent: ze_event_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Initializes host, device, or shared memory."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The memory pointed to by dstptr must be accessible by the device on"]
- #[doc = " which the command list is created."]
- #[doc = " - The value to initialize memory to is described by the pattern and the"]
- #[doc = " pattern size."]
- #[doc = " - The pattern size must be a power of two."]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command list handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **clEnqueueFillBuffer**"]
- #[doc = " - **clEnqueueSVMMemFill**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandList`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == ptr`"]
- #[doc = " + `nullptr == pattern`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- pub fn zeCommandListAppendMemoryFill(
- hCommandList: ze_command_list_handle_t,
- ptr: *mut ::std::os::raw::c_void,
- pattern: *const ::std::os::raw::c_void,
- pattern_size: usize,
- size: usize,
- hEvent: ze_event_handle_t,
- ) -> ze_result_t;
-}
-#[doc = ""]
-#[doc = " @brief Copy region descriptor"]
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _ze_copy_region_t {
- #[doc = "< [in] The origin x offset for region in bytes"]
- pub originX: u32,
- #[doc = "< [in] The origin y offset for region in rows"]
- pub originY: u32,
- #[doc = "< [in] The origin z offset for region in slices"]
- pub originZ: u32,
- #[doc = "< [in] The region width relative to origin in bytes"]
- pub width: u32,
- #[doc = "< [in] The region height relative to origin in rows"]
- pub height: u32,
- #[doc = "< [in] The region depth relative to origin in slices. Set this to 0 for"]
- #[doc = "< 2D copy."]
- pub depth: u32,
-}
-#[test]
-fn bindgen_test_layout__ze_copy_region_t() {
- assert_eq!(
- ::std::mem::size_of::<_ze_copy_region_t>(),
- 24usize,
- concat!("Size of: ", stringify!(_ze_copy_region_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_ze_copy_region_t>(),
- 4usize,
- concat!("Alignment of ", stringify!(_ze_copy_region_t))
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_copy_region_t>())).originX as *const _ as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_copy_region_t),
- "::",
- stringify!(originX)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_copy_region_t>())).originY as *const _ as usize },
- 4usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_copy_region_t),
- "::",
- stringify!(originY)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_copy_region_t>())).originZ as *const _ as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_copy_region_t),
- "::",
- stringify!(originZ)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_copy_region_t>())).width as *const _ as usize },
- 12usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_copy_region_t),
- "::",
- stringify!(width)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_copy_region_t>())).height as *const _ as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_copy_region_t),
- "::",
- stringify!(height)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_copy_region_t>())).depth as *const _ as usize },
- 20usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_copy_region_t),
- "::",
- stringify!(depth)
- )
- );
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Copies a region from a 2D or 3D array of host, device, or shared"]
- #[doc = " memory."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The memory pointed to by both srcptr and dstptr must be accessible by"]
- #[doc = " the device on which the command list is created."]
- #[doc = " - The region width, height, and depth for both src and dst must be same."]
- #[doc = " The origins can be different."]
- #[doc = " - The src and dst regions cannot be overlapping."]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command list handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandList`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == dstptr`"]
- #[doc = " + `nullptr == dstRegion`"]
- #[doc = " + `nullptr == srcptr`"]
- #[doc = " + `nullptr == srcRegion`"]
- #[doc = " - ::ZE_RESULT_ERROR_OVERLAPPING_REGIONS"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- pub fn zeCommandListAppendMemoryCopyRegion(
- hCommandList: ze_command_list_handle_t,
- dstptr: *mut ::std::os::raw::c_void,
- dstRegion: *const ze_copy_region_t,
- dstPitch: u32,
- dstSlicePitch: u32,
- srcptr: *const ::std::os::raw::c_void,
- srcRegion: *const ze_copy_region_t,
- srcPitch: u32,
- srcSlicePitch: u32,
- hEvent: ze_event_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Copies a image."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command list handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **clEnqueueCopyImage**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandList`"]
- #[doc = " + `nullptr == hDstImage`"]
- #[doc = " + `nullptr == hSrcImage`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- pub fn zeCommandListAppendImageCopy(
- hCommandList: ze_command_list_handle_t,
- hDstImage: ze_image_handle_t,
- hSrcImage: ze_image_handle_t,
- hEvent: ze_event_handle_t,
- ) -> ze_result_t;
-}
-#[doc = ""]
-#[doc = " @brief Region descriptor"]
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _ze_image_region_t {
- #[doc = "< [in] The origin x offset for region in pixels"]
- pub originX: u32,
- #[doc = "< [in] The origin y offset for region in pixels"]
- pub originY: u32,
- #[doc = "< [in] The origin z offset for region in pixels"]
- pub originZ: u32,
- #[doc = "< [in] The region width relative to origin in pixels"]
- pub width: u32,
- #[doc = "< [in] The region height relative to origin in pixels"]
- pub height: u32,
- #[doc = "< [in] The region depth relative to origin. For 1D or 2D images, set"]
- #[doc = "< this to 1."]
- pub depth: u32,
-}
-#[test]
-fn bindgen_test_layout__ze_image_region_t() {
- assert_eq!(
- ::std::mem::size_of::<_ze_image_region_t>(),
- 24usize,
- concat!("Size of: ", stringify!(_ze_image_region_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_ze_image_region_t>(),
- 4usize,
- concat!("Alignment of ", stringify!(_ze_image_region_t))
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_image_region_t>())).originX as *const _ as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_image_region_t),
- "::",
- stringify!(originX)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_image_region_t>())).originY as *const _ as usize },
- 4usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_image_region_t),
- "::",
- stringify!(originY)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_image_region_t>())).originZ as *const _ as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_image_region_t),
- "::",
- stringify!(originZ)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_image_region_t>())).width as *const _ as usize },
- 12usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_image_region_t),
- "::",
- stringify!(width)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_image_region_t>())).height as *const _ as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_image_region_t),
- "::",
- stringify!(height)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_image_region_t>())).depth as *const _ as usize },
- 20usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_image_region_t),
- "::",
- stringify!(depth)
- )
- );
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Copies a region of a image to another image."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The region width and height for both src and dst must be same. The"]
- #[doc = " origins can be different."]
- #[doc = " - The src and dst regions cannot be overlapping."]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command list handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandList`"]
- #[doc = " + `nullptr == hDstImage`"]
- #[doc = " + `nullptr == hSrcImage`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- #[doc = " - ::ZE_RESULT_ERROR_OVERLAPPING_REGIONS"]
- pub fn zeCommandListAppendImageCopyRegion(
- hCommandList: ze_command_list_handle_t,
- hDstImage: ze_image_handle_t,
- hSrcImage: ze_image_handle_t,
- pDstRegion: *const ze_image_region_t,
- pSrcRegion: *const ze_image_region_t,
- hEvent: ze_event_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Copies from a image to device or shared memory."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The memory pointed to by dstptr must be accessible by the device on"]
- #[doc = " which the command list is created."]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command list handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - clEnqueueReadImage"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandList`"]
- #[doc = " + `nullptr == hSrcImage`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == dstptr`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- pub fn zeCommandListAppendImageCopyToMemory(
- hCommandList: ze_command_list_handle_t,
- dstptr: *mut ::std::os::raw::c_void,
- hSrcImage: ze_image_handle_t,
- pSrcRegion: *const ze_image_region_t,
- hEvent: ze_event_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Copies to a image from device or shared memory."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The memory pointed to by srcptr must be accessible by the device on"]
- #[doc = " which the command list is created."]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command list handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - clEnqueueWriteImage"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandList`"]
- #[doc = " + `nullptr == hDstImage`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == srcptr`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- pub fn zeCommandListAppendImageCopyFromMemory(
- hCommandList: ze_command_list_handle_t,
- hDstImage: ze_image_handle_t,
- srcptr: *const ::std::os::raw::c_void,
- pDstRegion: *const ze_image_region_t,
- hEvent: ze_event_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Asynchronously prefetches shared memory to the device associated with"]
- #[doc = " the specified command list"]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - This is a hint to improve performance only and is not required for"]
- #[doc = " correctness."]
- #[doc = " - Only prefetching to the device associated with the specified command"]
- #[doc = " list is supported."]
- #[doc = " Prefetching to the host or to a peer device is not supported."]
- #[doc = " - Prefetching may not be supported for all allocation types for all devices."]
- #[doc = " If memory prefetching is not supported for the specified memory range"]
- #[doc = " the prefetch hint may be ignored."]
- #[doc = " - Prefetching may only be supported at a device-specific granularity,"]
- #[doc = " such as at a page boundary."]
- #[doc = " In this case, the memory range may be expanded such that the start and"]
- #[doc = " end of the range satisfy granularity requirements."]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command list handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - cudaMemPrefetchAsync"]
- #[doc = " - clEnqueueSVMMigrateMem"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandList`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == ptr`"]
- pub fn zeCommandListAppendMemoryPrefetch(
- hCommandList: ze_command_list_handle_t,
- ptr: *const ::std::os::raw::c_void,
- size: usize,
- ) -> ze_result_t;
-}
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief Supported memory advice hints"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_memory_advice_t {
- #[doc = "< hint that memory will be read from frequently and written to rarely"]
- ZE_MEMORY_ADVICE_SET_READ_MOSTLY = 0,
- #[doc = "< removes the affect of ::ZE_MEMORY_ADVICE_SET_READ_MOSTLY"]
- ZE_MEMORY_ADVICE_CLEAR_READ_MOSTLY = 1,
- #[doc = "< hint that the preferred memory location is the specified device"]
- ZE_MEMORY_ADVICE_SET_PREFERRED_LOCATION = 2,
- #[doc = "< removes the affect of ::ZE_MEMORY_ADVICE_SET_PREFERRED_LOCATION"]
- ZE_MEMORY_ADVICE_CLEAR_PREFERRED_LOCATION = 3,
- #[doc = "< hint that memory will be accessed by the specified device"]
- ZE_MEMORY_ADVICE_SET_ACCESSED_BY = 4,
- #[doc = "< removes the affect of ::ZE_MEMORY_ADVICE_SET_ACCESSED_BY"]
- ZE_MEMORY_ADVICE_CLEAR_ACCESSED_BY = 5,
- #[doc = "< hints that memory will mostly be accessed non-atomically"]
- ZE_MEMORY_ADVICE_SET_NON_ATOMIC_MOSTLY = 6,
- #[doc = "< removes the affect of ::ZE_MEMORY_ADVICE_SET_NON_ATOMIC_MOSTLY"]
- ZE_MEMORY_ADVICE_CLEAR_NON_ATOMIC_MOSTLY = 7,
- #[doc = "< hints that memory should be cached"]
- ZE_MEMORY_ADVICE_BIAS_CACHED = 8,
- #[doc = "< hints that memory should be not be cached"]
- ZE_MEMORY_ADVICE_BIAS_UNCACHED = 9,
-}
-pub use self::_ze_memory_advice_t as ze_memory_advice_t;
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Provides advice about the use of a shared memory range"]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - Memory advice is a performance hint only and is not required for"]
- #[doc = " functional correctness."]
- #[doc = " - Memory advice can be used to override driver heuristics to explicitly"]
- #[doc = " control shared memory behavior."]
- #[doc = " - Not all memory advice hints may be supported for all allocation types"]
- #[doc = " for all devices."]
- #[doc = " If a memory advice hint is not supported by the device it will be ignored."]
- #[doc = " - Memory advice may only be supported at a device-specific granularity,"]
- #[doc = " such as at a page boundary."]
- #[doc = " In this case, the memory range may be expanded such that the start and"]
- #[doc = " end of the range satisfy granularity requirements."]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command list handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cudaMemAdvise**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandList`"]
- #[doc = " + `nullptr == hDevice`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == ptr`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
- #[doc = " + advice"]
- pub fn zeCommandListAppendMemAdvise(
- hCommandList: ze_command_list_handle_t,
- hDevice: ze_device_handle_t,
- ptr: *const ::std::os::raw::c_void,
- size: usize,
- advice: ze_memory_advice_t,
- ) -> ze_result_t;
-}
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief API version of ::ze_event_pool_desc_t"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_event_pool_desc_version_t {
- #[doc = "< version 1.0"]
- ZE_EVENT_POOL_DESC_VERSION_CURRENT = 65536,
-}
-pub use self::_ze_event_pool_desc_version_t as ze_event_pool_desc_version_t;
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief Supported event pool creation flags"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_event_pool_flag_t {
- #[doc = "< signals and waits visible to the entire device and peer devices"]
- ZE_EVENT_POOL_FLAG_DEFAULT = 0,
- #[doc = "< signals and waits are also visible to host"]
- ZE_EVENT_POOL_FLAG_HOST_VISIBLE = 1,
- #[doc = "< signals and waits may be shared across processes"]
- ZE_EVENT_POOL_FLAG_IPC = 2,
- #[doc = "< Indicates all events in pool will contain timestamp information that"]
- #[doc = "< can be queried using ::zeEventGetTimestamp"]
- ZE_EVENT_POOL_FLAG_TIMESTAMP = 4,
-}
-pub use self::_ze_event_pool_flag_t as ze_event_pool_flag_t;
-#[doc = ""]
-#[doc = " @brief Event pool descriptor"]
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _ze_event_pool_desc_t {
- #[doc = "< [in] ::ZE_EVENT_POOL_DESC_VERSION_CURRENT"]
- pub version: ze_event_pool_desc_version_t,
- #[doc = "< [in] creation flags"]
- pub flags: ze_event_pool_flag_t,
- #[doc = "< [in] number of events within the pool"]
- pub count: u32,
-}
-#[test]
-fn bindgen_test_layout__ze_event_pool_desc_t() {
- assert_eq!(
- ::std::mem::size_of::<_ze_event_pool_desc_t>(),
- 12usize,
- concat!("Size of: ", stringify!(_ze_event_pool_desc_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_ze_event_pool_desc_t>(),
- 4usize,
- concat!("Alignment of ", stringify!(_ze_event_pool_desc_t))
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_event_pool_desc_t>())).version as *const _ as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_event_pool_desc_t),
- "::",
- stringify!(version)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_event_pool_desc_t>())).flags as *const _ as usize },
- 4usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_event_pool_desc_t),
- "::",
- stringify!(flags)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_event_pool_desc_t>())).count as *const _ as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_event_pool_desc_t),
- "::",
- stringify!(count)
- )
- );
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Creates a pool for a set of event(s) for the driver"]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hDriver`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == desc`"]
- #[doc = " + `nullptr == phEventPool`"]
- #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION"]
- #[doc = " + `::ZE_EVENT_POOL_DESC_VERSION_CURRENT < desc->version`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
- #[doc = " + desc->flags"]
- #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY"]
- #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY"]
- pub fn zeEventPoolCreate(
- hDriver: ze_driver_handle_t,
- desc: *const ze_event_pool_desc_t,
- numDevices: u32,
- phDevices: *mut ze_device_handle_t,
- phEventPool: *mut ze_event_pool_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Deletes an event pool object."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application is responsible for destroying all event handles"]
- #[doc = " created from the pool before destroying the pool itself"]
- #[doc = " - The application is responsible for making sure the device is not"]
- #[doc = " currently referencing the any event within the pool before it is"]
- #[doc = " deleted"]
- #[doc = " - The implementation of this function will immediately free all Host and"]
- #[doc = " Device allocations associated with this event pool"]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same event pool handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hEventPool`"]
- #[doc = " - ::ZE_RESULT_ERROR_HANDLE_OBJECT_IN_USE"]
- pub fn zeEventPoolDestroy(hEventPool: ze_event_pool_handle_t) -> ze_result_t;
-}
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief API version of ::ze_event_desc_t"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_event_desc_version_t {
- #[doc = "< version 1.0"]
- ZE_EVENT_DESC_VERSION_CURRENT = 65536,
-}
-pub use self::_ze_event_desc_version_t as ze_event_desc_version_t;
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief Supported event scope flags"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_event_scope_flag_t {
- #[doc = "< execution synchronization only; no cache hierarchies are flushed or"]
- #[doc = "< invalidated"]
- ZE_EVENT_SCOPE_FLAG_NONE = 0,
- #[doc = "< cache hierarchies are flushed or invalidated sufficient for local"]
- #[doc = "< sub-device access"]
- ZE_EVENT_SCOPE_FLAG_SUBDEVICE = 1,
- #[doc = "< cache hierarchies are flushed or invalidated sufficient for global"]
- #[doc = "< device access and peer device access"]
- ZE_EVENT_SCOPE_FLAG_DEVICE = 2,
- #[doc = "< cache hierarchies are flushed or invalidated sufficient for device and"]
- #[doc = "< host access"]
- ZE_EVENT_SCOPE_FLAG_HOST = 4,
-}
-pub use self::_ze_event_scope_flag_t as ze_event_scope_flag_t;
-#[doc = ""]
-#[doc = " @brief Event descriptor"]
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _ze_event_desc_t {
- #[doc = "< [in] ::ZE_EVENT_DESC_VERSION_CURRENT"]
- pub version: ze_event_desc_version_t,
- #[doc = "< [in] index of the event within the pool; must be less-than the count"]
- #[doc = "< specified during pool creation"]
- pub index: u32,
- #[doc = "< [in] defines the scope of relevant cache hierarchies to flush on a"]
- #[doc = "< signal action before the event is triggered"]
- pub signal: ze_event_scope_flag_t,
- #[doc = "< [in] defines the scope of relevant cache hierarchies to invalidate on"]
- #[doc = "< a wait action after the event is complete"]
- pub wait: ze_event_scope_flag_t,
-}
-#[test]
-fn bindgen_test_layout__ze_event_desc_t() {
- assert_eq!(
- ::std::mem::size_of::<_ze_event_desc_t>(),
- 16usize,
- concat!("Size of: ", stringify!(_ze_event_desc_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_ze_event_desc_t>(),
- 4usize,
- concat!("Alignment of ", stringify!(_ze_event_desc_t))
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_event_desc_t>())).version as *const _ as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_event_desc_t),
- "::",
- stringify!(version)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_event_desc_t>())).index as *const _ as usize },
- 4usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_event_desc_t),
- "::",
- stringify!(index)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_event_desc_t>())).signal as *const _ as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_event_desc_t),
- "::",
- stringify!(signal)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_event_desc_t>())).wait as *const _ as usize },
- 12usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_event_desc_t),
- "::",
- stringify!(wait)
- )
- );
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Creates an event on the device."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - Multiple events cannot be created using the same location within the"]
- #[doc = " same pool."]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **clCreateUserEvent**"]
- #[doc = " - vkCreateEvent"]
- #[doc = " - cuEventCreate"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hEventPool`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == desc`"]
- #[doc = " + `nullptr == phEvent`"]
- #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION"]
- #[doc = " + `::ZE_EVENT_DESC_VERSION_CURRENT < desc->version`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
- #[doc = " + desc->signal"]
- #[doc = " + desc->wait"]
- #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY"]
- pub fn zeEventCreate(
- hEventPool: ze_event_pool_handle_t,
- desc: *const ze_event_desc_t,
- phEvent: *mut ze_event_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Deletes an event object."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application is responsible for making sure the device is not"]
- #[doc = " currently referencing the event before it is deleted"]
- #[doc = " - The implementation of this function will immediately free all Host and"]
- #[doc = " Device allocations associated with this event"]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same event handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **clReleaseEvent**"]
- #[doc = " - vkDestroyEvent"]
- #[doc = " - cuEventDestroy"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hEvent`"]
- #[doc = " - ::ZE_RESULT_ERROR_HANDLE_OBJECT_IN_USE"]
- pub fn zeEventDestroy(hEvent: ze_event_handle_t) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Gets an IPC event pool handle for the specified event handle that can"]
- #[doc = " be shared with another process."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuIpcGetEventHandle**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hEventPool`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == phIpc`"]
- pub fn zeEventPoolGetIpcHandle(
- hEventPool: ze_event_pool_handle_t,
- phIpc: *mut ze_ipc_event_pool_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Opens an IPC event pool handle to retrieve an event pool handle from"]
- #[doc = " another process."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The event handle in this process should not be freed with"]
- #[doc = " ::zeEventPoolDestroy, but rather with ::zeEventPoolCloseIpcHandle."]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuIpcOpenMemHandle**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hDriver`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == phEventPool`"]
- pub fn zeEventPoolOpenIpcHandle(
- hDriver: ze_driver_handle_t,
- hIpc: ze_ipc_event_pool_handle_t,
- phEventPool: *mut ze_event_pool_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Closes an IPC event handle in the current process."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - Closes an IPC event handle by destroying events that were opened in"]
- #[doc = " this process using ::zeEventPoolOpenIpcHandle."]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same event pool handle."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuIpcCloseMemHandle**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hEventPool`"]
- pub fn zeEventPoolCloseIpcHandle(hEventPool: ze_event_pool_handle_t) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Appends a signal of the event from the device into a command list."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command list handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **clSetUserEventStatus**"]
- #[doc = " - cuEventRecord"]
- #[doc = " - vkCmdSetEvent"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandList`"]
- #[doc = " + `nullptr == hEvent`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- pub fn zeCommandListAppendSignalEvent(
- hCommandList: ze_command_list_handle_t,
- hEvent: ze_event_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Appends wait on event(s) on the device into a command list."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command list handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandList`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == phEvents`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- pub fn zeCommandListAppendWaitOnEvents(
- hCommandList: ze_command_list_handle_t,
- numEvents: u32,
- phEvents: *mut ze_event_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Signals a event from host."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - clSetUserEventStatus"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hEvent`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- pub fn zeEventHostSignal(hEvent: ze_event_handle_t) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief The current host thread waits on an event to be signalled."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - clWaitForEvents"]
- #[doc = " - cuEventSynchronize"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hEvent`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- #[doc = " - ::ZE_RESULT_NOT_READY"]
- #[doc = " + timeout expired"]
- pub fn zeEventHostSynchronize(hEvent: ze_event_handle_t, timeout: u32) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Queries an event object's status."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **clGetEventInfo**"]
- #[doc = " - vkGetEventStatus"]
- #[doc = " - cuEventQuery"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hEvent`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- #[doc = " - ::ZE_RESULT_NOT_READY"]
- #[doc = " + not signaled"]
- pub fn zeEventQueryStatus(hEvent: ze_event_handle_t) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Reset an event back to not signaled state"]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command list handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - vkResetEvent"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandList`"]
- #[doc = " + `nullptr == hEvent`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- pub fn zeCommandListAppendEventReset(
- hCommandList: ze_command_list_handle_t,
- hEvent: ze_event_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Reset an event back to not signaled state"]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - vkResetEvent"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hEvent`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- pub fn zeEventHostReset(hEvent: ze_event_handle_t) -> ze_result_t;
-}
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief Supported timestamp types"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_event_timestamp_type_t {
- #[doc = "< wall-clock time start in GPU clocks for event. Data is uint64_t."]
- ZE_EVENT_TIMESTAMP_GLOBAL_START = 0,
- #[doc = "< wall-clock time end in GPU clocks for event.Data is uint64_t."]
- ZE_EVENT_TIMESTAMP_GLOBAL_END = 1,
- #[doc = "< context time start in GPU clocks for event. Only includes time while"]
- #[doc = "< HW context is actively running on GPU. Data is uint64_t."]
- ZE_EVENT_TIMESTAMP_CONTEXT_START = 2,
- #[doc = "< context time end in GPU clocks for event. Only includes time while HW"]
- #[doc = "< context is actively running on GPU. Data is uint64_t."]
- ZE_EVENT_TIMESTAMP_CONTEXT_END = 3,
-}
-pub use self::_ze_event_timestamp_type_t as ze_event_timestamp_type_t;
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Query timestamp information associated with an event. Event must come"]
- #[doc = " from an event pool that was created using"]
- #[doc = " ::ZE_EVENT_POOL_FLAG_TIMESTAMP flag."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hEvent`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
- #[doc = " + timestampType"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == dstptr`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- pub fn zeEventGetTimestamp(
- hEvent: ze_event_handle_t,
- timestampType: ze_event_timestamp_type_t,
- dstptr: *mut ::std::os::raw::c_void,
- ) -> ze_result_t;
-}
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief API version of ::ze_fence_desc_t"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_fence_desc_version_t {
- #[doc = "< version 1.0"]
- ZE_FENCE_DESC_VERSION_CURRENT = 65536,
-}
-pub use self::_ze_fence_desc_version_t as ze_fence_desc_version_t;
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief Supported fence creation flags"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_fence_flag_t {
- #[doc = "< default behavior"]
- ZE_FENCE_FLAG_NONE = 0,
-}
-pub use self::_ze_fence_flag_t as ze_fence_flag_t;
-#[doc = ""]
-#[doc = " @brief Fence descriptor"]
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _ze_fence_desc_t {
- #[doc = "< [in] ::ZE_FENCE_DESC_VERSION_CURRENT"]
- pub version: ze_fence_desc_version_t,
- #[doc = "< [in] creation flags"]
- pub flags: ze_fence_flag_t,
-}
-#[test]
-fn bindgen_test_layout__ze_fence_desc_t() {
- assert_eq!(
- ::std::mem::size_of::<_ze_fence_desc_t>(),
- 8usize,
- concat!("Size of: ", stringify!(_ze_fence_desc_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_ze_fence_desc_t>(),
- 4usize,
- concat!("Alignment of ", stringify!(_ze_fence_desc_t))
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_fence_desc_t>())).version as *const _ as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_fence_desc_t),
- "::",
- stringify!(version)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_fence_desc_t>())).flags as *const _ as usize },
- 4usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_fence_desc_t),
- "::",
- stringify!(flags)
- )
- );
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Creates a fence object on the device's command queue."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **vkCreateFence**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hCommandQueue`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == desc`"]
- #[doc = " + `nullptr == phFence`"]
- #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION"]
- #[doc = " + `::ZE_FENCE_DESC_VERSION_CURRENT < desc->version`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
- #[doc = " + desc->flags"]
- #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY"]
- #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY"]
- pub fn zeFenceCreate(
- hCommandQueue: ze_command_queue_handle_t,
- desc: *const ze_fence_desc_t,
- phFence: *mut ze_fence_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Deletes a fence object."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application is responsible for making sure the device is not"]
- #[doc = " currently referencing the fence before it is deleted"]
- #[doc = " - The implementation of this function will immediately free all Host and"]
- #[doc = " Device allocations associated with this fence"]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same fence handle."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **vkDestroyFence**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hFence`"]
- #[doc = " - ::ZE_RESULT_ERROR_HANDLE_OBJECT_IN_USE"]
- pub fn zeFenceDestroy(hFence: ze_fence_handle_t) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief The current host thread waits on a fence to be signaled."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **vkWaitForFences**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hFence`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- #[doc = " - ::ZE_RESULT_NOT_READY"]
- #[doc = " + timeout expired"]
- pub fn zeFenceHostSynchronize(hFence: ze_fence_handle_t, timeout: u32) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Queries a fence object's status."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **vkGetFenceStatus**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hFence`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
- #[doc = " - ::ZE_RESULT_NOT_READY"]
- #[doc = " + not signaled"]
- pub fn zeFenceQueryStatus(hFence: ze_fence_handle_t) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Reset a fence back to the not signaled state."]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = " - The implementation of this function should be lock-free."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **vkResetFences**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hFence`"]
- pub fn zeFenceReset(hFence: ze_fence_handle_t) -> ze_result_t;
-}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_image_desc_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_image_desc_version_t {
- #[doc = "< version 1.0"]
- ZE_IMAGE_DESC_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_IMAGE_DESC_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_image_desc_t"]
pub use self::_ze_image_desc_version_t as ze_image_desc_version_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported image creation flags"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -4422,8 +3029,10 @@ pub enum _ze_image_flag_t {
#[doc = "< device should not cache contents"]
ZE_IMAGE_FLAG_BIAS_UNCACHED = 8,
}
+#[doc = ""]
+#[doc = " @brief Supported image creation flags"]
pub use self::_ze_image_flag_t as ze_image_flag_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported image types"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -4441,8 +3050,10 @@ pub enum _ze_image_type_t {
#[doc = "< Buffer"]
ZE_IMAGE_TYPE_BUFFER = 5,
}
+#[doc = ""]
+#[doc = " @brief Supported image types"]
pub use self::_ze_image_type_t as ze_image_type_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported image format layouts"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -4508,8 +3119,10 @@ pub enum _ze_image_format_layout_t {
#[doc = "< Media Format: P416. Format type and swizzle is ignored for this."]
ZE_IMAGE_FORMAT_LAYOUT_P416 = 29,
}
+#[doc = ""]
+#[doc = " @brief Supported image format layouts"]
pub use self::_ze_image_format_layout_t as ze_image_format_layout_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported image format types"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -4525,8 +3138,10 @@ pub enum _ze_image_format_type_t {
#[doc = "< Float"]
ZE_IMAGE_FORMAT_TYPE_FLOAT = 4,
}
+#[doc = ""]
+#[doc = " @brief Supported image format types"]
pub use self::_ze_image_format_type_t as ze_image_format_type_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported image format component swizzle into channel"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -4546,6 +3161,8 @@ pub enum _ze_image_format_swizzle_t {
#[doc = "< Don't care"]
ZE_IMAGE_FORMAT_SWIZZLE_X = 6,
}
+#[doc = ""]
+#[doc = " @brief Supported image format component swizzle into channel"]
pub use self::_ze_image_format_swizzle_t as ze_image_format_swizzle_t;
#[doc = ""]
#[doc = " @brief Image format descriptor"]
@@ -4554,7 +3171,7 @@ pub use self::_ze_image_format_swizzle_t as ze_image_format_swizzle_t;
pub struct _ze_image_format_desc_t {
#[doc = "< [in] image format component layout"]
pub layout: ze_image_format_layout_t,
- #[doc = "< [in] image format type. Media formats can not be used for"]
+ #[doc = "< [in] image format type. Media formats can't be used for"]
#[doc = "< ::ZE_IMAGE_TYPE_BUFFER."]
pub type_: ze_image_format_type_t,
#[doc = "< [in] image component swizzle into channel x"]
@@ -4771,16 +3388,18 @@ fn bindgen_test_layout__ze_image_desc_t() {
)
);
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_image_properties_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_image_properties_version_t {
- #[doc = "< version 1.0"]
- ZE_IMAGE_PROPERTIES_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_IMAGE_PROPERTIES_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_image_properties_t"]
pub use self::_ze_image_properties_version_t as ze_image_properties_version_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported sampler filtering flags"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -4792,6 +3411,8 @@ pub enum _ze_image_sampler_filter_flags_t {
#[doc = "< device supports linear filtering"]
ZE_IMAGE_SAMPLER_FILTER_FLAGS_LINEAR = 2,
}
+#[doc = ""]
+#[doc = " @brief Supported sampler filtering flags"]
pub use self::_ze_image_sampler_filter_flags_t as ze_image_sampler_filter_flags_t;
#[doc = ""]
#[doc = " @brief Image properties"]
@@ -4927,580 +3548,109 @@ extern "C" {
#[doc = " - ::ZE_RESULT_ERROR_HANDLE_OBJECT_IN_USE"]
pub fn zeImageDestroy(hImage: ze_image_handle_t) -> ze_result_t;
}
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief API version of ::ze_device_mem_alloc_desc_t"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_device_mem_alloc_desc_version_t {
- #[doc = "< version 1.0"]
- ZE_DEVICE_MEM_ALLOC_DESC_VERSION_CURRENT = 65536,
-}
-pub use self::_ze_device_mem_alloc_desc_version_t as ze_device_mem_alloc_desc_version_t;
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief Supported memory allocation flags"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_device_mem_alloc_flag_t {
- #[doc = "< implicit default behavior; uses driver-based heuristics"]
- ZE_DEVICE_MEM_ALLOC_FLAG_DEFAULT = 0,
- #[doc = "< device should cache allocation"]
- ZE_DEVICE_MEM_ALLOC_FLAG_BIAS_CACHED = 1,
- #[doc = "< device should not cache allocation (UC)"]
- ZE_DEVICE_MEM_ALLOC_FLAG_BIAS_UNCACHED = 2,
-}
-pub use self::_ze_device_mem_alloc_flag_t as ze_device_mem_alloc_flag_t;
-#[doc = ""]
-#[doc = " @brief Device mem alloc descriptor"]
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _ze_device_mem_alloc_desc_t {
- #[doc = "< [in] ::ZE_DEVICE_MEM_ALLOC_DESC_VERSION_CURRENT"]
- pub version: ze_device_mem_alloc_desc_version_t,
- #[doc = "< [in] flags specifying additional allocation controls"]
- pub flags: ze_device_mem_alloc_flag_t,
- #[doc = "< [in] ordinal of the device's local memory to allocate from;"]
- #[doc = "< must be less than the count returned from ::zeDeviceGetMemoryProperties"]
- pub ordinal: u32,
-}
-#[test]
-fn bindgen_test_layout__ze_device_mem_alloc_desc_t() {
- assert_eq!(
- ::std::mem::size_of::<_ze_device_mem_alloc_desc_t>(),
- 12usize,
- concat!("Size of: ", stringify!(_ze_device_mem_alloc_desc_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_ze_device_mem_alloc_desc_t>(),
- 4usize,
- concat!("Alignment of ", stringify!(_ze_device_mem_alloc_desc_t))
- );
- assert_eq!(
- unsafe {
- &(*(::std::ptr::null::<_ze_device_mem_alloc_desc_t>())).version as *const _ as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_device_mem_alloc_desc_t),
- "::",
- stringify!(version)
- )
- );
- assert_eq!(
- unsafe {
- &(*(::std::ptr::null::<_ze_device_mem_alloc_desc_t>())).flags as *const _ as usize
- },
- 4usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_device_mem_alloc_desc_t),
- "::",
- stringify!(flags)
- )
- );
- assert_eq!(
- unsafe {
- &(*(::std::ptr::null::<_ze_device_mem_alloc_desc_t>())).ordinal as *const _ as usize
- },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_device_mem_alloc_desc_t),
- "::",
- stringify!(ordinal)
- )
- );
-}
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief API version of ::ze_host_mem_alloc_desc_t"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_host_mem_alloc_desc_version_t {
- #[doc = "< version 1.0"]
- ZE_HOST_MEM_ALLOC_DESC_VERSION_CURRENT = 65536,
-}
-pub use self::_ze_host_mem_alloc_desc_version_t as ze_host_mem_alloc_desc_version_t;
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief Supported host memory allocation flags"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_host_mem_alloc_flag_t {
- #[doc = "< implicit default behavior; uses driver-based heuristics"]
- ZE_HOST_MEM_ALLOC_FLAG_DEFAULT = 0,
- #[doc = "< host should cache allocation"]
- ZE_HOST_MEM_ALLOC_FLAG_BIAS_CACHED = 1,
- #[doc = "< host should not cache allocation (UC)"]
- ZE_HOST_MEM_ALLOC_FLAG_BIAS_UNCACHED = 2,
- #[doc = "< host memory should be allocated write-combined (WC)"]
- ZE_HOST_MEM_ALLOC_FLAG_BIAS_WRITE_COMBINED = 4,
-}
-pub use self::_ze_host_mem_alloc_flag_t as ze_host_mem_alloc_flag_t;
-#[doc = ""]
-#[doc = " @brief Host mem alloc descriptor"]
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _ze_host_mem_alloc_desc_t {
- #[doc = "< [in] ::ZE_HOST_MEM_ALLOC_DESC_VERSION_CURRENT"]
- pub version: ze_host_mem_alloc_desc_version_t,
- #[doc = "< [in] flags specifying additional allocation controls"]
- pub flags: ze_host_mem_alloc_flag_t,
-}
-#[test]
-fn bindgen_test_layout__ze_host_mem_alloc_desc_t() {
- assert_eq!(
- ::std::mem::size_of::<_ze_host_mem_alloc_desc_t>(),
- 8usize,
- concat!("Size of: ", stringify!(_ze_host_mem_alloc_desc_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_ze_host_mem_alloc_desc_t>(),
- 4usize,
- concat!("Alignment of ", stringify!(_ze_host_mem_alloc_desc_t))
- );
- assert_eq!(
- unsafe {
- &(*(::std::ptr::null::<_ze_host_mem_alloc_desc_t>())).version as *const _ as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_host_mem_alloc_desc_t),
- "::",
- stringify!(version)
- )
- );
- assert_eq!(
- unsafe { &(*(::std::ptr::null::<_ze_host_mem_alloc_desc_t>())).flags as *const _ as usize },
- 4usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_host_mem_alloc_desc_t),
- "::",
- stringify!(flags)
- )
- );
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Allocates memory that is shared between the host and one or more"]
- #[doc = " devices"]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - Shared allocations share ownership between the host and one or more"]
- #[doc = " devices."]
- #[doc = " - Shared allocations may optionally be associated with a device by"]
- #[doc = " passing a handle to the device."]
- #[doc = " - Devices supporting only single-device shared access capabilities may"]
- #[doc = " access shared memory associated with the device."]
- #[doc = " For these devices, ownership of the allocation is shared between the"]
- #[doc = " host and the associated device only."]
- #[doc = " - Passing nullptr as the device handle does not associate the shared"]
- #[doc = " allocation with any device."]
- #[doc = " For allocations with no associated device, ownership of the allocation"]
- #[doc = " is shared between the host and all devices supporting cross-device"]
- #[doc = " shared access capabilities."]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cudaMallocManaged**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hDriver`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == device_desc`"]
- #[doc = " + `nullptr == host_desc`"]
- #[doc = " + `nullptr == pptr`"]
- #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION"]
- #[doc = " + `::ZE_DEVICE_MEM_ALLOC_DESC_VERSION_CURRENT < device_desc->version`"]
- #[doc = " + `::ZE_HOST_MEM_ALLOC_DESC_VERSION_CURRENT < host_desc->version`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
- #[doc = " + device_desc->flags"]
- #[doc = " + host_desc->flags"]
- #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_SIZE"]
- #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_ALIGNMENT"]
- #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY"]
- #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY"]
- pub fn zeDriverAllocSharedMem(
- hDriver: ze_driver_handle_t,
- device_desc: *const ze_device_mem_alloc_desc_t,
- host_desc: *const ze_host_mem_alloc_desc_t,
- size: usize,
- alignment: usize,
- hDevice: ze_device_handle_t,
- pptr: *mut *mut ::std::os::raw::c_void,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Allocates memory specific to a device"]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - A device allocation is owned by a specific device."]
- #[doc = " - In general, a device allocation may only be accessed by the device"]
- #[doc = " that owns it."]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cudaMalloc**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hDriver`"]
- #[doc = " + `nullptr == hDevice`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == device_desc`"]
- #[doc = " + `nullptr == pptr`"]
- #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION"]
- #[doc = " + `::ZE_DEVICE_MEM_ALLOC_DESC_VERSION_CURRENT < device_desc->version`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
- #[doc = " + device_desc->flags"]
- #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_SIZE"]
- #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_ALIGNMENT"]
- #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY"]
- #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY"]
- pub fn zeDriverAllocDeviceMem(
- hDriver: ze_driver_handle_t,
- device_desc: *const ze_device_mem_alloc_desc_t,
- size: usize,
- alignment: usize,
- hDevice: ze_device_handle_t,
- pptr: *mut *mut ::std::os::raw::c_void,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Allocates host memory"]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - A host allocation is owned by the host process."]
- #[doc = " - Host allocations are accessible by the host and all devices within the"]
- #[doc = " driver driver."]
- #[doc = " - Host allocations are frequently used as staging areas to transfer data"]
- #[doc = " to or from devices."]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cudaHostAlloc**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hDriver`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == host_desc`"]
- #[doc = " + `nullptr == pptr`"]
- #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION"]
- #[doc = " + `::ZE_HOST_MEM_ALLOC_DESC_VERSION_CURRENT < host_desc->version`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
- #[doc = " + host_desc->flags"]
- #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_SIZE"]
- #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_ALIGNMENT"]
- #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY"]
- #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY"]
- pub fn zeDriverAllocHostMem(
- hDriver: ze_driver_handle_t,
- host_desc: *const ze_host_mem_alloc_desc_t,
- size: usize,
- alignment: usize,
- pptr: *mut *mut ::std::os::raw::c_void,
- ) -> ze_result_t;
-}
extern "C" {
#[doc = ""]
- #[doc = " @brief Frees allocated host memory, device memory, or shared memory"]
+ #[doc = " @brief Appends an execution and global memory barrier into a command list."]
#[doc = ""]
#[doc = " @details"]
- #[doc = " - The application is responsible for making sure the device is not"]
- #[doc = " currently referencing the memory before it is freed"]
- #[doc = " - The implementation of this function will immediately free all Host and"]
- #[doc = " Device allocations associated with this memory"]
+ #[doc = " - If numWaitEvents is zero, then all previous commands are completed"]
+ #[doc = " prior to the execution of the barrier."]
+ #[doc = " - If numWaitEvents is non-zero, then then all phWaitEvents must be"]
+ #[doc = " signaled prior to the execution of the barrier."]
+ #[doc = " - This command blocks all following commands from beginning until the"]
+ #[doc = " execution of the barrier completes."]
#[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same pointer."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cudaFree**"]
- #[doc = " - **cudaFreeHost**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hDriver`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == ptr`"]
- pub fn zeDriverFreeMem(
- hDriver: ze_driver_handle_t,
- ptr: *mut ::std::os::raw::c_void,
- ) -> ze_result_t;
-}
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief API version of ::ze_memory_allocation_properties_t"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_memory_allocation_properties_version_t {
- #[doc = "< version 1.0"]
- ZE_MEMORY_ALLOCATION_PROPERTIES_VERSION_CURRENT = 65536,
-}
-pub use self::_ze_memory_allocation_properties_version_t as ze_memory_allocation_properties_version_t;
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief Memory allocation type"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_memory_type_t {
- #[doc = "< the memory pointed to is of unknown type"]
- ZE_MEMORY_TYPE_UNKNOWN = 0,
- #[doc = "< the memory pointed to is a host allocation"]
- ZE_MEMORY_TYPE_HOST = 1,
- #[doc = "< the memory pointed to is a device allocation"]
- ZE_MEMORY_TYPE_DEVICE = 2,
- #[doc = "< the memory pointed to is a shared ownership allocation"]
- ZE_MEMORY_TYPE_SHARED = 3,
-}
-pub use self::_ze_memory_type_t as ze_memory_type_t;
-#[doc = ""]
-#[doc = " @brief Memory allocation properties queried using"]
-#[doc = " ::zeDriverGetMemAllocProperties"]
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _ze_memory_allocation_properties_t {
- #[doc = "< [in] ::ZE_MEMORY_ALLOCATION_PROPERTIES_VERSION_CURRENT"]
- pub version: ze_memory_allocation_properties_version_t,
- #[doc = "< [out] type of allocated memory"]
- pub type_: ze_memory_type_t,
- #[doc = "< [out] identifier for this allocation"]
- pub id: u64,
-}
-#[test]
-fn bindgen_test_layout__ze_memory_allocation_properties_t() {
- assert_eq!(
- ::std::mem::size_of::<_ze_memory_allocation_properties_t>(),
- 16usize,
- concat!("Size of: ", stringify!(_ze_memory_allocation_properties_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_ze_memory_allocation_properties_t>(),
- 8usize,
- concat!(
- "Alignment of ",
- stringify!(_ze_memory_allocation_properties_t)
- )
- );
- assert_eq!(
- unsafe {
- &(*(::std::ptr::null::<_ze_memory_allocation_properties_t>())).version as *const _
- as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_memory_allocation_properties_t),
- "::",
- stringify!(version)
- )
- );
- assert_eq!(
- unsafe {
- &(*(::std::ptr::null::<_ze_memory_allocation_properties_t>())).type_ as *const _
- as usize
- },
- 4usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_memory_allocation_properties_t),
- "::",
- stringify!(type_)
- )
- );
- assert_eq!(
- unsafe {
- &(*(::std::ptr::null::<_ze_memory_allocation_properties_t>())).id as *const _ as usize
- },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_ze_memory_allocation_properties_t),
- "::",
- stringify!(id)
- )
- );
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Retrieves attributes of a memory allocation"]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuPointerGetAttribute**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hDriver`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == ptr`"]
- #[doc = " + `nullptr == pMemAllocProperties`"]
- pub fn zeDriverGetMemAllocProperties(
- hDriver: ze_driver_handle_t,
- ptr: *const ::std::os::raw::c_void,
- pMemAllocProperties: *mut ze_memory_allocation_properties_t,
- phDevice: *mut ze_device_handle_t,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Retrieves the base address and/or size of an allocation"]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = " threads with the same command list handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
#[doc = " @remarks"]
#[doc = " _Analogues_"]
- #[doc = " - **cuMemGetAddressRange**"]
+ #[doc = " - **vkCmdPipelineBarrier**"]
+ #[doc = " - clEnqueueBarrierWithWaitList"]
#[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
#[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
#[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hDriver`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == ptr`"]
- pub fn zeDriverGetMemAddressRange(
- hDriver: ze_driver_handle_t,
- ptr: *const ::std::os::raw::c_void,
- pBase: *mut *mut ::std::os::raw::c_void,
- pSize: *mut usize,
+ #[doc = " + `nullptr == hCommandList`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ pub fn zeCommandListAppendBarrier(
+ hCommandList: ze_command_list_handle_t,
+ hSignalEvent: ze_event_handle_t,
+ numWaitEvents: u32,
+ phWaitEvents: *mut ze_event_handle_t,
) -> ze_result_t;
}
extern "C" {
#[doc = ""]
- #[doc = " @brief Creates an IPC memory handle for the specified allocation in the"]
- #[doc = " sending process"]
+ #[doc = " @brief Appends a global memory ranges barrier into a command list."]
#[doc = ""]
#[doc = " @details"]
- #[doc = " - Takes a pointer to the base of a device memory allocation and exports"]
- #[doc = " it for use in another process."]
- #[doc = " - The application may call this function from simultaneous threads."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuIpcGetMemHandle**"]
+ #[doc = " - If numWaitEvents is zero, then all previous commands are completed"]
+ #[doc = " prior to the execution of the barrier."]
+ #[doc = " - If numWaitEvents is non-zero, then then all phWaitEvents must be"]
+ #[doc = " signaled prior to the execution of the barrier."]
+ #[doc = " - This command blocks all following commands from beginning until the"]
+ #[doc = " execution of the barrier completes."]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same command list handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
#[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
#[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hDriver`"]
+ #[doc = " + `nullptr == hCommandList`"]
#[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == ptr`"]
- #[doc = " + `nullptr == pIpcHandle`"]
- pub fn zeDriverGetMemIpcHandle(
- hDriver: ze_driver_handle_t,
- ptr: *const ::std::os::raw::c_void,
- pIpcHandle: *mut ze_ipc_mem_handle_t,
+ #[doc = " + `nullptr == pRangeSizes`"]
+ #[doc = " + `nullptr == pRanges`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ pub fn zeCommandListAppendMemoryRangesBarrier(
+ hCommandList: ze_command_list_handle_t,
+ numRanges: u32,
+ pRangeSizes: *const usize,
+ pRanges: *mut *const ::std::os::raw::c_void,
+ hSignalEvent: ze_event_handle_t,
+ numWaitEvents: u32,
+ phWaitEvents: *mut ze_event_handle_t,
) -> ze_result_t;
}
-#[repr(u32)]
-#[doc = ""]
-#[doc = " @brief Supported IPC memory flags"]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum _ze_ipc_memory_flag_t {
- #[doc = "< No special flags"]
- ZE_IPC_MEMORY_FLAG_NONE = 0,
-}
-pub use self::_ze_ipc_memory_flag_t as ze_ipc_memory_flag_t;
extern "C" {
#[doc = ""]
- #[doc = " @brief Opens an IPC memory handle to retrieve a device pointer in a receiving"]
- #[doc = " process"]
+ #[doc = " @brief Ensures in-bound writes to the device are globally observable."]
#[doc = ""]
#[doc = " @details"]
- #[doc = " - Takes an IPC memory handle from a sending process and associates it"]
- #[doc = " with a device pointer usable in this process."]
- #[doc = " - The device pointer in this process should not be freed with"]
- #[doc = " ::zeDriverFreeMem, but rather with ::zeDriverCloseMemIpcHandle."]
+ #[doc = " - This is a special-case system level barrier that can be used to ensure"]
+ #[doc = " global observability of writes; typically needed after a producer"]
+ #[doc = " (e.g., NIC) performs direct writes to the device's memory (e.g.,"]
+ #[doc = " Direct RDMA writes). This is typically required when the memory"]
+ #[doc = " corresponding to the writes is subsequently accessed from a remote"]
+ #[doc = " device."]
#[doc = " - The application may call this function from simultaneous threads."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuIpcOpenMemHandle**"]
+ #[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
#[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
#[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hDriver`"]
#[doc = " + `nullptr == hDevice`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
- #[doc = " + flags"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == pptr`"]
- pub fn zeDriverOpenMemIpcHandle(
- hDriver: ze_driver_handle_t,
- hDevice: ze_device_handle_t,
- handle: ze_ipc_mem_handle_t,
- flags: ze_ipc_memory_flag_t,
- pptr: *mut *mut ::std::os::raw::c_void,
- ) -> ze_result_t;
-}
-extern "C" {
- #[doc = ""]
- #[doc = " @brief Closes an IPC memory handle in a receiving process"]
- #[doc = ""]
- #[doc = " @details"]
- #[doc = " - Closes an IPC memory handle by unmapping memory that was opened in"]
- #[doc = " this process using ::zeDriverOpenMemIpcHandle."]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same pointer."]
- #[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuIpcCloseMemHandle**"]
- #[doc = ""]
- #[doc = " @returns"]
- #[doc = " - ::ZE_RESULT_SUCCESS"]
- #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
- #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
- #[doc = " + `nullptr == hDriver`"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
- #[doc = " + `nullptr == ptr`"]
- pub fn zeDriverCloseMemIpcHandle(
- hDriver: ze_driver_handle_t,
- ptr: *const ::std::os::raw::c_void,
- ) -> ze_result_t;
+ pub fn zeDeviceSystemBarrier(hDevice: ze_device_handle_t) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_module_desc_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_module_desc_version_t {
- #[doc = "< version 1.0"]
- ZE_MODULE_DESC_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_MODULE_DESC_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_module_desc_t"]
pub use self::_ze_module_desc_version_t as ze_module_desc_version_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported module creation input formats"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -5510,6 +3660,8 @@ pub enum _ze_module_format_t {
#[doc = "< Format is device native format"]
ZE_MODULE_FORMAT_NATIVE = 1,
}
+#[doc = ""]
+#[doc = " @brief Supported module creation input formats"]
pub use self::_ze_module_format_t as ze_module_format_t;
#[doc = ""]
#[doc = " @brief Specialization constants - User defined constants"]
@@ -5688,10 +3840,6 @@ extern "C" {
#[doc = " - The application may call this function from simultaneous threads."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuModuleLoad**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -5734,10 +3882,6 @@ extern "C" {
#[doc = " threads with the same module handle."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuModuleUnload**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -5869,16 +4013,18 @@ extern "C" {
pNames: *mut *const ::std::os::raw::c_char,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_kernel_desc_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_kernel_desc_version_t {
- #[doc = "< version 1.0"]
- ZE_KERNEL_DESC_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_KERNEL_DESC_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_kernel_desc_t"]
pub use self::_ze_kernel_desc_version_t as ze_kernel_desc_version_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Supported kernel creation flags"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -5888,6 +4034,8 @@ pub enum _ze_kernel_flag_t {
#[doc = "< force all device allocations to be resident during execution"]
ZE_KERNEL_FLAG_FORCE_RESIDENCY = 1,
}
+#[doc = ""]
+#[doc = " @brief Supported kernel creation flags"]
pub use self::_ze_kernel_flag_t as ze_kernel_flag_t;
#[doc = ""]
#[doc = " @brief Kernel descriptor"]
@@ -5952,10 +4100,6 @@ extern "C" {
#[doc = " - The application may call this function from simultaneous threads."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuModuleGetFunction**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -6132,7 +4276,7 @@ extern "C" {
pArgValue: *const ::std::os::raw::c_void,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Kernel attributes"]
#[doc = ""]
@@ -6156,6 +4300,12 @@ pub enum _ze_kernel_attribute_t {
#[doc = "< ::zeKernelSetAttribute is not supported for this."]
ZE_KERNEL_ATTR_SOURCE_ATTRIBUTE = 3,
}
+#[doc = ""]
+#[doc = " @brief Kernel attributes"]
+#[doc = ""]
+#[doc = " @remarks"]
+#[doc = " _Analogues_"]
+#[doc = " - **cl_kernel_exec_info**"]
pub use self::_ze_kernel_attribute_t as ze_kernel_attribute_t;
extern "C" {
#[doc = ""]
@@ -6223,10 +4373,6 @@ extern "C" {
#[doc = " - The application may **not** call this function from simultaneous"]
#[doc = " threads with the same kernel handle."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cudaFuncSetCacheConfig **"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -6241,14 +4387,16 @@ extern "C" {
CacheConfig: ze_cache_config_t,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_kernel_properties_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_kernel_properties_version_t {
- #[doc = "< version 1.0"]
- ZE_KERNEL_PROPERTIES_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_KERNEL_PROPERTIES_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_kernel_properties_t"]
pub use self::_ze_kernel_properties_version_t as ze_kernel_properties_version_t;
#[doc = ""]
#[doc = " @brief Kernel properties"]
@@ -6360,10 +4508,6 @@ extern "C" {
#[doc = " - The application may call this function from simultaneous threads."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuFuncGetAttribute**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -6437,16 +4581,12 @@ extern "C" {
#[doc = " @brief Launch kernel over one or more work groups."]
#[doc = ""]
#[doc = " @details"]
- #[doc = " - This may **not** be called for a command list created with"]
- #[doc = " ::ZE_COMMAND_LIST_FLAG_COPY_ONLY."]
+ #[doc = " - This may **only** be called for a command list created with command"]
+ #[doc = " queue group ordinal that supports compute."]
#[doc = " - This function may **not** be called from simultaneous threads with the"]
#[doc = " same command list handle."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuLaunchKernel**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -6471,8 +4611,8 @@ extern "C" {
#[doc = " @brief Launch kernel cooperatively over one or more work groups."]
#[doc = ""]
#[doc = " @details"]
- #[doc = " - This may **not** be called for a command list created with"]
- #[doc = " ::ZE_COMMAND_LIST_FLAG_COPY_ONLY."]
+ #[doc = " - This may **only** be called for a command list created with command"]
+ #[doc = " queue group ordinal that supports compute."]
#[doc = " - This may only be used for a command list that are submitted to command"]
#[doc = " queue with cooperative flag set."]
#[doc = " - This function may **not** be called from simultaneous threads with the"]
@@ -6481,10 +4621,6 @@ extern "C" {
#[doc = " - Use ::zeKernelSuggestMaxCooperativeGroupCount to recommend max group"]
#[doc = " count for device for cooperative functions that device supports."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cudaLaunchCooperativeKernel**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -6512,16 +4648,12 @@ extern "C" {
#[doc = " - The launch arguments need to be device visible."]
#[doc = " - The launch arguments buffer may not be reused until the function has"]
#[doc = " completed on the device."]
- #[doc = " - This may **not** be called for a command list created with"]
- #[doc = " ::ZE_COMMAND_LIST_FLAG_COPY_ONLY."]
+ #[doc = " - This may **only** be called for a command list created with command"]
+ #[doc = " queue group ordinal that supports compute."]
#[doc = " - This function may **not** be called from simultaneous threads with the"]
#[doc = " same command list handle."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuLaunchKernel**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -6550,16 +4682,12 @@ extern "C" {
#[doc = " - The array of launch arguments need to be device visible."]
#[doc = " - The array of launch arguments buffer may not be reused until the"]
#[doc = " kernel has completed on the device."]
- #[doc = " - This may **not** be called for a command list created with"]
- #[doc = " ::ZE_COMMAND_LIST_FLAG_COPY_ONLY."]
+ #[doc = " - This may **only** be called for a command list created with command"]
+ #[doc = " queue group ordinal that supports compute."]
#[doc = " - This function may **not** be called from simultaneous threads with the"]
#[doc = " same command list handle."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuLaunchKernel**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -6685,16 +4813,598 @@ extern "C" {
hImage: ze_image_handle_t,
) -> ze_result_t;
}
-#[repr(u32)]
+#[repr(i32)]
+#[doc = ""]
+#[doc = " @brief API version of ::ze_event_pool_desc_t"]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum _ze_event_pool_desc_version_t {
+ #[doc = "< version 0.91"]
+ ZE_EVENT_POOL_DESC_VERSION_CURRENT = 91,
+}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_event_pool_desc_t"]
+pub use self::_ze_event_pool_desc_version_t as ze_event_pool_desc_version_t;
+#[repr(i32)]
+#[doc = ""]
+#[doc = " @brief Supported event pool creation flags"]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum _ze_event_pool_flag_t {
+ #[doc = "< signals and waits visible to the entire device and peer devices"]
+ ZE_EVENT_POOL_FLAG_DEFAULT = 0,
+ #[doc = "< signals and waits are also visible to host"]
+ ZE_EVENT_POOL_FLAG_HOST_VISIBLE = 1,
+ #[doc = "< signals and waits may be shared across processes"]
+ ZE_EVENT_POOL_FLAG_IPC = 2,
+ #[doc = "< Indicates all events in pool will contain timestamp information that"]
+ #[doc = "< can be queried using ::zeEventGetTimestamp"]
+ ZE_EVENT_POOL_FLAG_TIMESTAMP = 4,
+}
+#[doc = ""]
+#[doc = " @brief Supported event pool creation flags"]
+pub use self::_ze_event_pool_flag_t as ze_event_pool_flag_t;
+#[doc = ""]
+#[doc = " @brief Event pool descriptor"]
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _ze_event_pool_desc_t {
+ #[doc = "< [in] ::ZE_EVENT_POOL_DESC_VERSION_CURRENT"]
+ pub version: ze_event_pool_desc_version_t,
+ #[doc = "< [in] creation flags"]
+ pub flags: ze_event_pool_flag_t,
+ #[doc = "< [in] number of events within the pool"]
+ pub count: u32,
+}
+#[test]
+fn bindgen_test_layout__ze_event_pool_desc_t() {
+ assert_eq!(
+ ::std::mem::size_of::<_ze_event_pool_desc_t>(),
+ 12usize,
+ concat!("Size of: ", stringify!(_ze_event_pool_desc_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_ze_event_pool_desc_t>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(_ze_event_pool_desc_t))
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_event_pool_desc_t>())).version as *const _ as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_event_pool_desc_t),
+ "::",
+ stringify!(version)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_event_pool_desc_t>())).flags as *const _ as usize },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_event_pool_desc_t),
+ "::",
+ stringify!(flags)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_event_pool_desc_t>())).count as *const _ as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_event_pool_desc_t),
+ "::",
+ stringify!(count)
+ )
+ );
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Creates a pool for a set of event(s) for the driver"]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hDriver`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == desc`"]
+ #[doc = " + `nullptr == phEventPool`"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION"]
+ #[doc = " + `::ZE_EVENT_POOL_DESC_VERSION_CURRENT < desc->version`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
+ #[doc = " + desc->flags"]
+ #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY"]
+ #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY"]
+ pub fn zeEventPoolCreate(
+ hDriver: ze_driver_handle_t,
+ desc: *const ze_event_pool_desc_t,
+ numDevices: u32,
+ phDevices: *mut ze_device_handle_t,
+ phEventPool: *mut ze_event_pool_handle_t,
+ ) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Deletes an event pool object."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application is responsible for destroying all event handles"]
+ #[doc = " created from the pool before destroying the pool itself"]
+ #[doc = " - The application is responsible for making sure the device is not"]
+ #[doc = " currently referencing the any event within the pool before it is"]
+ #[doc = " deleted"]
+ #[doc = " - The implementation of this function will immediately free all Host and"]
+ #[doc = " Device allocations associated with this event pool"]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same event pool handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hEventPool`"]
+ #[doc = " - ::ZE_RESULT_ERROR_HANDLE_OBJECT_IN_USE"]
+ pub fn zeEventPoolDestroy(hEventPool: ze_event_pool_handle_t) -> ze_result_t;
+}
+#[repr(i32)]
+#[doc = ""]
+#[doc = " @brief API version of ::ze_event_desc_t"]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum _ze_event_desc_version_t {
+ #[doc = "< version 0.91"]
+ ZE_EVENT_DESC_VERSION_CURRENT = 91,
+}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_event_desc_t"]
+pub use self::_ze_event_desc_version_t as ze_event_desc_version_t;
+#[repr(i32)]
+#[doc = ""]
+#[doc = " @brief Supported event scope flags"]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum _ze_event_scope_flag_t {
+ #[doc = "< execution synchronization only; no cache hierarchies are flushed or"]
+ #[doc = "< invalidated"]
+ ZE_EVENT_SCOPE_FLAG_NONE = 0,
+ #[doc = "< cache hierarchies are flushed or invalidated sufficient for local"]
+ #[doc = "< sub-device access"]
+ ZE_EVENT_SCOPE_FLAG_SUBDEVICE = 1,
+ #[doc = "< cache hierarchies are flushed or invalidated sufficient for global"]
+ #[doc = "< device access and peer device access"]
+ ZE_EVENT_SCOPE_FLAG_DEVICE = 2,
+ #[doc = "< cache hierarchies are flushed or invalidated sufficient for device and"]
+ #[doc = "< host access"]
+ ZE_EVENT_SCOPE_FLAG_HOST = 4,
+}
+#[doc = ""]
+#[doc = " @brief Supported event scope flags"]
+pub use self::_ze_event_scope_flag_t as ze_event_scope_flag_t;
+#[doc = ""]
+#[doc = " @brief Event descriptor"]
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _ze_event_desc_t {
+ #[doc = "< [in] ::ZE_EVENT_DESC_VERSION_CURRENT"]
+ pub version: ze_event_desc_version_t,
+ #[doc = "< [in] index of the event within the pool; must be less-than the count"]
+ #[doc = "< specified during pool creation"]
+ pub index: u32,
+ #[doc = "< [in] defines the scope of relevant cache hierarchies to flush on a"]
+ #[doc = "< signal action before the event is triggered"]
+ pub signal: ze_event_scope_flag_t,
+ #[doc = "< [in] defines the scope of relevant cache hierarchies to invalidate on"]
+ #[doc = "< a wait action after the event is complete"]
+ pub wait: ze_event_scope_flag_t,
+}
+#[test]
+fn bindgen_test_layout__ze_event_desc_t() {
+ assert_eq!(
+ ::std::mem::size_of::<_ze_event_desc_t>(),
+ 16usize,
+ concat!("Size of: ", stringify!(_ze_event_desc_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_ze_event_desc_t>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(_ze_event_desc_t))
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_event_desc_t>())).version as *const _ as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_event_desc_t),
+ "::",
+ stringify!(version)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_event_desc_t>())).index as *const _ as usize },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_event_desc_t),
+ "::",
+ stringify!(index)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_event_desc_t>())).signal as *const _ as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_event_desc_t),
+ "::",
+ stringify!(signal)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_event_desc_t>())).wait as *const _ as usize },
+ 12usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_event_desc_t),
+ "::",
+ stringify!(wait)
+ )
+ );
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Creates an event on the device."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - Multiple events cannot be created using the same location within the"]
+ #[doc = " same pool."]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - **clCreateUserEvent**"]
+ #[doc = " - vkCreateEvent"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hEventPool`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == desc`"]
+ #[doc = " + `nullptr == phEvent`"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION"]
+ #[doc = " + `::ZE_EVENT_DESC_VERSION_CURRENT < desc->version`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
+ #[doc = " + desc->signal"]
+ #[doc = " + desc->wait"]
+ #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY"]
+ pub fn zeEventCreate(
+ hEventPool: ze_event_pool_handle_t,
+ desc: *const ze_event_desc_t,
+ phEvent: *mut ze_event_handle_t,
+ ) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Deletes an event object."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application is responsible for making sure the device is not"]
+ #[doc = " currently referencing the event before it is deleted"]
+ #[doc = " - The implementation of this function will immediately free all Host and"]
+ #[doc = " Device allocations associated with this event"]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same event handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - **clReleaseEvent**"]
+ #[doc = " - vkDestroyEvent"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hEvent`"]
+ #[doc = " - ::ZE_RESULT_ERROR_HANDLE_OBJECT_IN_USE"]
+ pub fn zeEventDestroy(hEvent: ze_event_handle_t) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Gets an IPC event pool handle for the specified event handle that can"]
+ #[doc = " be shared with another process."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hEventPool`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == phIpc`"]
+ pub fn zeEventPoolGetIpcHandle(
+ hEventPool: ze_event_pool_handle_t,
+ phIpc: *mut ze_ipc_event_pool_handle_t,
+ ) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Opens an IPC event pool handle to retrieve an event pool handle from"]
+ #[doc = " another process."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The event handle in this process should not be freed with"]
+ #[doc = " ::zeEventPoolDestroy, but rather with ::zeEventPoolCloseIpcHandle."]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hDriver`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == phEventPool`"]
+ pub fn zeEventPoolOpenIpcHandle(
+ hDriver: ze_driver_handle_t,
+ hIpc: ze_ipc_event_pool_handle_t,
+ phEventPool: *mut ze_event_pool_handle_t,
+ ) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Closes an IPC event handle in the current process."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - Closes an IPC event handle by destroying events that were opened in"]
+ #[doc = " this process using ::zeEventPoolOpenIpcHandle."]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same event pool handle."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hEventPool`"]
+ pub fn zeEventPoolCloseIpcHandle(hEventPool: ze_event_pool_handle_t) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Appends a signal of the event from the device into a command list."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same command list handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - **clSetUserEventStatus**"]
+ #[doc = " - vkCmdSetEvent"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hCommandList`"]
+ #[doc = " + `nullptr == hEvent`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ pub fn zeCommandListAppendSignalEvent(
+ hCommandList: ze_command_list_handle_t,
+ hEvent: ze_event_handle_t,
+ ) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Appends wait on event(s) on the device into a command list."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same command list handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hCommandList`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == phEvents`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ pub fn zeCommandListAppendWaitOnEvents(
+ hCommandList: ze_command_list_handle_t,
+ numEvents: u32,
+ phEvents: *mut ze_event_handle_t,
+ ) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Signals a event from host."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - clSetUserEventStatus"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hEvent`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ pub fn zeEventHostSignal(hEvent: ze_event_handle_t) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief The current host thread waits on an event to be signaled."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - clWaitForEvents"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hEvent`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ #[doc = " - ::ZE_RESULT_NOT_READY"]
+ #[doc = " + timeout expired"]
+ pub fn zeEventHostSynchronize(hEvent: ze_event_handle_t, timeout: u32) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Queries an event object's status."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - **clGetEventInfo**"]
+ #[doc = " - vkGetEventStatus"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hEvent`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ #[doc = " - ::ZE_RESULT_NOT_READY"]
+ #[doc = " + not signaled"]
+ pub fn zeEventQueryStatus(hEvent: ze_event_handle_t) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Reset an event back to not signaled state"]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same command list handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - vkResetEvent"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hCommandList`"]
+ #[doc = " + `nullptr == hEvent`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ pub fn zeCommandListAppendEventReset(
+ hCommandList: ze_command_list_handle_t,
+ hEvent: ze_event_handle_t,
+ ) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Reset an event back to not signaled state"]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - vkResetEvent"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hEvent`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ pub fn zeEventHostReset(hEvent: ze_event_handle_t) -> ze_result_t;
+}
+#[repr(i32)]
+#[doc = ""]
+#[doc = " @brief Supported timestamp types"]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum _ze_event_timestamp_type_t {
+ #[doc = "< wall-clock time start in GPU clocks for event. Data is uint64_t."]
+ ZE_EVENT_TIMESTAMP_GLOBAL_START = 0,
+ #[doc = "< wall-clock time end in GPU clocks for event.Data is uint64_t."]
+ ZE_EVENT_TIMESTAMP_GLOBAL_END = 1,
+ #[doc = "< context time start in GPU clocks for event. Only includes time while"]
+ #[doc = "< HW context is actively running on GPU. Data is uint64_t."]
+ ZE_EVENT_TIMESTAMP_CONTEXT_START = 2,
+ #[doc = "< context time end in GPU clocks for event. Only includes time while HW"]
+ #[doc = "< context is actively running on GPU. Data is uint64_t."]
+ ZE_EVENT_TIMESTAMP_CONTEXT_END = 3,
+}
+#[doc = ""]
+#[doc = " @brief Supported timestamp types"]
+pub use self::_ze_event_timestamp_type_t as ze_event_timestamp_type_t;
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Query timestamp information associated with an event. Event must come"]
+ #[doc = " from an event pool that was created using"]
+ #[doc = " ::ZE_EVENT_POOL_FLAG_TIMESTAMP flag."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hEvent`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
+ #[doc = " + timestampType"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == dstptr`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ pub fn zeEventGetTimestamp(
+ hEvent: ze_event_handle_t,
+ timestampType: ze_event_timestamp_type_t,
+ dstptr: *mut ::std::os::raw::c_void,
+ ) -> ze_result_t;
+}
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief API version of ::ze_sampler_desc_t"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum _ze_sampler_desc_version_t {
- #[doc = "< version 1.0"]
- ZE_SAMPLER_DESC_VERSION_CURRENT = 65536,
+ #[doc = "< version 0.91"]
+ ZE_SAMPLER_DESC_VERSION_CURRENT = 91,
}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_sampler_desc_t"]
pub use self::_ze_sampler_desc_version_t as ze_sampler_desc_version_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Sampler addressing modes"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -6712,8 +5422,10 @@ pub enum _ze_sampler_address_mode_t {
#[doc = "< Out-of-bounds coordinates are mirrored starting from edge."]
ZE_SAMPLER_ADDRESS_MODE_MIRROR = 4,
}
+#[doc = ""]
+#[doc = " @brief Sampler addressing modes"]
pub use self::_ze_sampler_address_mode_t as ze_sampler_address_mode_t;
-#[repr(u32)]
+#[repr(i32)]
#[doc = ""]
#[doc = " @brief Sampler filtering modes"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@@ -6723,6 +5435,8 @@ pub enum _ze_sampler_filter_mode_t {
#[doc = "< Out-of-bounds coordinates are wrapped back around."]
ZE_SAMPLER_FILTER_MODE_LINEAR = 1,
}
+#[doc = ""]
+#[doc = " @brief Sampler filtering modes"]
pub use self::_ze_sampler_filter_mode_t as ze_sampler_filter_mode_t;
#[doc = ""]
#[doc = " @brief Sampler descriptor"]
@@ -6801,10 +5515,6 @@ extern "C" {
#[doc = " - The application may call this function from simultaneous threads."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuTexObjectCreate**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -6839,10 +5549,6 @@ extern "C" {
#[doc = " threads with the same sampler handle."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
- #[doc = " @remarks"]
- #[doc = " _Analogues_"]
- #[doc = " - **cuModuleUnload**"]
- #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
@@ -6852,375 +5558,1267 @@ extern "C" {
#[doc = " - ::ZE_RESULT_ERROR_HANDLE_OBJECT_IN_USE"]
pub fn zeSamplerDestroy(hSampler: ze_sampler_handle_t) -> ze_result_t;
}
+#[repr(i32)]
#[doc = ""]
-#[doc = " @brief Handle of command list object"]
-pub type zex_command_list_handle_t = ze_command_list_handle_t;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _zex_command_graph_handle_t {
- _unused: [u8; 0],
+#[doc = " @brief API version of ::ze_device_mem_alloc_desc_t"]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum _ze_device_mem_alloc_desc_version_t {
+ #[doc = "< version 0.91"]
+ ZE_DEVICE_MEM_ALLOC_DESC_VERSION_CURRENT = 91,
}
#[doc = ""]
-#[doc = " @brief Handle of driver's command graph object"]
-pub type zex_command_graph_handle_t = *mut _zex_command_graph_handle_t;
-#[repr(u32)]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum ALU_REG {
- GPR0 = 0,
- GPR0_1 = 1,
- GPR1 = 2,
- GPR1_1 = 3,
- GPR2 = 4,
- GPR2_1 = 5,
- GPR3 = 6,
- GPR3_1 = 7,
- GPR4 = 8,
- GPR4_1 = 9,
- GPR5 = 10,
- GPR5_1 = 11,
- GPR6 = 12,
- GPR6_1 = 13,
- GPR7 = 14,
- GPR7_1 = 15,
- GPR8 = 16,
- GPR8_1 = 17,
- GPR9 = 18,
- GPR9_1 = 19,
- GPR10 = 20,
- GPR10_1 = 21,
- GPR11 = 22,
- GPR11_1 = 23,
- GPR12 = 24,
- GPR12_1 = 25,
- GPR13 = 26,
- GPR13_1 = 27,
- GPR14 = 28,
- GPR14_1 = 29,
- GPR15 = 30,
- GPR15_1 = 31,
- GPR_MAX = 32,
- PREDICATE1 = 33,
- REG_MAX = 34,
- CONST0 = 35,
- CONST1 = 36,
- NONE = 37,
- MAX = 38,
-}
-#[repr(u32)]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum ALU_OP_TYPE {
- ADD = 256,
- SUB = 257,
- AND = 258,
- OR = 259,
- XOR = 260,
- STORE = 384,
- STOREINV = 1408,
- LOAD = 128,
- LOAD0 = 129,
- LOAD1 = 1153,
- LOADINV = 1152,
- NOOP = 0,
- MAX = 1,
-}
-#[repr(u32)]
+#[doc = " @brief API version of ::ze_device_mem_alloc_desc_t"]
+pub use self::_ze_device_mem_alloc_desc_version_t as ze_device_mem_alloc_desc_version_t;
+#[repr(i32)]
+#[doc = ""]
+#[doc = " @brief Supported memory allocation flags"]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum ALU_FLAG {
- ACC = 49,
- ZF = 50,
- CF = 51,
- NACC = 305,
- NZF = 306,
- NCF = 307,
- MAX = 308,
+pub enum _ze_device_mem_alloc_flag_t {
+ #[doc = "< implicit default behavior; uses driver-based heuristics"]
+ ZE_DEVICE_MEM_ALLOC_FLAG_DEFAULT = 0,
+ #[doc = "< device should cache allocation"]
+ ZE_DEVICE_MEM_ALLOC_FLAG_BIAS_CACHED = 1,
+ #[doc = "< device should not cache allocation (UC)"]
+ ZE_DEVICE_MEM_ALLOC_FLAG_BIAS_UNCACHED = 2,
}
+#[doc = ""]
+#[doc = " @brief Supported memory allocation flags"]
+pub use self::_ze_device_mem_alloc_flag_t as ze_device_mem_alloc_flag_t;
+#[doc = ""]
+#[doc = " @brief Device mem alloc descriptor"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct _zex_alu_operation_t {
- pub opType: ALU_OP_TYPE,
- pub regDest: ALU_REG,
- pub regSource1: ALU_REG,
- pub regSource2: ALU_REG,
- pub flag: ALU_FLAG,
+pub struct _ze_device_mem_alloc_desc_t {
+ #[doc = "< [in] ::ZE_DEVICE_MEM_ALLOC_DESC_VERSION_CURRENT"]
+ pub version: ze_device_mem_alloc_desc_version_t,
+ #[doc = "< [in] flags specifying additional allocation controls"]
+ pub flags: ze_device_mem_alloc_flag_t,
+ #[doc = "< [in] ordinal of the device's local memory to allocate from;"]
+ #[doc = "< must be less than the count returned from ::zeDeviceGetMemoryProperties"]
+ pub ordinal: u32,
}
#[test]
-fn bindgen_test_layout__zex_alu_operation_t() {
+fn bindgen_test_layout__ze_device_mem_alloc_desc_t() {
assert_eq!(
- ::std::mem::size_of::<_zex_alu_operation_t>(),
- 20usize,
- concat!("Size of: ", stringify!(_zex_alu_operation_t))
+ ::std::mem::size_of::<_ze_device_mem_alloc_desc_t>(),
+ 12usize,
+ concat!("Size of: ", stringify!(_ze_device_mem_alloc_desc_t))
);
assert_eq!(
- ::std::mem::align_of::<_zex_alu_operation_t>(),
+ ::std::mem::align_of::<_ze_device_mem_alloc_desc_t>(),
4usize,
- concat!("Alignment of ", stringify!(_zex_alu_operation_t))
+ concat!("Alignment of ", stringify!(_ze_device_mem_alloc_desc_t))
);
assert_eq!(
- unsafe { &(*(::std::ptr::null::<_zex_alu_operation_t>())).opType as *const _ as usize },
+ unsafe {
+ &(*(::std::ptr::null::<_ze_device_mem_alloc_desc_t>())).version as *const _ as usize
+ },
0usize,
concat!(
"Offset of field: ",
- stringify!(_zex_alu_operation_t),
+ stringify!(_ze_device_mem_alloc_desc_t),
"::",
- stringify!(opType)
+ stringify!(version)
)
);
assert_eq!(
- unsafe { &(*(::std::ptr::null::<_zex_alu_operation_t>())).regDest as *const _ as usize },
+ unsafe {
+ &(*(::std::ptr::null::<_ze_device_mem_alloc_desc_t>())).flags as *const _ as usize
+ },
4usize,
concat!(
"Offset of field: ",
- stringify!(_zex_alu_operation_t),
+ stringify!(_ze_device_mem_alloc_desc_t),
"::",
- stringify!(regDest)
+ stringify!(flags)
)
);
assert_eq!(
- unsafe { &(*(::std::ptr::null::<_zex_alu_operation_t>())).regSource1 as *const _ as usize },
+ unsafe {
+ &(*(::std::ptr::null::<_ze_device_mem_alloc_desc_t>())).ordinal as *const _ as usize
+ },
8usize,
concat!(
"Offset of field: ",
- stringify!(_zex_alu_operation_t),
+ stringify!(_ze_device_mem_alloc_desc_t),
"::",
- stringify!(regSource1)
+ stringify!(ordinal)
)
);
+}
+#[repr(i32)]
+#[doc = ""]
+#[doc = " @brief API version of ::ze_host_mem_alloc_desc_t"]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum _ze_host_mem_alloc_desc_version_t {
+ #[doc = "< version 0.91"]
+ ZE_HOST_MEM_ALLOC_DESC_VERSION_CURRENT = 91,
+}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_host_mem_alloc_desc_t"]
+pub use self::_ze_host_mem_alloc_desc_version_t as ze_host_mem_alloc_desc_version_t;
+#[repr(i32)]
+#[doc = ""]
+#[doc = " @brief Supported host memory allocation flags"]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum _ze_host_mem_alloc_flag_t {
+ #[doc = "< implicit default behavior; uses driver-based heuristics"]
+ ZE_HOST_MEM_ALLOC_FLAG_DEFAULT = 0,
+ #[doc = "< host should cache allocation"]
+ ZE_HOST_MEM_ALLOC_FLAG_BIAS_CACHED = 1,
+ #[doc = "< host should not cache allocation (UC)"]
+ ZE_HOST_MEM_ALLOC_FLAG_BIAS_UNCACHED = 2,
+ #[doc = "< host memory should be allocated write-combined (WC)"]
+ ZE_HOST_MEM_ALLOC_FLAG_BIAS_WRITE_COMBINED = 4,
+}
+#[doc = ""]
+#[doc = " @brief Supported host memory allocation flags"]
+pub use self::_ze_host_mem_alloc_flag_t as ze_host_mem_alloc_flag_t;
+#[doc = ""]
+#[doc = " @brief Host mem alloc descriptor"]
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _ze_host_mem_alloc_desc_t {
+ #[doc = "< [in] ::ZE_HOST_MEM_ALLOC_DESC_VERSION_CURRENT"]
+ pub version: ze_host_mem_alloc_desc_version_t,
+ #[doc = "< [in] flags specifying additional allocation controls"]
+ pub flags: ze_host_mem_alloc_flag_t,
+}
+#[test]
+fn bindgen_test_layout__ze_host_mem_alloc_desc_t() {
+ assert_eq!(
+ ::std::mem::size_of::<_ze_host_mem_alloc_desc_t>(),
+ 8usize,
+ concat!("Size of: ", stringify!(_ze_host_mem_alloc_desc_t))
+ );
assert_eq!(
- unsafe { &(*(::std::ptr::null::<_zex_alu_operation_t>())).regSource2 as *const _ as usize },
- 12usize,
+ ::std::mem::align_of::<_ze_host_mem_alloc_desc_t>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(_ze_host_mem_alloc_desc_t))
+ );
+ assert_eq!(
+ unsafe {
+ &(*(::std::ptr::null::<_ze_host_mem_alloc_desc_t>())).version as *const _ as usize
+ },
+ 0usize,
concat!(
"Offset of field: ",
- stringify!(_zex_alu_operation_t),
+ stringify!(_ze_host_mem_alloc_desc_t),
"::",
- stringify!(regSource2)
+ stringify!(version)
)
);
assert_eq!(
- unsafe { &(*(::std::ptr::null::<_zex_alu_operation_t>())).flag as *const _ as usize },
- 16usize,
+ unsafe { &(*(::std::ptr::null::<_ze_host_mem_alloc_desc_t>())).flags as *const _ as usize },
+ 4usize,
concat!(
"Offset of field: ",
- stringify!(_zex_alu_operation_t),
+ stringify!(_ze_host_mem_alloc_desc_t),
"::",
- stringify!(flag)
+ stringify!(flags)
)
);
}
-pub type zex_alu_operation_t = _zex_alu_operation_t;
-#[repr(u32)]
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub enum COMMANDGRAPH_TYPE {
- COMMAND = 0,
- CONDITION = 1,
- OR = 2,
- START = 3,
- MAX = 4,
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Allocates memory that is shared between the host and one or more"]
+ #[doc = " devices"]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - Shared allocations share ownership between the host and one or more"]
+ #[doc = " devices."]
+ #[doc = " - Shared allocations may optionally be associated with a device by"]
+ #[doc = " passing a handle to the device."]
+ #[doc = " - Devices supporting only single-device shared access capabilities may"]
+ #[doc = " access shared memory associated with the device."]
+ #[doc = " For these devices, ownership of the allocation is shared between the"]
+ #[doc = " host and the associated device only."]
+ #[doc = " - Passing nullptr as the device handle does not associate the shared"]
+ #[doc = " allocation with any device."]
+ #[doc = " For allocations with no associated device, ownership of the allocation"]
+ #[doc = " is shared between the host and all devices supporting cross-device"]
+ #[doc = " shared access capabilities."]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hDriver`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == device_desc`"]
+ #[doc = " + `nullptr == host_desc`"]
+ #[doc = " + `nullptr == pptr`"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION"]
+ #[doc = " + `::ZE_DEVICE_MEM_ALLOC_DESC_VERSION_CURRENT < device_desc->version`"]
+ #[doc = " + `::ZE_HOST_MEM_ALLOC_DESC_VERSION_CURRENT < host_desc->version`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
+ #[doc = " + device_desc->flags"]
+ #[doc = " + host_desc->flags"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_SIZE"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_ALIGNMENT"]
+ #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY"]
+ #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY"]
+ pub fn zeDriverAllocSharedMem(
+ hDriver: ze_driver_handle_t,
+ device_desc: *const ze_device_mem_alloc_desc_t,
+ host_desc: *const ze_host_mem_alloc_desc_t,
+ size: usize,
+ alignment: usize,
+ hDevice: ze_device_handle_t,
+ pptr: *mut *mut ::std::os::raw::c_void,
+ ) -> ze_result_t;
}
extern "C" {
#[doc = ""]
- #[doc = " @brief Creates a command graph on the device for submitting commands to any"]
- #[doc = " command queue."]
+ #[doc = " @brief Allocates memory specific to a device"]
#[doc = ""]
#[doc = " @details"]
+ #[doc = " - A device allocation is owned by a specific device."]
+ #[doc = " - In general, a device allocation may only be accessed by the device"]
+ #[doc = " that owns it."]
#[doc = " - The application may call this function from simultaneous threads."]
- #[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
#[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_ARGUMENT"]
- #[doc = " + nullptr == hDevice"]
- #[doc = " + nullptr == desc"]
- #[doc = " + nullptr == phCommandGraph"]
- #[doc = " - ::ZE_RESULT_ERROR_UNKNOWN"]
- #[doc = " + ::ZEX_COMMAND_GRAPH_DESC_VERSION_CURRENT < desc->version"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hDriver`"]
+ #[doc = " + `nullptr == hDevice`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == device_desc`"]
+ #[doc = " + `nullptr == pptr`"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION"]
+ #[doc = " + `::ZE_DEVICE_MEM_ALLOC_DESC_VERSION_CURRENT < device_desc->version`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
+ #[doc = " + device_desc->flags"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_SIZE"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_ALIGNMENT"]
#[doc = " - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY"]
#[doc = " - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY"]
- pub fn zexCommandGraphCreate(
+ pub fn zeDriverAllocDeviceMem(
+ hDriver: ze_driver_handle_t,
+ device_desc: *const ze_device_mem_alloc_desc_t,
+ size: usize,
+ alignment: usize,
hDevice: ze_device_handle_t,
- desc: *const ze_command_list_desc_t,
- phCommandGraph: *mut zex_command_graph_handle_t,
+ pptr: *mut *mut ::std::os::raw::c_void,
) -> ze_result_t;
}
extern "C" {
#[doc = ""]
- #[doc = " @brief Destroys a command graph."]
+ #[doc = " @brief Allocates host memory"]
#[doc = ""]
#[doc = " @details"]
- #[doc = " - The implementation of this function will immediately free all Host"]
- #[doc = " allocations associated with this command graph."]
- #[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command graph handle."]
- #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = " - A host allocation is owned by the host process."]
+ #[doc = " - Host allocations are accessible by the host and all devices within the"]
+ #[doc = " driver driver."]
+ #[doc = " - Host allocations are frequently used as staging areas to transfer data"]
+ #[doc = " to or from devices."]
+ #[doc = " - The application may call this function from simultaneous threads."]
#[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
#[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_ARGUMENT"]
- #[doc = " + nullptr == hCommandGraph"]
- #[doc = " - ::ZE_RESULT_ERROR_UNKNOWN"]
- pub fn zexCommandGraphDestroy(hCommandGraph: zex_command_graph_handle_t) -> ze_result_t;
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hDriver`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == host_desc`"]
+ #[doc = " + `nullptr == pptr`"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION"]
+ #[doc = " + `::ZE_HOST_MEM_ALLOC_DESC_VERSION_CURRENT < host_desc->version`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
+ #[doc = " + host_desc->flags"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_SIZE"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_ALIGNMENT"]
+ #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY"]
+ #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY"]
+ pub fn zeDriverAllocHostMem(
+ hDriver: ze_driver_handle_t,
+ host_desc: *const ze_host_mem_alloc_desc_t,
+ size: usize,
+ alignment: usize,
+ pptr: *mut *mut ::std::os::raw::c_void,
+ ) -> ze_result_t;
}
extern "C" {
#[doc = ""]
- #[doc = " @brief Closes a command graph; ready to be executed by a command queue."]
+ #[doc = " @brief Frees allocated host memory, device memory, or shared memory"]
#[doc = ""]
#[doc = " @details"]
- #[doc = " - The command graph will optimize the execution order of the command"]
- #[doc = " lists."]
- #[doc = " - A command list may **not** be reset after the command graph is closed."]
+ #[doc = " - The application is responsible for making sure the device is not"]
+ #[doc = " currently referencing the memory before it is freed"]
+ #[doc = " - The implementation of this function will immediately free all Host and"]
+ #[doc = " Device allocations associated with this memory"]
#[doc = " - The application may **not** call this function from simultaneous"]
- #[doc = " threads with the same command graph handle."]
- #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = " threads with the same pointer."]
#[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
#[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_ARGUMENT"]
- #[doc = " + nullptr == hCommandGraph"]
- #[doc = " - ::ZE_RESULT_ERROR_UNKNOWN"]
- pub fn zexCommandGraphClose(hCommandGraph: zex_command_graph_handle_t) -> ze_result_t;
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hDriver`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == ptr`"]
+ pub fn zeDriverFreeMem(
+ hDriver: ze_driver_handle_t,
+ ptr: *mut ::std::os::raw::c_void,
+ ) -> ze_result_t;
+}
+#[repr(i32)]
+#[doc = ""]
+#[doc = " @brief API version of ::ze_memory_allocation_properties_t"]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum _ze_memory_allocation_properties_version_t {
+ #[doc = "< version 0.91"]
+ ZE_MEMORY_ALLOCATION_PROPERTIES_VERSION_CURRENT = 91,
+}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_memory_allocation_properties_t"]
+pub use self::_ze_memory_allocation_properties_version_t as ze_memory_allocation_properties_version_t;
+#[repr(i32)]
+#[doc = ""]
+#[doc = " @brief Memory allocation type"]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum _ze_memory_type_t {
+ #[doc = "< the memory pointed to is of unknown type"]
+ ZE_MEMORY_TYPE_UNKNOWN = 0,
+ #[doc = "< the memory pointed to is a host allocation"]
+ ZE_MEMORY_TYPE_HOST = 1,
+ #[doc = "< the memory pointed to is a device allocation"]
+ ZE_MEMORY_TYPE_DEVICE = 2,
+ #[doc = "< the memory pointed to is a shared ownership allocation"]
+ ZE_MEMORY_TYPE_SHARED = 3,
+}
+#[doc = ""]
+#[doc = " @brief Memory allocation type"]
+pub use self::_ze_memory_type_t as ze_memory_type_t;
+#[doc = ""]
+#[doc = " @brief Memory allocation properties queried using"]
+#[doc = " ::zeDriverGetMemAllocProperties"]
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _ze_memory_allocation_properties_t {
+ #[doc = "< [in] ::ZE_MEMORY_ALLOCATION_PROPERTIES_VERSION_CURRENT"]
+ pub version: ze_memory_allocation_properties_version_t,
+ #[doc = "< [out] type of allocated memory"]
+ pub type_: ze_memory_type_t,
+ #[doc = "< [out] identifier for this allocation"]
+ pub id: u64,
+}
+#[test]
+fn bindgen_test_layout__ze_memory_allocation_properties_t() {
+ assert_eq!(
+ ::std::mem::size_of::<_ze_memory_allocation_properties_t>(),
+ 16usize,
+ concat!("Size of: ", stringify!(_ze_memory_allocation_properties_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_ze_memory_allocation_properties_t>(),
+ 8usize,
+ concat!(
+ "Alignment of ",
+ stringify!(_ze_memory_allocation_properties_t)
+ )
+ );
+ assert_eq!(
+ unsafe {
+ &(*(::std::ptr::null::<_ze_memory_allocation_properties_t>())).version as *const _
+ as usize
+ },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_memory_allocation_properties_t),
+ "::",
+ stringify!(version)
+ )
+ );
+ assert_eq!(
+ unsafe {
+ &(*(::std::ptr::null::<_ze_memory_allocation_properties_t>())).type_ as *const _
+ as usize
+ },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_memory_allocation_properties_t),
+ "::",
+ stringify!(type_)
+ )
+ );
+ assert_eq!(
+ unsafe {
+ &(*(::std::ptr::null::<_ze_memory_allocation_properties_t>())).id as *const _ as usize
+ },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_memory_allocation_properties_t),
+ "::",
+ stringify!(id)
+ )
+ );
}
extern "C" {
- pub fn zexCommandGraphCreateNode(
- hCommandGraph: zex_command_graph_handle_t,
- phCommandNode: *mut zex_command_graph_handle_t,
- phParentNodes: *mut zex_command_graph_handle_t,
- noParentNodes: usize,
- nodeType: COMMANDGRAPH_TYPE,
+ #[doc = ""]
+ #[doc = " @brief Retrieves attributes of a memory allocation"]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hDriver`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == ptr`"]
+ #[doc = " + `nullptr == pMemAllocProperties`"]
+ pub fn zeDriverGetMemAllocProperties(
+ hDriver: ze_driver_handle_t,
+ ptr: *const ::std::os::raw::c_void,
+ pMemAllocProperties: *mut ze_memory_allocation_properties_t,
+ phDevice: *mut ze_device_handle_t,
) -> ze_result_t;
}
extern "C" {
- pub fn zexCommandGraphCreateLoadRegImemNode(
- hCommandGraph: zex_command_graph_handle_t,
- phCommandNode: *mut zex_command_graph_handle_t,
- phParentNodes: *mut zex_command_graph_handle_t,
- noParentNodes: usize,
- regDestination: ALU_REG,
- regSourceAddress: ALU_REG,
+ #[doc = ""]
+ #[doc = " @brief Retrieves the base address and/or size of an allocation"]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hDriver`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == ptr`"]
+ pub fn zeDriverGetMemAddressRange(
+ hDriver: ze_driver_handle_t,
+ ptr: *const ::std::os::raw::c_void,
+ pBase: *mut *mut ::std::os::raw::c_void,
+ pSize: *mut usize,
) -> ze_result_t;
}
extern "C" {
- pub fn zexCommandGraphCreateStoreRegImemNode(
- hCommandGraph: zex_command_graph_handle_t,
- phCommandNode: *mut zex_command_graph_handle_t,
- phParentNodes: *mut zex_command_graph_handle_t,
- noParentNodes: usize,
- regDestinationAddress: ALU_REG,
- regSource: ALU_REG,
+ #[doc = ""]
+ #[doc = " @brief Creates an IPC memory handle for the specified allocation in the"]
+ #[doc = " sending process"]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - Takes a pointer to the base of a device memory allocation and exports"]
+ #[doc = " it for use in another process."]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hDriver`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == ptr`"]
+ #[doc = " + `nullptr == pIpcHandle`"]
+ pub fn zeDriverGetMemIpcHandle(
+ hDriver: ze_driver_handle_t,
+ ptr: *const ::std::os::raw::c_void,
+ pIpcHandle: *mut ze_ipc_mem_handle_t,
) -> ze_result_t;
}
+#[repr(i32)]
+#[doc = ""]
+#[doc = " @brief Supported IPC memory flags"]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum _ze_ipc_memory_flag_t {
+ #[doc = "< No special flags"]
+ ZE_IPC_MEMORY_FLAG_NONE = 0,
+}
+#[doc = ""]
+#[doc = " @brief Supported IPC memory flags"]
+pub use self::_ze_ipc_memory_flag_t as ze_ipc_memory_flag_t;
extern "C" {
- pub fn zexCommandGraphNodeAddChildren(
- hCommandNode: zex_command_graph_handle_t,
- phChildrenNodes: *mut zex_command_graph_handle_t,
- noChildrenNodes: usize,
+ #[doc = ""]
+ #[doc = " @brief Opens an IPC memory handle to retrieve a device pointer in a receiving"]
+ #[doc = " process"]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - Takes an IPC memory handle from a sending process and associates it"]
+ #[doc = " with a device pointer usable in this process."]
+ #[doc = " - The device pointer in this process should not be freed with"]
+ #[doc = " ::zeDriverFreeMem, but rather with ::zeDriverCloseMemIpcHandle."]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hDriver`"]
+ #[doc = " + `nullptr == hDevice`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
+ #[doc = " + flags"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == pptr`"]
+ pub fn zeDriverOpenMemIpcHandle(
+ hDriver: ze_driver_handle_t,
+ hDevice: ze_device_handle_t,
+ handle: ze_ipc_mem_handle_t,
+ flags: ze_ipc_memory_flag_t,
+ pptr: *mut *mut ::std::os::raw::c_void,
+ ) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Closes an IPC memory handle in a receiving process"]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - Closes an IPC memory handle by unmapping memory that was opened in"]
+ #[doc = " this process using ::zeDriverOpenMemIpcHandle."]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same pointer."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hDriver`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == ptr`"]
+ pub fn zeDriverCloseMemIpcHandle(
+ hDriver: ze_driver_handle_t,
+ ptr: *const ::std::os::raw::c_void,
) -> ze_result_t;
}
+#[repr(i32)]
+#[doc = ""]
+#[doc = " @brief API version of ::ze_fence_desc_t"]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum _ze_fence_desc_version_t {
+ #[doc = "< version 0.91"]
+ ZE_FENCE_DESC_VERSION_CURRENT = 91,
+}
+#[doc = ""]
+#[doc = " @brief API version of ::ze_fence_desc_t"]
+pub use self::_ze_fence_desc_version_t as ze_fence_desc_version_t;
+#[repr(i32)]
+#[doc = ""]
+#[doc = " @brief Supported fence creation flags"]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum _ze_fence_flag_t {
+ #[doc = "< default behavior"]
+ ZE_FENCE_FLAG_NONE = 0,
+}
+#[doc = ""]
+#[doc = " @brief Supported fence creation flags"]
+pub use self::_ze_fence_flag_t as ze_fence_flag_t;
+#[doc = ""]
+#[doc = " @brief Fence descriptor"]
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _ze_fence_desc_t {
+ #[doc = "< [in] ::ZE_FENCE_DESC_VERSION_CURRENT"]
+ pub version: ze_fence_desc_version_t,
+ #[doc = "< [in] creation flags"]
+ pub flags: ze_fence_flag_t,
+}
+#[test]
+fn bindgen_test_layout__ze_fence_desc_t() {
+ assert_eq!(
+ ::std::mem::size_of::<_ze_fence_desc_t>(),
+ 8usize,
+ concat!("Size of: ", stringify!(_ze_fence_desc_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_ze_fence_desc_t>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(_ze_fence_desc_t))
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_fence_desc_t>())).version as *const _ as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_fence_desc_t),
+ "::",
+ stringify!(version)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_fence_desc_t>())).flags as *const _ as usize },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_fence_desc_t),
+ "::",
+ stringify!(flags)
+ )
+ );
+}
extern "C" {
- pub fn zexCommandGraphOpenNode(
- hCommandNode: zex_command_graph_handle_t,
- phCommandList: *mut zex_command_list_handle_t,
+ #[doc = ""]
+ #[doc = " @brief Creates a fence object on the device's command queue."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - **vkCreateFence**"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hCommandQueue`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == desc`"]
+ #[doc = " + `nullptr == phFence`"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION"]
+ #[doc = " + `::ZE_FENCE_DESC_VERSION_CURRENT < desc->version`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
+ #[doc = " + desc->flags"]
+ #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY"]
+ #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY"]
+ pub fn zeFenceCreate(
+ hCommandQueue: ze_command_queue_handle_t,
+ desc: *const ze_fence_desc_t,
+ phFence: *mut ze_fence_handle_t,
) -> ze_result_t;
}
extern "C" {
- pub fn zexCommandGraphCloseNode(hCommandNode: zex_command_graph_handle_t) -> ze_result_t;
+ #[doc = ""]
+ #[doc = " @brief Deletes a fence object."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application is responsible for making sure the device is not"]
+ #[doc = " currently referencing the fence before it is deleted"]
+ #[doc = " - The implementation of this function will immediately free all Host and"]
+ #[doc = " Device allocations associated with this fence"]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same fence handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - **vkDestroyFence**"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hFence`"]
+ #[doc = " - ::ZE_RESULT_ERROR_HANDLE_OBJECT_IN_USE"]
+ pub fn zeFenceDestroy(hFence: ze_fence_handle_t) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief The current host thread waits on a fence to be signaled."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - **vkWaitForFences**"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hFence`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ #[doc = " - ::ZE_RESULT_NOT_READY"]
+ #[doc = " + timeout expired"]
+ pub fn zeFenceHostSynchronize(hFence: ze_fence_handle_t, timeout: u32) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Queries a fence object's status."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - **vkGetFenceStatus**"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hFence`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ #[doc = " - ::ZE_RESULT_NOT_READY"]
+ #[doc = " + not signaled"]
+ pub fn zeFenceQueryStatus(hFence: ze_fence_handle_t) -> ze_result_t;
+}
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Reset a fence back to the not signaled state."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may call this function from simultaneous threads."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - **vkResetFences**"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hFence`"]
+ pub fn zeFenceReset(hFence: ze_fence_handle_t) -> ze_result_t;
}
extern "C" {
#[doc = ""]
- #[doc = " @brief Reserve a section of contiguous command buffer space within the"]
- #[doc = " command list."]
+ #[doc = " @brief Copies host, device, or shared memory."]
#[doc = ""]
#[doc = " @details"]
- #[doc = " - The pointer returned is valid for both Host and device access."]
+ #[doc = " - The memory pointed to by both srcptr and dstptr must be accessible by"]
+ #[doc = " the device on which the command list is created."]
#[doc = " - The application may **not** call this function from simultaneous"]
#[doc = " threads with the same command list handle."]
#[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - **clEnqueueCopyBuffer**"]
+ #[doc = " - **clEnqueueReadBuffer**"]
+ #[doc = " - **clEnqueueWriteBuffer**"]
+ #[doc = " - **clEnqueueSVMMemcpy**"]
+ #[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
#[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_ARGUMENT"]
- #[doc = " + nullptr == hCommandList"]
- #[doc = " + nullptr == ptr"]
- #[doc = " + 0 for size"]
- #[doc = " - ::ZE_RESULT_ERROR_UNKNOWN"]
- pub fn zexCommandListReserveSpace(
- hCommandList: zex_command_list_handle_t,
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hCommandList`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == dstptr`"]
+ #[doc = " + `nullptr == srcptr`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ pub fn zeCommandListAppendMemoryCopy(
+ hCommandList: ze_command_list_handle_t,
+ dstptr: *mut ::std::os::raw::c_void,
+ srcptr: *const ::std::os::raw::c_void,
size: usize,
- ptr: *mut *mut ::std::os::raw::c_void,
+ hEvent: ze_event_handle_t,
) -> ze_result_t;
}
extern "C" {
- pub fn zexCommandListAppendMILoadRegReg(
- hCommandList: zex_command_list_handle_t,
- destination: ALU_REG,
- source: ALU_REG,
+ #[doc = ""]
+ #[doc = " @brief Initializes host, device, or shared memory."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The memory pointed to by dstptr must be accessible by the device on"]
+ #[doc = " which the command list is created."]
+ #[doc = " - The value to initialize memory to is described by the pattern and the"]
+ #[doc = " pattern size."]
+ #[doc = " - The pattern size must be a power of two."]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same command list handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - **clEnqueueFillBuffer**"]
+ #[doc = " - **clEnqueueSVMMemFill**"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hCommandList`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == ptr`"]
+ #[doc = " + `nullptr == pattern`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ pub fn zeCommandListAppendMemoryFill(
+ hCommandList: ze_command_list_handle_t,
+ ptr: *mut ::std::os::raw::c_void,
+ pattern: *const ::std::os::raw::c_void,
+ pattern_size: usize,
+ size: usize,
+ hEvent: ze_event_handle_t,
) -> ze_result_t;
}
+#[doc = ""]
+#[doc = " @brief Copy region descriptor"]
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _ze_copy_region_t {
+ #[doc = "< [in] The origin x offset for region in bytes"]
+ pub originX: u32,
+ #[doc = "< [in] The origin y offset for region in rows"]
+ pub originY: u32,
+ #[doc = "< [in] The origin z offset for region in slices"]
+ pub originZ: u32,
+ #[doc = "< [in] The region width relative to origin in bytes"]
+ pub width: u32,
+ #[doc = "< [in] The region height relative to origin in rows"]
+ pub height: u32,
+ #[doc = "< [in] The region depth relative to origin in slices. Set this to 0 for"]
+ #[doc = "< 2D copy."]
+ pub depth: u32,
+}
+#[test]
+fn bindgen_test_layout__ze_copy_region_t() {
+ assert_eq!(
+ ::std::mem::size_of::<_ze_copy_region_t>(),
+ 24usize,
+ concat!("Size of: ", stringify!(_ze_copy_region_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_ze_copy_region_t>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(_ze_copy_region_t))
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_copy_region_t>())).originX as *const _ as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_copy_region_t),
+ "::",
+ stringify!(originX)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_copy_region_t>())).originY as *const _ as usize },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_copy_region_t),
+ "::",
+ stringify!(originY)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_copy_region_t>())).originZ as *const _ as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_copy_region_t),
+ "::",
+ stringify!(originZ)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_copy_region_t>())).width as *const _ as usize },
+ 12usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_copy_region_t),
+ "::",
+ stringify!(width)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_copy_region_t>())).height as *const _ as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_copy_region_t),
+ "::",
+ stringify!(height)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_copy_region_t>())).depth as *const _ as usize },
+ 20usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_copy_region_t),
+ "::",
+ stringify!(depth)
+ )
+ );
+}
extern "C" {
- pub fn zexCommandListAppendMILoadRegMem(
- hCommandList: zex_command_list_handle_t,
- reg: ALU_REG,
- address: u64,
+ #[doc = ""]
+ #[doc = " @brief Copies a region from a 2D or 3D array of host, device, or shared"]
+ #[doc = " memory."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The memory pointed to by both srcptr and dstptr must be accessible by"]
+ #[doc = " the device on which the command list is created."]
+ #[doc = " - The region width, height, and depth for both src and dst must be same."]
+ #[doc = " The origins can be different."]
+ #[doc = " - The src and dst regions cannot be overlapping."]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same command list handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hCommandList`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == dstptr`"]
+ #[doc = " + `nullptr == dstRegion`"]
+ #[doc = " + `nullptr == srcptr`"]
+ #[doc = " + `nullptr == srcRegion`"]
+ #[doc = " - ::ZE_RESULT_ERROR_OVERLAPPING_REGIONS"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ pub fn zeCommandListAppendMemoryCopyRegion(
+ hCommandList: ze_command_list_handle_t,
+ dstptr: *mut ::std::os::raw::c_void,
+ dstRegion: *const ze_copy_region_t,
+ dstPitch: u32,
+ dstSlicePitch: u32,
+ srcptr: *const ::std::os::raw::c_void,
+ srcRegion: *const ze_copy_region_t,
+ srcPitch: u32,
+ srcSlicePitch: u32,
+ hEvent: ze_event_handle_t,
) -> ze_result_t;
}
extern "C" {
- pub fn zexCommandListAppendMILoadRegImm(
- hCommandList: zex_command_list_handle_t,
- destination: ALU_REG,
- val: u32,
+ #[doc = ""]
+ #[doc = " @brief Copies a image."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same command list handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - **clEnqueueCopyImage**"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hCommandList`"]
+ #[doc = " + `nullptr == hDstImage`"]
+ #[doc = " + `nullptr == hSrcImage`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ pub fn zeCommandListAppendImageCopy(
+ hCommandList: ze_command_list_handle_t,
+ hDstImage: ze_image_handle_t,
+ hSrcImage: ze_image_handle_t,
+ hEvent: ze_event_handle_t,
) -> ze_result_t;
}
+#[doc = ""]
+#[doc = " @brief Region descriptor"]
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _ze_image_region_t {
+ #[doc = "< [in] The origin x offset for region in pixels"]
+ pub originX: u32,
+ #[doc = "< [in] The origin y offset for region in pixels"]
+ pub originY: u32,
+ #[doc = "< [in] The origin z offset for region in pixels"]
+ pub originZ: u32,
+ #[doc = "< [in] The region width relative to origin in pixels"]
+ pub width: u32,
+ #[doc = "< [in] The region height relative to origin in pixels"]
+ pub height: u32,
+ #[doc = "< [in] The region depth relative to origin. For 1D or 2D images, set"]
+ #[doc = "< this to 1."]
+ pub depth: u32,
+}
+#[test]
+fn bindgen_test_layout__ze_image_region_t() {
+ assert_eq!(
+ ::std::mem::size_of::<_ze_image_region_t>(),
+ 24usize,
+ concat!("Size of: ", stringify!(_ze_image_region_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_ze_image_region_t>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(_ze_image_region_t))
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_image_region_t>())).originX as *const _ as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_image_region_t),
+ "::",
+ stringify!(originX)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_image_region_t>())).originY as *const _ as usize },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_image_region_t),
+ "::",
+ stringify!(originY)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_image_region_t>())).originZ as *const _ as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_image_region_t),
+ "::",
+ stringify!(originZ)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_image_region_t>())).width as *const _ as usize },
+ 12usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_image_region_t),
+ "::",
+ stringify!(width)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_image_region_t>())).height as *const _ as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_image_region_t),
+ "::",
+ stringify!(height)
+ )
+ );
+ assert_eq!(
+ unsafe { &(*(::std::ptr::null::<_ze_image_region_t>())).depth as *const _ as usize },
+ 20usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_ze_image_region_t),
+ "::",
+ stringify!(depth)
+ )
+ );
+}
extern "C" {
- pub fn zexCommandListAppendMIStoreRegMem(
- hCommandList: zex_command_list_handle_t,
- reg: ALU_REG,
- address: u64,
+ #[doc = ""]
+ #[doc = " @brief Copies a region of a image to another image."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The region width and height for both src and dst must be same. The"]
+ #[doc = " origins can be different."]
+ #[doc = " - The src and dst regions cannot be overlapping."]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same command list handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hCommandList`"]
+ #[doc = " + `nullptr == hDstImage`"]
+ #[doc = " + `nullptr == hSrcImage`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ #[doc = " - ::ZE_RESULT_ERROR_OVERLAPPING_REGIONS"]
+ pub fn zeCommandListAppendImageCopyRegion(
+ hCommandList: ze_command_list_handle_t,
+ hDstImage: ze_image_handle_t,
+ hSrcImage: ze_image_handle_t,
+ pDstRegion: *const ze_image_region_t,
+ pSrcRegion: *const ze_image_region_t,
+ hEvent: ze_event_handle_t,
) -> ze_result_t;
}
extern "C" {
- pub fn zexCommandListAppendMIMath(
- hCommandList: zex_command_list_handle_t,
- opArray: *mut zex_alu_operation_t,
- noOperations: usize,
+ #[doc = ""]
+ #[doc = " @brief Copies from a image to device or shared memory."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The memory pointed to by dstptr must be accessible by the device on"]
+ #[doc = " which the command list is created."]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same command list handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - clEnqueueReadImage"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hCommandList`"]
+ #[doc = " + `nullptr == hSrcImage`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == dstptr`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ pub fn zeCommandListAppendImageCopyToMemory(
+ hCommandList: ze_command_list_handle_t,
+ dstptr: *mut ::std::os::raw::c_void,
+ hSrcImage: ze_image_handle_t,
+ pSrcRegion: *const ze_image_region_t,
+ hEvent: ze_event_handle_t,
) -> ze_result_t;
}
extern "C" {
- pub fn zexCommandQueueExecuteCommandGraphs(
- hCommandQueue: ze_command_queue_handle_t,
- numCommandGraphs: u32,
- phCommandGraphs: *mut zex_command_graph_handle_t,
- hFence: ze_fence_handle_t,
+ #[doc = ""]
+ #[doc = " @brief Copies to a image from device or shared memory."]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - The memory pointed to by srcptr must be accessible by the device on"]
+ #[doc = " which the command list is created."]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same command list handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @remarks"]
+ #[doc = " _Analogues_"]
+ #[doc = " - clEnqueueWriteImage"]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hCommandList`"]
+ #[doc = " + `nullptr == hDstImage`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == srcptr`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"]
+ pub fn zeCommandListAppendImageCopyFromMemory(
+ hCommandList: ze_command_list_handle_t,
+ hDstImage: ze_image_handle_t,
+ srcptr: *const ::std::os::raw::c_void,
+ pDstRegion: *const ze_image_region_t,
+ hEvent: ze_event_handle_t,
) -> ze_result_t;
}
extern "C" {
#[doc = ""]
- #[doc = " @brief Initialize the 'One API' driver and must be called before any other"]
- #[doc = " API function."]
+ #[doc = " @brief Asynchronously prefetches shared memory to the device associated with"]
+ #[doc = " the specified command list"]
#[doc = ""]
#[doc = " @details"]
- #[doc = " - If this function is not called then all other functions will return"]
- #[doc = " ::ZE_RESULT_ERROR_UNINITIALIZED."]
- #[doc = " - Only one instance of a driver per process will be initialized."]
- #[doc = " - This function is thread-safe for scenarios where multiple libraries"]
- #[doc = " may initialize the driver simultaneously."]
+ #[doc = " - This is a hint to improve performance only and is not required for"]
+ #[doc = " correctness."]
+ #[doc = " - Only prefetching to the device associated with the specified command"]
+ #[doc = " list is supported."]
+ #[doc = " Prefetching to the host or to a peer device is not supported."]
+ #[doc = " - Prefetching may not be supported for all allocation types for all devices."]
+ #[doc = " If memory prefetching is not supported for the specified memory range"]
+ #[doc = " the prefetch hint may be ignored."]
+ #[doc = " - Prefetching may only be supported at a device-specific granularity,"]
+ #[doc = " such as at a page boundary."]
+ #[doc = " In this case, the memory range may be expanded such that the start and"]
+ #[doc = " end of the range satisfy granularity requirements."]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same command list handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
#[doc = ""]
#[doc = " @remarks"]
#[doc = " _Analogues_"]
- #[doc = " - **cuInit**"]
+ #[doc = " - clEnqueueSVMMigrateMem"]
#[doc = ""]
#[doc = " @returns"]
#[doc = " - ::ZE_RESULT_SUCCESS"]
#[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
#[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
- #[doc = " - ::ZE_RESULT_ERROR_INVALID_ARGUMENT"]
- #[doc = " + invalid value for flags"]
- #[doc = " - ::ZE_RESULT_ERROR_UNKNOWN"]
- #[doc = " - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY"]
- pub fn zexInit(flags: ze_init_flag_t) -> ze_result_t;
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hCommandList`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == ptr`"]
+ pub fn zeCommandListAppendMemoryPrefetch(
+ hCommandList: ze_command_list_handle_t,
+ ptr: *const ::std::os::raw::c_void,
+ size: usize,
+ ) -> ze_result_t;
+}
+#[repr(i32)]
+#[doc = ""]
+#[doc = " @brief Supported memory advice hints"]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum _ze_memory_advice_t {
+ #[doc = "< hint that memory will be read from frequently and written to rarely"]
+ ZE_MEMORY_ADVICE_SET_READ_MOSTLY = 0,
+ #[doc = "< removes the affect of ::ZE_MEMORY_ADVICE_SET_READ_MOSTLY"]
+ ZE_MEMORY_ADVICE_CLEAR_READ_MOSTLY = 1,
+ #[doc = "< hint that the preferred memory location is the specified device"]
+ ZE_MEMORY_ADVICE_SET_PREFERRED_LOCATION = 2,
+ #[doc = "< removes the affect of ::ZE_MEMORY_ADVICE_SET_PREFERRED_LOCATION"]
+ ZE_MEMORY_ADVICE_CLEAR_PREFERRED_LOCATION = 3,
+ #[doc = "< hint that memory will be accessed by the specified device"]
+ ZE_MEMORY_ADVICE_SET_ACCESSED_BY = 4,
+ #[doc = "< removes the affect of ::ZE_MEMORY_ADVICE_SET_ACCESSED_BY"]
+ ZE_MEMORY_ADVICE_CLEAR_ACCESSED_BY = 5,
+ #[doc = "< hints that memory will mostly be accessed non-atomically"]
+ ZE_MEMORY_ADVICE_SET_NON_ATOMIC_MOSTLY = 6,
+ #[doc = "< removes the affect of ::ZE_MEMORY_ADVICE_SET_NON_ATOMIC_MOSTLY"]
+ ZE_MEMORY_ADVICE_CLEAR_NON_ATOMIC_MOSTLY = 7,
+ #[doc = "< hints that memory should be cached"]
+ ZE_MEMORY_ADVICE_BIAS_CACHED = 8,
+ #[doc = "< hints that memory should be not be cached"]
+ ZE_MEMORY_ADVICE_BIAS_UNCACHED = 9,
+}
+#[doc = ""]
+#[doc = " @brief Supported memory advice hints"]
+pub use self::_ze_memory_advice_t as ze_memory_advice_t;
+extern "C" {
+ #[doc = ""]
+ #[doc = " @brief Provides advice about the use of a shared memory range"]
+ #[doc = ""]
+ #[doc = " @details"]
+ #[doc = " - Memory advice is a performance hint only and is not required for"]
+ #[doc = " functional correctness."]
+ #[doc = " - Memory advice can be used to override driver heuristics to explicitly"]
+ #[doc = " control shared memory behavior."]
+ #[doc = " - Not all memory advice hints may be supported for all allocation types"]
+ #[doc = " for all devices."]
+ #[doc = " If a memory advice hint is not supported by the device it will be ignored."]
+ #[doc = " - Memory advice may only be supported at a device-specific granularity,"]
+ #[doc = " such as at a page boundary."]
+ #[doc = " In this case, the memory range may be expanded such that the start and"]
+ #[doc = " end of the range satisfy granularity requirements."]
+ #[doc = " - The application may **not** call this function from simultaneous"]
+ #[doc = " threads with the same command list handle."]
+ #[doc = " - The implementation of this function should be lock-free."]
+ #[doc = ""]
+ #[doc = " @returns"]
+ #[doc = " - ::ZE_RESULT_SUCCESS"]
+ #[doc = " - ::ZE_RESULT_ERROR_UNINITIALIZED"]
+ #[doc = " - ::ZE_RESULT_ERROR_DEVICE_LOST"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE"]
+ #[doc = " + `nullptr == hCommandList`"]
+ #[doc = " + `nullptr == hDevice`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER"]
+ #[doc = " + `nullptr == ptr`"]
+ #[doc = " - ::ZE_RESULT_ERROR_INVALID_ENUMERATION"]
+ #[doc = " + advice"]
+ pub fn zeCommandListAppendMemAdvise(
+ hCommandList: ze_command_list_handle_t,
+ hDevice: ze_device_handle_t,
+ ptr: *const ::std::os::raw::c_void,
+ size: usize,
+ advice: ze_memory_advice_t,
+ ) -> ze_result_t;
}
diff --git a/level_zero-sys/src/ze_loader.lib b/level_zero-sys/src/ze_loader.lib
new file mode 100644
index 0000000..03137fa
--- /dev/null
+++ b/level_zero-sys/src/ze_loader.lib
Binary files differ