use utils::vk_traits::*;
#[repr(i32)]
#[derive(Debug, PartialEq, Copy, Clone)]
pub enum VkImageLayout {
Undefined = 0,
General = 1,
ColorAttachmentOptimal = 2,
DepthStencilAttachmentOptimal = 3,
DepthStencilReadOnlyOptimal = 4,
ShaderReadOnlyOptimal = 5,
TransferSrcOptimal = 6,
TransferDstOptimal = 7,
Preinitialized = 8,
DepthReadOnlyStencilAttachmentOptimal = 1000117000,
DepthAttachmentStencilReadOnlyOptimal = 1000117001,
DepthAttachmentOptimal = 1000241000,
DepthReadOnlyOptimal = 1000241001,
StencilAttachmentOptimal = 1000241002,
StencilReadOnlyOptimal = 1000241003,
PresentSrcKhr = 1000001002,
SharedPresentKhr = 1000111000,
ShadingRateOptimalNv = 1000164003,
FragmentDensityMapOptimalExt = 1000218000,
}
#[doc(hidden)]
pub type RawVkImageLayout = i32;
impl VkWrappedType<RawVkImageLayout> for VkImageLayout {
fn vk_to_raw(src: &VkImageLayout, dst: &mut RawVkImageLayout) {
*dst = *src as i32
}
}
impl VkRawType<VkImageLayout> for RawVkImageLayout {
fn vk_to_wrapped(src: &RawVkImageLayout) -> VkImageLayout {
unsafe {
*((src as *const i32) as *const VkImageLayout)
}
}
}
impl Default for VkImageLayout {
fn default() -> VkImageLayout {
VkImageLayout::Undefined
}
}