include!(concat!(env!("OUT_DIR"), "/auto_handles_generated.rs"));
include!(concat!(env!("OUT_DIR"), "/auto_device_ext_generated.rs"));
include!(concat!(env!("OUT_DIR"), "/auto_instance_ext_generated.rs"));
include!(concat!(env!("OUT_DIR"), "/auto_physical_device_ext_generated.rs"));
include!(concat!(env!("OUT_DIR"), "/auto_queue_ext_generated.rs"));
include!(concat!(env!("OUT_DIR"), "/auto_command_buffer_ext_generated.rs"));
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn acceleration_structure_khr_has_auto_wrapper_api() {
fn _assert_send<T: Send + Sync>() {}
_assert_send::<AccelerationStructureKHR>();
let _ = |device: &crate::safe::Device,
info: &crate::raw::bindings::VkAccelerationStructureCreateInfoKHR|
-> crate::safe::Result<AccelerationStructureKHR> {
AccelerationStructureKHR::create(device, info)
};
}
#[test]
fn ext_traits_provide_raw_methods() {
use super::super::{
CommandBufferRecordingExt, DeviceExt, InstanceExt, PhysicalDeviceExt, QueueExt,
};
let _ = |d: &crate::safe::Device| -> crate::safe::Result<crate::raw::bindings::VkResult> {
d.vk_device_wait_idle()
};
let _ = |r: &mut crate::safe::CommandBufferRecording<'_>| {
r.vk_cmd_draw(0u32, 0u32, 0u32, 0u32);
};
let _ = |p: &crate::safe::PhysicalDevice,
out: *mut crate::raw::bindings::VkPhysicalDeviceProperties| {
p.vk_get_physical_device_properties(out);
};
let _ = |q: &crate::safe::Queue| -> crate::safe::Result<crate::raw::bindings::VkResult> {
q.vk_queue_wait_idle()
};
fn _assert_instance_ext<T: InstanceExt>() {}
_assert_instance_ext::<crate::safe::Instance>();
}
#[test]
fn ray_tracing_is_reachable_without_unsafe() {
use super::super::CommandBufferRecordingExt;
let _ = |r: &mut crate::safe::CommandBufferRecording<'_>,
raygen: *const crate::raw::bindings::VkStridedDeviceAddressRegionKHR,
miss: *const crate::raw::bindings::VkStridedDeviceAddressRegionKHR,
hit: *const crate::raw::bindings::VkStridedDeviceAddressRegionKHR,
callable: *const crate::raw::bindings::VkStridedDeviceAddressRegionKHR,
w: u32,
h: u32,
d: u32| {
r.vk_cmd_trace_rays_khr(raygen, miss, hit, callable, w, h, d);
};
}
#[test]
fn key_auto_wrappers_compile() {
fn _assert_create<T, I, E>()
where
for<'a, 'b> fn(&'a crate::safe::Device, &'b I) -> std::result::Result<T, E>: Copy,
{
}
let _: Option<AccelerationStructureKHR> = None;
let _: Option<AccelerationStructureNV> = None;
let _: Option<MicromapEXT> = None;
let _: Option<VideoSessionKHR> = None;
let _: Option<DescriptorUpdateTemplate> = None;
let _: Option<PrivateDataSlot> = None;
let _: Option<ValidationCacheEXT> = None;
let _: Option<BufferView> = None;
}
}