| // Copyright (c) 2016 The vulkano developers |
| // Licensed under the Apache License, Version 2.0 |
| // <LICENSE-APACHE or |
| // https://www.apache.org/licenses/LICENSE-2.0> or the MIT |
| // license <LICENSE-MIT or https://opensource.org/licenses/MIT>, |
| // at your option. All files in the project carrying such |
| // notice may not be copied, modified, or distributed except |
| // according to those terms. |
| |
| pub use crate::extensions::{ExtensionRestriction, ExtensionRestrictionError}; |
| |
| // Generated by build.rs |
| include!(concat!(env!("OUT_DIR"), "/device_extensions.rs")); |
| |
| #[cfg(test)] |
| mod tests { |
| use crate::device::DeviceExtensions; |
| use std::ffi::CString; |
| |
| #[test] |
| fn empty_extensions() { |
| let d: Vec<CString> = (&DeviceExtensions::empty()).into(); |
| assert!(d.get(0).is_none()); |
| } |
| |
| #[test] |
| fn into_iter() { |
| let extensions = DeviceExtensions { |
| khr_swapchain: true, |
| ..DeviceExtensions::empty() |
| }; |
| for (name, enabled) in extensions { |
| if name == "VK_KHR_swapchain" { |
| assert!(enabled); |
| } else { |
| assert!(!enabled); |
| } |
| } |
| } |
| } |