lgpu 0.1.2

Lightweight, bindless-first Vulkan 1.3 wrapper for Rust
Documentation
//! # lgpu
//!
//! A lightweight, bindless-first Vulkan 1.3 wrapper for Rust and C99.

#![allow(clippy::too_many_arguments)]

#[cfg(not(feature = "vulkan"))]
compile_error!(
    "lgpu requires the 'vulkan' feature to be enabled as it is the native production backend."
);

#[cfg(feature = "vulkan")]
pub mod buffer;
#[cfg(feature = "vulkan")]
pub mod command;
#[cfg(feature = "vulkan")]
pub mod device;
#[cfg(feature = "vulkan")]
pub mod instance;
#[cfg(feature = "vulkan")]
pub mod pipeline;
#[cfg(feature = "vulkan")]
pub mod surface;
#[cfg(feature = "vulkan")]
pub mod sync;
#[cfg(feature = "vulkan")]
pub mod texture;

#[cfg(feature = "vulkan")]
pub use buffer::*;
#[cfg(feature = "vulkan")]
pub use command::*;
#[cfg(feature = "vulkan")]
pub use device::*;
#[cfg(feature = "vulkan")]
pub use instance::*;
#[cfg(feature = "vulkan")]
pub use pipeline::*;
#[cfg(feature = "vulkan")]
pub use surface::*;
#[cfg(feature = "vulkan")]
pub use sync::*;
#[cfg(feature = "vulkan")]
pub use texture::*;

pub use lgpu_hal::{
    AdapterInfo, AddressMode, Backend, BlendComponent, BlendFactor, BlendOp, BlendState,
    BufferDesc, BufferUsage, ColorLoadOp, CullMode, DepthLoadOp, DeviceLimits, DeviceType,
    FilterMode, FrontFace, GraphicsPipelineDesc, HalError, LoadOp, MemoryLocation, PrimitiveState,
    PrimitiveTopology, SamplerDesc, TextureDesc, TextureFormat, TextureUsage,
};

#[derive(thiserror::Error, Debug)]
pub enum Error {
    #[error("Hardware Abstraction Layer error: {0}")]
    Hal(#[from] HalError),
    #[error("Buffer error: {0}")]
    Buffer(String),
}