plate/
lib.rs

1//! # plate
2//!
3//! Rust library for writing simpler Vulkan code
4//!
5//! ## Instalation
6//!
7//! Add the library to your Cargo.toml file:
8//! ```toml
9//! [dependencies]
10//! plate = "0.5"
11//! ```
12
13pub mod buffer;
14pub use buffer::*;
15pub(crate) mod debug;
16pub(crate) use debug::*;
17pub mod descriptor;
18pub use descriptor::*;
19pub mod device;
20pub use device::*;
21pub mod instance;
22pub use instance::*;
23pub mod pipeline;
24pub use pipeline::*;
25pub(crate) mod surface;
26pub(crate) use surface::*;
27pub mod swapchain;
28pub use swapchain::*;
29pub mod command;
30pub use command::*;
31pub mod sync;
32pub use sync::*;
33pub mod image;
34pub use image::*;
35pub mod rendering;
36pub use rendering::*;
37
38pub use ash::vk;
39
40pub use ash::vk::Format;
41pub use ash::vk::MemoryPropertyFlags;
42
43#[derive(thiserror::Error, Debug)]
44pub enum Error {
45    #[error("{0}")]
46    VulkanError(#[from] ash::vk::Result),
47    #[error("{0}")]
48    DeviceError(#[from] DeviceError),
49    #[error("{0}")]
50    SwapchainError(#[from] SwapchainError),
51    #[error("{0}")]
52    InstanceError(#[from] InstanceError),
53    #[error("{0}")]
54    DescriptorError(#[from] DescriptorError),
55}
56
57#[cfg(feature = "macros")]
58pub use plate_macros;
59pub use memoffset;