2023-01-14 12:03:01 +00:00
|
|
|
//! `vulkan` module is a collection of abstractions for vulkan functions
|
|
|
|
#![deny(rust_2018_idioms)]
|
|
|
|
|
|
|
|
pub mod prelude;
|
|
|
|
|
|
|
|
#[macro_use]
|
|
|
|
mod macros;
|
|
|
|
|
|
|
|
// mod error;
|
|
|
|
|
|
|
|
// pub use error::Result;
|
|
|
|
|
|
|
|
pub mod acceleration_structure;
|
|
|
|
pub mod address;
|
|
|
|
pub mod buffer;
|
|
|
|
pub mod commandbuffer;
|
|
|
|
pub mod commandpool;
|
|
|
|
pub mod deferred_operation;
|
|
|
|
pub mod descriptorpool;
|
|
|
|
pub mod descriptorset;
|
|
|
|
pub mod descriptorsetlayout;
|
|
|
|
pub mod device;
|
|
|
|
pub mod fence;
|
|
|
|
pub mod framebuffer;
|
|
|
|
pub mod image;
|
|
|
|
pub mod instance;
|
|
|
|
pub mod memory;
|
|
|
|
pub mod physicaldevice;
|
|
|
|
pub mod pipeline;
|
|
|
|
pub mod pipelinecache;
|
|
|
|
pub mod pipelinelayout;
|
|
|
|
pub mod pipelines;
|
|
|
|
pub mod querypool;
|
|
|
|
pub mod queue;
|
|
|
|
pub mod render_target;
|
|
|
|
pub mod renderpass;
|
|
|
|
pub mod semaphore;
|
|
|
|
pub mod shadermodule;
|
|
|
|
pub mod surface;
|
|
|
|
pub mod swapchain;
|
|
|
|
|
|
|
|
pub mod ffi;
|
|
|
|
|
|
|
|
mod sampler_manager;
|
2023-01-20 06:24:54 +00:00
|
|
|
mod single_submit;
|
2023-01-14 12:03:01 +00:00
|
|
|
|
|
|
|
#[derive(Clone, Debug)]
|
|
|
|
pub enum OutOfDate<T> {
|
|
|
|
Ok(T),
|
|
|
|
OutOfDate,
|
|
|
|
TimeOut,
|
|
|
|
}
|
|
|
|
|
|
|
|
pub trait VkHandle<T> {
|
|
|
|
fn vk_handle(&self) -> T;
|
|
|
|
}
|
|
|
|
|
|
|
|
pub trait VulkanDevice {
|
|
|
|
fn device(&self) -> &std::sync::Arc<device::Device>;
|
|
|
|
}
|