aluminium 0.1.0

vulkan-based graphics engine
use ash::vk;

pub enum Slot {
    Bindless { index: u32 },
    Uniform { set: u32, binding: u32 },
}

#[derive(Eq, Hash, PartialEq, Clone)]
pub enum ShaderType {
    Custom(vk::Format),
    Texture2D,
    Mat3x3,
    Mat4x4,
    Float4,
    Float3,
    Float2,
    Float,
    U32,
}

#[derive(Eq, Hash, PartialEq, Clone)]
pub enum ShaderStage {
    Vertex,
    Fragment,
}

#[derive(Eq, Hash, PartialEq, Clone)]
pub struct UniformBinding {
    pub set: u32,
    pub binding: u32,
    pub ty: ShaderType,
}