#[repr(u32)]
#[derive(Copy, Clone, PartialEq, Eq)]
pub enum AccessQualifier {
ReadOnly = 0,
WriteOnly = 1,
ReadWrite = 2,
}
#[repr(u32)]
#[derive(Copy, Clone, PartialEq, Eq)]
pub enum Arrayed {
False = 0,
True = 1,
}
impl From<bool> for Arrayed {
fn from(val: bool) -> Self {
if val { Self::True } else { Self::False }
}
}
#[repr(u32)]
#[derive(Copy, Clone, PartialEq, Eq)]
pub enum Dimensionality {
OneD = 0,
TwoD = 1,
ThreeD = 2,
Cube = 3,
Rect = 4,
Buffer = 5,
SubpassData = 6,
}
#[repr(u32)]
#[derive(Copy, Clone, PartialEq, Eq)]
pub enum ImageDepth {
False = 0,
True = 1,
Unknown = 2,
}
#[cfg(not(target_arch = "spirv"))]
impl From<Option<bool>> for ImageDepth {
fn from(val: Option<bool>) -> Self {
match val {
Some(true) => Self::True,
Some(false) => Self::False,
None => Self::Unknown,
}
}
}
impl From<bool> for ImageDepth {
fn from(val: bool) -> Self {
match val {
true => Self::True,
false => Self::False,
}
}
}
#[repr(u32)]
#[derive(Copy, Clone, PartialEq, Eq)]
pub enum Multisampled {
False = 0,
True = 1,
}
impl From<bool> for Multisampled {
fn from(val: bool) -> Self {
if val { Self::True } else { Self::False }
}
}
#[repr(u32)]
#[derive(Copy, Clone, PartialEq, Eq)]
pub enum Sampled {
Unknown = 0,
Yes = 1,
No = 2,
}
#[cfg(not(target_arch = "spirv"))]
impl From<Option<bool>> for Sampled {
fn from(val: Option<bool>) -> Self {
match val {
Some(true) => Self::Yes,
Some(false) => Self::No,
None => Self::Unknown,
}
}
}
impl From<bool> for Sampled {
fn from(val: bool) -> Self {
match val {
true => Self::Yes,
false => Self::No,
}
}
}
#[repr(u32)]
#[derive(PartialEq, Eq)]
pub enum ImageFormat {
Unknown,
Rgba32f,
Rgba16f,
R32f,
Rgba8,
Rgba8Snorm,
Rg32f,
Rg16f,
R11fG11fB10f,
R16f,
Rgba16,
Rgb10A2,
Rg16,
Rg8,
R16,
R8,
Rgba16Snorm,
Rg16Snorm,
Rg8Snorm,
R16Snorm,
R8Snorm,
Rgba32i,
Rgba16i,
Rgba8i,
R32i,
Rg32i,
Rg16i,
Rg8i,
R16i,
R8i,
Rgba32ui,
Rgba16ui,
Rgba8ui,
R32ui,
Rgb10A2ui,
Rg32ui,
Rg16ui,
Rg8ui,
R16ui,
R8ui,
R64ui,
R64i,
}