{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds                  #-}
{-# LANGUAGE DeriveDataTypeable         #-}
{-# LANGUAGE DeriveGeneric              #-}
{-# LANGUAGE FlexibleInstances          #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE KindSignatures             #-}
{-# LANGUAGE PatternSynonyms            #-}
{-# LANGUAGE StandaloneDeriving         #-}
{-# LANGUAGE Strict                     #-}
{-# LANGUAGE TypeSynonymInstances       #-}
module Graphics.Vulkan.Types.Enum.Image
       (VkImageAspectBitmask(VkImageAspectBitmask, VkImageAspectFlags,
                             VkImageAspectFlagBits, VK_IMAGE_ASPECT_COLOR_BIT,
                             VK_IMAGE_ASPECT_DEPTH_BIT, VK_IMAGE_ASPECT_STENCIL_BIT,
                             VK_IMAGE_ASPECT_METADATA_BIT),
        VkImageAspectFlags, VkImageAspectFlagBits,
        VkImageCreateBitmask(VkImageCreateBitmask, VkImageCreateFlags,
                             VkImageCreateFlagBits, VK_IMAGE_CREATE_SPARSE_BINDING_BIT,
                             VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT,
                             VK_IMAGE_CREATE_SPARSE_ALIASED_BIT,
                             VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT,
                             VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT),
        VkImageCreateFlags, VkImageCreateFlagBits,
        VkImageLayout(VkImageLayout, VK_IMAGE_LAYOUT_UNDEFINED,
                      VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
                      VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
                      VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
                      VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
                      VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
                      VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
                      VK_IMAGE_LAYOUT_PREINITIALIZED),
        VkImageTiling(VkImageTiling, VK_IMAGE_TILING_OPTIMAL,
                      VK_IMAGE_TILING_LINEAR),
        VkImageType(VkImageType, VK_IMAGE_TYPE_1D, VK_IMAGE_TYPE_2D,
                    VK_IMAGE_TYPE_3D),
        VkImageUsageBitmask(VkImageUsageBitmask, VkImageUsageFlags,
                            VkImageUsageFlagBits, VK_IMAGE_USAGE_TRANSFER_SRC_BIT,
                            VK_IMAGE_USAGE_TRANSFER_DST_BIT, VK_IMAGE_USAGE_SAMPLED_BIT,
                            VK_IMAGE_USAGE_STORAGE_BIT, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
                            VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
                            VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT,
                            VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT),
        VkImageUsageFlags, VkImageUsageFlagBits,
        VkImageViewType(VkImageViewType, VK_IMAGE_VIEW_TYPE_1D,
                        VK_IMAGE_VIEW_TYPE_2D, VK_IMAGE_VIEW_TYPE_3D,
                        VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY,
                        VK_IMAGE_VIEW_TYPE_2D_ARRAY, VK_IMAGE_VIEW_TYPE_CUBE_ARRAY))
       where
import           Data.Bits                       (Bits, FiniteBits)
import           Data.Data                       (Data)
import           Foreign.Storable                (Storable)
import           GHC.Generics                    (Generic)
import           GHC.Read                        (choose, expectP)
import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType,
                                                  Int32)
import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))
import           Text.ParserCombinators.ReadPrec (prec, step, (+++))
import           Text.Read                       (Read (..), parens)
import           Text.Read.Lex                   (Lexeme (..))

newtype VkImageAspectBitmask (a ::
                                FlagType) = VkImageAspectBitmask VkFlags
                                              deriving (VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
(VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool)
-> (VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool)
-> Eq (VkImageAspectBitmask a)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall (a :: FlagType).
VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
/= :: VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
$c/= :: forall (a :: FlagType).
VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
== :: VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
$c== :: forall (a :: FlagType).
VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
Eq, Eq (VkImageAspectBitmask a)
Eq (VkImageAspectBitmask a)
-> (VkImageAspectBitmask a -> VkImageAspectBitmask a -> Ordering)
-> (VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool)
-> (VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool)
-> (VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool)
-> (VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool)
-> (VkImageAspectBitmask a
    -> VkImageAspectBitmask a -> VkImageAspectBitmask a)
-> (VkImageAspectBitmask a
    -> VkImageAspectBitmask a -> VkImageAspectBitmask a)
-> Ord (VkImageAspectBitmask a)
VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
VkImageAspectBitmask a -> VkImageAspectBitmask a -> Ordering
VkImageAspectBitmask a
-> VkImageAspectBitmask a -> VkImageAspectBitmask a
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall (a :: FlagType). Eq (VkImageAspectBitmask a)
forall (a :: FlagType).
VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
forall (a :: FlagType).
VkImageAspectBitmask a -> VkImageAspectBitmask a -> Ordering
forall (a :: FlagType).
VkImageAspectBitmask a
-> VkImageAspectBitmask a -> VkImageAspectBitmask a
min :: VkImageAspectBitmask a
-> VkImageAspectBitmask a -> VkImageAspectBitmask a
$cmin :: forall (a :: FlagType).
VkImageAspectBitmask a
-> VkImageAspectBitmask a -> VkImageAspectBitmask a
max :: VkImageAspectBitmask a
-> VkImageAspectBitmask a -> VkImageAspectBitmask a
$cmax :: forall (a :: FlagType).
VkImageAspectBitmask a
-> VkImageAspectBitmask a -> VkImageAspectBitmask a
>= :: VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
$c>= :: forall (a :: FlagType).
VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
> :: VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
$c> :: forall (a :: FlagType).
VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
<= :: VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
$c<= :: forall (a :: FlagType).
VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
< :: VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
$c< :: forall (a :: FlagType).
VkImageAspectBitmask a -> VkImageAspectBitmask a -> Bool
compare :: VkImageAspectBitmask a -> VkImageAspectBitmask a -> Ordering
$ccompare :: forall (a :: FlagType).
VkImageAspectBitmask a -> VkImageAspectBitmask a -> Ordering
$cp1Ord :: forall (a :: FlagType). Eq (VkImageAspectBitmask a)
Ord, Ptr b -> Int -> IO (VkImageAspectBitmask a)
Ptr b -> Int -> VkImageAspectBitmask a -> IO ()
Ptr (VkImageAspectBitmask a) -> IO (VkImageAspectBitmask a)
Ptr (VkImageAspectBitmask a) -> Int -> IO (VkImageAspectBitmask a)
Ptr (VkImageAspectBitmask a)
-> Int -> VkImageAspectBitmask a -> IO ()
Ptr (VkImageAspectBitmask a) -> VkImageAspectBitmask a -> IO ()
VkImageAspectBitmask a -> Int
(VkImageAspectBitmask a -> Int)
-> (VkImageAspectBitmask a -> Int)
-> (Ptr (VkImageAspectBitmask a)
    -> Int -> IO (VkImageAspectBitmask a))
-> (Ptr (VkImageAspectBitmask a)
    -> Int -> VkImageAspectBitmask a -> IO ())
-> (forall b. Ptr b -> Int -> IO (VkImageAspectBitmask a))
-> (forall b. Ptr b -> Int -> VkImageAspectBitmask a -> IO ())
-> (Ptr (VkImageAspectBitmask a) -> IO (VkImageAspectBitmask a))
-> (Ptr (VkImageAspectBitmask a)
    -> VkImageAspectBitmask a -> IO ())
-> Storable (VkImageAspectBitmask a)
forall b. Ptr b -> Int -> IO (VkImageAspectBitmask a)
forall b. Ptr b -> Int -> VkImageAspectBitmask a -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
forall (a :: FlagType).
Ptr (VkImageAspectBitmask a) -> IO (VkImageAspectBitmask a)
forall (a :: FlagType).
Ptr (VkImageAspectBitmask a) -> Int -> IO (VkImageAspectBitmask a)
forall (a :: FlagType).
Ptr (VkImageAspectBitmask a)
-> Int -> VkImageAspectBitmask a -> IO ()
forall (a :: FlagType).
Ptr (VkImageAspectBitmask a) -> VkImageAspectBitmask a -> IO ()
forall (a :: FlagType). VkImageAspectBitmask a -> Int
forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkImageAspectBitmask a)
forall (a :: FlagType) b.
Ptr b -> Int -> VkImageAspectBitmask a -> IO ()
poke :: Ptr (VkImageAspectBitmask a) -> VkImageAspectBitmask a -> IO ()
$cpoke :: forall (a :: FlagType).
Ptr (VkImageAspectBitmask a) -> VkImageAspectBitmask a -> IO ()
peek :: Ptr (VkImageAspectBitmask a) -> IO (VkImageAspectBitmask a)
$cpeek :: forall (a :: FlagType).
Ptr (VkImageAspectBitmask a) -> IO (VkImageAspectBitmask a)
pokeByteOff :: Ptr b -> Int -> VkImageAspectBitmask a -> IO ()
$cpokeByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> VkImageAspectBitmask a -> IO ()
peekByteOff :: Ptr b -> Int -> IO (VkImageAspectBitmask a)
$cpeekByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkImageAspectBitmask a)
pokeElemOff :: Ptr (VkImageAspectBitmask a)
-> Int -> VkImageAspectBitmask a -> IO ()
$cpokeElemOff :: forall (a :: FlagType).
Ptr (VkImageAspectBitmask a)
-> Int -> VkImageAspectBitmask a -> IO ()
peekElemOff :: Ptr (VkImageAspectBitmask a) -> Int -> IO (VkImageAspectBitmask a)
$cpeekElemOff :: forall (a :: FlagType).
Ptr (VkImageAspectBitmask a) -> Int -> IO (VkImageAspectBitmask a)
alignment :: VkImageAspectBitmask a -> Int
$calignment :: forall (a :: FlagType). VkImageAspectBitmask a -> Int
sizeOf :: VkImageAspectBitmask a -> Int
$csizeOf :: forall (a :: FlagType). VkImageAspectBitmask a -> Int
Storable, Typeable (VkImageAspectBitmask a)
DataType
Constr
Typeable (VkImageAspectBitmask a)
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g)
    -> VkImageAspectBitmask a
    -> c (VkImageAspectBitmask a))
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c (VkImageAspectBitmask a))
-> (VkImageAspectBitmask a -> Constr)
-> (VkImageAspectBitmask a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d))
    -> Maybe (c (VkImageAspectBitmask a)))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c (VkImageAspectBitmask a)))
-> ((forall b. Data b => b -> b)
    -> VkImageAspectBitmask a -> VkImageAspectBitmask a)
-> (forall r r'.
    (r -> r' -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> VkImageAspectBitmask a
    -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> VkImageAspectBitmask a
    -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> VkImageAspectBitmask a -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> VkImageAspectBitmask a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> VkImageAspectBitmask a -> m (VkImageAspectBitmask a))
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkImageAspectBitmask a -> m (VkImageAspectBitmask a))
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkImageAspectBitmask a -> m (VkImageAspectBitmask a))
-> Data (VkImageAspectBitmask a)
VkImageAspectBitmask a -> DataType
VkImageAspectBitmask a -> Constr
(forall b. Data b => b -> b)
-> VkImageAspectBitmask a -> VkImageAspectBitmask a
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageAspectBitmask a
-> c (VkImageAspectBitmask a)
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageAspectBitmask a)
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> VkImageAspectBitmask a -> u
forall u.
(forall d. Data d => d -> u) -> VkImageAspectBitmask a -> [u]
forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageAspectBitmask a
-> r
forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageAspectBitmask a
-> r
forall (a :: FlagType).
Typeable a =>
Typeable (VkImageAspectBitmask a)
forall (a :: FlagType).
Typeable a =>
VkImageAspectBitmask a -> DataType
forall (a :: FlagType).
Typeable a =>
VkImageAspectBitmask a -> Constr
forall (a :: FlagType).
Typeable a =>
(forall b. Data b => b -> b)
-> VkImageAspectBitmask a -> VkImageAspectBitmask a
forall (a :: FlagType) u.
Typeable a =>
Int -> (forall d. Data d => d -> u) -> VkImageAspectBitmask a -> u
forall (a :: FlagType) u.
Typeable a =>
(forall d. Data d => d -> u) -> VkImageAspectBitmask a -> [u]
forall (a :: FlagType) r r'.
Typeable a =>
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageAspectBitmask a
-> r
forall (a :: FlagType) r r'.
Typeable a =>
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageAspectBitmask a
-> r
forall (a :: FlagType) (m :: * -> *).
(Typeable a, Monad m) =>
(forall d. Data d => d -> m d)
-> VkImageAspectBitmask a -> m (VkImageAspectBitmask a)
forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkImageAspectBitmask a -> m (VkImageAspectBitmask a)
forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageAspectBitmask a)
forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageAspectBitmask a
-> c (VkImageAspectBitmask a)
forall (a :: FlagType) (t :: * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d. Data d => c (t d)) -> Maybe (c (VkImageAspectBitmask a))
forall (a :: FlagType) (t :: * -> * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkImageAspectBitmask a))
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkImageAspectBitmask a -> m (VkImageAspectBitmask a)
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkImageAspectBitmask a -> m (VkImageAspectBitmask a)
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageAspectBitmask a)
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageAspectBitmask a
-> c (VkImageAspectBitmask a)
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c (VkImageAspectBitmask a))
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkImageAspectBitmask a))
$cVkImageAspectBitmask :: Constr
$tVkImageAspectBitmask :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> VkImageAspectBitmask a -> m (VkImageAspectBitmask a)
$cgmapMo :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkImageAspectBitmask a -> m (VkImageAspectBitmask a)
gmapMp :: (forall d. Data d => d -> m d)
-> VkImageAspectBitmask a -> m (VkImageAspectBitmask a)
$cgmapMp :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkImageAspectBitmask a -> m (VkImageAspectBitmask a)
gmapM :: (forall d. Data d => d -> m d)
-> VkImageAspectBitmask a -> m (VkImageAspectBitmask a)
$cgmapM :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, Monad m) =>
(forall d. Data d => d -> m d)
-> VkImageAspectBitmask a -> m (VkImageAspectBitmask a)
gmapQi :: Int -> (forall d. Data d => d -> u) -> VkImageAspectBitmask a -> u
$cgmapQi :: forall (a :: FlagType) u.
Typeable a =>
Int -> (forall d. Data d => d -> u) -> VkImageAspectBitmask a -> u
gmapQ :: (forall d. Data d => d -> u) -> VkImageAspectBitmask a -> [u]
$cgmapQ :: forall (a :: FlagType) u.
Typeable a =>
(forall d. Data d => d -> u) -> VkImageAspectBitmask a -> [u]
gmapQr :: (r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageAspectBitmask a
-> r
$cgmapQr :: forall (a :: FlagType) r r'.
Typeable a =>
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageAspectBitmask a
-> r
gmapQl :: (r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageAspectBitmask a
-> r
$cgmapQl :: forall (a :: FlagType) r r'.
Typeable a =>
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageAspectBitmask a
-> r
gmapT :: (forall b. Data b => b -> b)
-> VkImageAspectBitmask a -> VkImageAspectBitmask a
$cgmapT :: forall (a :: FlagType).
Typeable a =>
(forall b. Data b => b -> b)
-> VkImageAspectBitmask a -> VkImageAspectBitmask a
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkImageAspectBitmask a))
$cdataCast2 :: forall (a :: FlagType) (t :: * -> * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkImageAspectBitmask a))
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c (VkImageAspectBitmask a))
$cdataCast1 :: forall (a :: FlagType) (t :: * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d. Data d => c (t d)) -> Maybe (c (VkImageAspectBitmask a))
dataTypeOf :: VkImageAspectBitmask a -> DataType
$cdataTypeOf :: forall (a :: FlagType).
Typeable a =>
VkImageAspectBitmask a -> DataType
toConstr :: VkImageAspectBitmask a -> Constr
$ctoConstr :: forall (a :: FlagType).
Typeable a =>
VkImageAspectBitmask a -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageAspectBitmask a)
$cgunfold :: forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageAspectBitmask a)
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageAspectBitmask a
-> c (VkImageAspectBitmask a)
$cgfoldl :: forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageAspectBitmask a
-> c (VkImageAspectBitmask a)
$cp1Data :: forall (a :: FlagType).
Typeable a =>
Typeable (VkImageAspectBitmask a)
Data, (forall x.
 VkImageAspectBitmask a -> Rep (VkImageAspectBitmask a) x)
-> (forall x.
    Rep (VkImageAspectBitmask a) x -> VkImageAspectBitmask a)
-> Generic (VkImageAspectBitmask a)
forall x. Rep (VkImageAspectBitmask a) x -> VkImageAspectBitmask a
forall x. VkImageAspectBitmask a -> Rep (VkImageAspectBitmask a) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (a :: FlagType) x.
Rep (VkImageAspectBitmask a) x -> VkImageAspectBitmask a
forall (a :: FlagType) x.
VkImageAspectBitmask a -> Rep (VkImageAspectBitmask a) x
$cto :: forall (a :: FlagType) x.
Rep (VkImageAspectBitmask a) x -> VkImageAspectBitmask a
$cfrom :: forall (a :: FlagType) x.
VkImageAspectBitmask a -> Rep (VkImageAspectBitmask a) x
Generic)

type VkImageAspectFlags = VkImageAspectBitmask FlagMask

type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit

pattern VkImageAspectFlagBits ::
        VkFlags -> VkImageAspectBitmask FlagBit

pattern $bVkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit
$mVkImageAspectFlagBits :: forall r.
VkImageAspectBitmask FlagBit -> (VkFlags -> r) -> (Void# -> r) -> r
VkImageAspectFlagBits n = VkImageAspectBitmask n

pattern VkImageAspectFlags ::
        VkFlags -> VkImageAspectBitmask FlagMask

pattern $bVkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask
$mVkImageAspectFlags :: forall r.
VkImageAspectBitmask FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkImageAspectFlags n = VkImageAspectBitmask n

deriving instance Bits (VkImageAspectBitmask FlagMask)

deriving instance FiniteBits (VkImageAspectBitmask FlagMask)

deriving instance Integral (VkImageAspectBitmask FlagMask)

deriving instance Num (VkImageAspectBitmask FlagMask)

deriving instance Bounded (VkImageAspectBitmask FlagMask)

deriving instance Enum (VkImageAspectBitmask FlagMask)

deriving instance Real (VkImageAspectBitmask FlagMask)

instance Show (VkImageAspectBitmask a) where
        showsPrec :: Int -> VkImageAspectBitmask a -> ShowS
showsPrec Int
_ VkImageAspectBitmask a
VK_IMAGE_ASPECT_COLOR_BIT
          = String -> ShowS
showString String
"VK_IMAGE_ASPECT_COLOR_BIT"
        showsPrec Int
_ VkImageAspectBitmask a
VK_IMAGE_ASPECT_DEPTH_BIT
          = String -> ShowS
showString String
"VK_IMAGE_ASPECT_DEPTH_BIT"
        showsPrec Int
_ VkImageAspectBitmask a
VK_IMAGE_ASPECT_STENCIL_BIT
          = String -> ShowS
showString String
"VK_IMAGE_ASPECT_STENCIL_BIT"
        showsPrec Int
_ VkImageAspectBitmask a
VK_IMAGE_ASPECT_METADATA_BIT
          = String -> ShowS
showString String
"VK_IMAGE_ASPECT_METADATA_BIT"
        showsPrec Int
p (VkImageAspectBitmask VkFlags
x)
          = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
              (String -> ShowS
showString String
"VkImageAspectBitmask " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> VkFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 VkFlags
x)

instance Read (VkImageAspectBitmask a) where
        readPrec :: ReadPrec (VkImageAspectBitmask a)
readPrec
          = ReadPrec (VkImageAspectBitmask a)
-> ReadPrec (VkImageAspectBitmask a)
forall a. ReadPrec a -> ReadPrec a
parens
              ([(String, ReadPrec (VkImageAspectBitmask a))]
-> ReadPrec (VkImageAspectBitmask a)
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
                 [(String
"VK_IMAGE_ASPECT_COLOR_BIT", VkImageAspectBitmask a -> ReadPrec (VkImageAspectBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageAspectBitmask a
forall (a :: FlagType). VkImageAspectBitmask a
VK_IMAGE_ASPECT_COLOR_BIT),
                  (String
"VK_IMAGE_ASPECT_DEPTH_BIT", VkImageAspectBitmask a -> ReadPrec (VkImageAspectBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageAspectBitmask a
forall (a :: FlagType). VkImageAspectBitmask a
VK_IMAGE_ASPECT_DEPTH_BIT),
                  (String
"VK_IMAGE_ASPECT_STENCIL_BIT", VkImageAspectBitmask a -> ReadPrec (VkImageAspectBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageAspectBitmask a
forall (a :: FlagType). VkImageAspectBitmask a
VK_IMAGE_ASPECT_STENCIL_BIT),
                  (String
"VK_IMAGE_ASPECT_METADATA_BIT",
                   VkImageAspectBitmask a -> ReadPrec (VkImageAspectBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageAspectBitmask a
forall (a :: FlagType). VkImageAspectBitmask a
VK_IMAGE_ASPECT_METADATA_BIT)]
                 ReadPrec (VkImageAspectBitmask a)
-> ReadPrec (VkImageAspectBitmask a)
-> ReadPrec (VkImageAspectBitmask a)
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                 Int
-> ReadPrec (VkImageAspectBitmask a)
-> ReadPrec (VkImageAspectBitmask a)
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
                   (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkImageAspectBitmask") ReadPrec ()
-> ReadPrec (VkImageAspectBitmask a)
-> ReadPrec (VkImageAspectBitmask a)
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                      (VkFlags -> VkImageAspectBitmask a
forall (a :: FlagType). VkFlags -> VkImageAspectBitmask a
VkImageAspectBitmask (VkFlags -> VkImageAspectBitmask a)
-> ReadPrec VkFlags -> ReadPrec (VkImageAspectBitmask a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec VkFlags -> ReadPrec VkFlags
forall a. ReadPrec a -> ReadPrec a
step ReadPrec VkFlags
forall a. Read a => ReadPrec a
readPrec)))

-- | bitpos = @0@
pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a

pattern $bVK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a
$mVK_IMAGE_ASPECT_COLOR_BIT :: forall r (a :: FlagType).
VkImageAspectBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_ASPECT_COLOR_BIT = VkImageAspectBitmask 1

-- | bitpos = @1@
pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a

pattern $bVK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a
$mVK_IMAGE_ASPECT_DEPTH_BIT :: forall r (a :: FlagType).
VkImageAspectBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_ASPECT_DEPTH_BIT = VkImageAspectBitmask 2

-- | bitpos = @2@
pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a

pattern $bVK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a
$mVK_IMAGE_ASPECT_STENCIL_BIT :: forall r (a :: FlagType).
VkImageAspectBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_ASPECT_STENCIL_BIT = VkImageAspectBitmask 4

-- | bitpos = @3@
pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a

pattern $bVK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a
$mVK_IMAGE_ASPECT_METADATA_BIT :: forall r (a :: FlagType).
VkImageAspectBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_ASPECT_METADATA_BIT = VkImageAspectBitmask 8

newtype VkImageCreateBitmask (a ::
                                FlagType) = VkImageCreateBitmask VkFlags
                                              deriving (VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
(VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool)
-> (VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool)
-> Eq (VkImageCreateBitmask a)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall (a :: FlagType).
VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
/= :: VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
$c/= :: forall (a :: FlagType).
VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
== :: VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
$c== :: forall (a :: FlagType).
VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
Eq, Eq (VkImageCreateBitmask a)
Eq (VkImageCreateBitmask a)
-> (VkImageCreateBitmask a -> VkImageCreateBitmask a -> Ordering)
-> (VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool)
-> (VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool)
-> (VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool)
-> (VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool)
-> (VkImageCreateBitmask a
    -> VkImageCreateBitmask a -> VkImageCreateBitmask a)
-> (VkImageCreateBitmask a
    -> VkImageCreateBitmask a -> VkImageCreateBitmask a)
-> Ord (VkImageCreateBitmask a)
VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
VkImageCreateBitmask a -> VkImageCreateBitmask a -> Ordering
VkImageCreateBitmask a
-> VkImageCreateBitmask a -> VkImageCreateBitmask a
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall (a :: FlagType). Eq (VkImageCreateBitmask a)
forall (a :: FlagType).
VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
forall (a :: FlagType).
VkImageCreateBitmask a -> VkImageCreateBitmask a -> Ordering
forall (a :: FlagType).
VkImageCreateBitmask a
-> VkImageCreateBitmask a -> VkImageCreateBitmask a
min :: VkImageCreateBitmask a
-> VkImageCreateBitmask a -> VkImageCreateBitmask a
$cmin :: forall (a :: FlagType).
VkImageCreateBitmask a
-> VkImageCreateBitmask a -> VkImageCreateBitmask a
max :: VkImageCreateBitmask a
-> VkImageCreateBitmask a -> VkImageCreateBitmask a
$cmax :: forall (a :: FlagType).
VkImageCreateBitmask a
-> VkImageCreateBitmask a -> VkImageCreateBitmask a
>= :: VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
$c>= :: forall (a :: FlagType).
VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
> :: VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
$c> :: forall (a :: FlagType).
VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
<= :: VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
$c<= :: forall (a :: FlagType).
VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
< :: VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
$c< :: forall (a :: FlagType).
VkImageCreateBitmask a -> VkImageCreateBitmask a -> Bool
compare :: VkImageCreateBitmask a -> VkImageCreateBitmask a -> Ordering
$ccompare :: forall (a :: FlagType).
VkImageCreateBitmask a -> VkImageCreateBitmask a -> Ordering
$cp1Ord :: forall (a :: FlagType). Eq (VkImageCreateBitmask a)
Ord, Ptr b -> Int -> IO (VkImageCreateBitmask a)
Ptr b -> Int -> VkImageCreateBitmask a -> IO ()
Ptr (VkImageCreateBitmask a) -> IO (VkImageCreateBitmask a)
Ptr (VkImageCreateBitmask a) -> Int -> IO (VkImageCreateBitmask a)
Ptr (VkImageCreateBitmask a)
-> Int -> VkImageCreateBitmask a -> IO ()
Ptr (VkImageCreateBitmask a) -> VkImageCreateBitmask a -> IO ()
VkImageCreateBitmask a -> Int
(VkImageCreateBitmask a -> Int)
-> (VkImageCreateBitmask a -> Int)
-> (Ptr (VkImageCreateBitmask a)
    -> Int -> IO (VkImageCreateBitmask a))
-> (Ptr (VkImageCreateBitmask a)
    -> Int -> VkImageCreateBitmask a -> IO ())
-> (forall b. Ptr b -> Int -> IO (VkImageCreateBitmask a))
-> (forall b. Ptr b -> Int -> VkImageCreateBitmask a -> IO ())
-> (Ptr (VkImageCreateBitmask a) -> IO (VkImageCreateBitmask a))
-> (Ptr (VkImageCreateBitmask a)
    -> VkImageCreateBitmask a -> IO ())
-> Storable (VkImageCreateBitmask a)
forall b. Ptr b -> Int -> IO (VkImageCreateBitmask a)
forall b. Ptr b -> Int -> VkImageCreateBitmask a -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
forall (a :: FlagType).
Ptr (VkImageCreateBitmask a) -> IO (VkImageCreateBitmask a)
forall (a :: FlagType).
Ptr (VkImageCreateBitmask a) -> Int -> IO (VkImageCreateBitmask a)
forall (a :: FlagType).
Ptr (VkImageCreateBitmask a)
-> Int -> VkImageCreateBitmask a -> IO ()
forall (a :: FlagType).
Ptr (VkImageCreateBitmask a) -> VkImageCreateBitmask a -> IO ()
forall (a :: FlagType). VkImageCreateBitmask a -> Int
forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkImageCreateBitmask a)
forall (a :: FlagType) b.
Ptr b -> Int -> VkImageCreateBitmask a -> IO ()
poke :: Ptr (VkImageCreateBitmask a) -> VkImageCreateBitmask a -> IO ()
$cpoke :: forall (a :: FlagType).
Ptr (VkImageCreateBitmask a) -> VkImageCreateBitmask a -> IO ()
peek :: Ptr (VkImageCreateBitmask a) -> IO (VkImageCreateBitmask a)
$cpeek :: forall (a :: FlagType).
Ptr (VkImageCreateBitmask a) -> IO (VkImageCreateBitmask a)
pokeByteOff :: Ptr b -> Int -> VkImageCreateBitmask a -> IO ()
$cpokeByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> VkImageCreateBitmask a -> IO ()
peekByteOff :: Ptr b -> Int -> IO (VkImageCreateBitmask a)
$cpeekByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkImageCreateBitmask a)
pokeElemOff :: Ptr (VkImageCreateBitmask a)
-> Int -> VkImageCreateBitmask a -> IO ()
$cpokeElemOff :: forall (a :: FlagType).
Ptr (VkImageCreateBitmask a)
-> Int -> VkImageCreateBitmask a -> IO ()
peekElemOff :: Ptr (VkImageCreateBitmask a) -> Int -> IO (VkImageCreateBitmask a)
$cpeekElemOff :: forall (a :: FlagType).
Ptr (VkImageCreateBitmask a) -> Int -> IO (VkImageCreateBitmask a)
alignment :: VkImageCreateBitmask a -> Int
$calignment :: forall (a :: FlagType). VkImageCreateBitmask a -> Int
sizeOf :: VkImageCreateBitmask a -> Int
$csizeOf :: forall (a :: FlagType). VkImageCreateBitmask a -> Int
Storable, Typeable (VkImageCreateBitmask a)
DataType
Constr
Typeable (VkImageCreateBitmask a)
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g)
    -> VkImageCreateBitmask a
    -> c (VkImageCreateBitmask a))
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c (VkImageCreateBitmask a))
-> (VkImageCreateBitmask a -> Constr)
-> (VkImageCreateBitmask a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d))
    -> Maybe (c (VkImageCreateBitmask a)))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c (VkImageCreateBitmask a)))
-> ((forall b. Data b => b -> b)
    -> VkImageCreateBitmask a -> VkImageCreateBitmask a)
-> (forall r r'.
    (r -> r' -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> VkImageCreateBitmask a
    -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> VkImageCreateBitmask a
    -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> VkImageCreateBitmask a -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> VkImageCreateBitmask a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> VkImageCreateBitmask a -> m (VkImageCreateBitmask a))
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkImageCreateBitmask a -> m (VkImageCreateBitmask a))
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkImageCreateBitmask a -> m (VkImageCreateBitmask a))
-> Data (VkImageCreateBitmask a)
VkImageCreateBitmask a -> DataType
VkImageCreateBitmask a -> Constr
(forall b. Data b => b -> b)
-> VkImageCreateBitmask a -> VkImageCreateBitmask a
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageCreateBitmask a
-> c (VkImageCreateBitmask a)
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageCreateBitmask a)
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> VkImageCreateBitmask a -> u
forall u.
(forall d. Data d => d -> u) -> VkImageCreateBitmask a -> [u]
forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageCreateBitmask a
-> r
forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageCreateBitmask a
-> r
forall (a :: FlagType).
Typeable a =>
Typeable (VkImageCreateBitmask a)
forall (a :: FlagType).
Typeable a =>
VkImageCreateBitmask a -> DataType
forall (a :: FlagType).
Typeable a =>
VkImageCreateBitmask a -> Constr
forall (a :: FlagType).
Typeable a =>
(forall b. Data b => b -> b)
-> VkImageCreateBitmask a -> VkImageCreateBitmask a
forall (a :: FlagType) u.
Typeable a =>
Int -> (forall d. Data d => d -> u) -> VkImageCreateBitmask a -> u
forall (a :: FlagType) u.
Typeable a =>
(forall d. Data d => d -> u) -> VkImageCreateBitmask a -> [u]
forall (a :: FlagType) r r'.
Typeable a =>
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageCreateBitmask a
-> r
forall (a :: FlagType) r r'.
Typeable a =>
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageCreateBitmask a
-> r
forall (a :: FlagType) (m :: * -> *).
(Typeable a, Monad m) =>
(forall d. Data d => d -> m d)
-> VkImageCreateBitmask a -> m (VkImageCreateBitmask a)
forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkImageCreateBitmask a -> m (VkImageCreateBitmask a)
forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageCreateBitmask a)
forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageCreateBitmask a
-> c (VkImageCreateBitmask a)
forall (a :: FlagType) (t :: * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d. Data d => c (t d)) -> Maybe (c (VkImageCreateBitmask a))
forall (a :: FlagType) (t :: * -> * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkImageCreateBitmask a))
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkImageCreateBitmask a -> m (VkImageCreateBitmask a)
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkImageCreateBitmask a -> m (VkImageCreateBitmask a)
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageCreateBitmask a)
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageCreateBitmask a
-> c (VkImageCreateBitmask a)
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c (VkImageCreateBitmask a))
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkImageCreateBitmask a))
$cVkImageCreateBitmask :: Constr
$tVkImageCreateBitmask :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> VkImageCreateBitmask a -> m (VkImageCreateBitmask a)
$cgmapMo :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkImageCreateBitmask a -> m (VkImageCreateBitmask a)
gmapMp :: (forall d. Data d => d -> m d)
-> VkImageCreateBitmask a -> m (VkImageCreateBitmask a)
$cgmapMp :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkImageCreateBitmask a -> m (VkImageCreateBitmask a)
gmapM :: (forall d. Data d => d -> m d)
-> VkImageCreateBitmask a -> m (VkImageCreateBitmask a)
$cgmapM :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, Monad m) =>
(forall d. Data d => d -> m d)
-> VkImageCreateBitmask a -> m (VkImageCreateBitmask a)
gmapQi :: Int -> (forall d. Data d => d -> u) -> VkImageCreateBitmask a -> u
$cgmapQi :: forall (a :: FlagType) u.
Typeable a =>
Int -> (forall d. Data d => d -> u) -> VkImageCreateBitmask a -> u
gmapQ :: (forall d. Data d => d -> u) -> VkImageCreateBitmask a -> [u]
$cgmapQ :: forall (a :: FlagType) u.
Typeable a =>
(forall d. Data d => d -> u) -> VkImageCreateBitmask a -> [u]
gmapQr :: (r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageCreateBitmask a
-> r
$cgmapQr :: forall (a :: FlagType) r r'.
Typeable a =>
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageCreateBitmask a
-> r
gmapQl :: (r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageCreateBitmask a
-> r
$cgmapQl :: forall (a :: FlagType) r r'.
Typeable a =>
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkImageCreateBitmask a
-> r
gmapT :: (forall b. Data b => b -> b)
-> VkImageCreateBitmask a -> VkImageCreateBitmask a
$cgmapT :: forall (a :: FlagType).
Typeable a =>
(forall b. Data b => b -> b)
-> VkImageCreateBitmask a -> VkImageCreateBitmask a
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkImageCreateBitmask a))
$cdataCast2 :: forall (a :: FlagType) (t :: * -> * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkImageCreateBitmask a))
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c (VkImageCreateBitmask a))
$cdataCast1 :: forall (a :: FlagType) (t :: * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d. Data d => c (t d)) -> Maybe (c (VkImageCreateBitmask a))
dataTypeOf :: VkImageCreateBitmask a -> DataType
$cdataTypeOf :: forall (a :: FlagType).
Typeable a =>
VkImageCreateBitmask a -> DataType
toConstr :: VkImageCreateBitmask a -> Constr
$ctoConstr :: forall (a :: FlagType).
Typeable a =>
VkImageCreateBitmask a -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageCreateBitmask a)
$cgunfold :: forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageCreateBitmask a)
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageCreateBitmask a
-> c (VkImageCreateBitmask a)
$cgfoldl :: forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageCreateBitmask a
-> c (VkImageCreateBitmask a)
$cp1Data :: forall (a :: FlagType).
Typeable a =>
Typeable (VkImageCreateBitmask a)
Data, (forall x.
 VkImageCreateBitmask a -> Rep (VkImageCreateBitmask a) x)
-> (forall x.
    Rep (VkImageCreateBitmask a) x -> VkImageCreateBitmask a)
-> Generic (VkImageCreateBitmask a)
forall x. Rep (VkImageCreateBitmask a) x -> VkImageCreateBitmask a
forall x. VkImageCreateBitmask a -> Rep (VkImageCreateBitmask a) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (a :: FlagType) x.
Rep (VkImageCreateBitmask a) x -> VkImageCreateBitmask a
forall (a :: FlagType) x.
VkImageCreateBitmask a -> Rep (VkImageCreateBitmask a) x
$cto :: forall (a :: FlagType) x.
Rep (VkImageCreateBitmask a) x -> VkImageCreateBitmask a
$cfrom :: forall (a :: FlagType) x.
VkImageCreateBitmask a -> Rep (VkImageCreateBitmask a) x
Generic)

type VkImageCreateFlags = VkImageCreateBitmask FlagMask

type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit

pattern VkImageCreateFlagBits ::
        VkFlags -> VkImageCreateBitmask FlagBit

pattern $bVkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit
$mVkImageCreateFlagBits :: forall r.
VkImageCreateBitmask FlagBit -> (VkFlags -> r) -> (Void# -> r) -> r
VkImageCreateFlagBits n = VkImageCreateBitmask n

pattern VkImageCreateFlags ::
        VkFlags -> VkImageCreateBitmask FlagMask

pattern $bVkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask
$mVkImageCreateFlags :: forall r.
VkImageCreateBitmask FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkImageCreateFlags n = VkImageCreateBitmask n

deriving instance Bits (VkImageCreateBitmask FlagMask)

deriving instance FiniteBits (VkImageCreateBitmask FlagMask)

deriving instance Integral (VkImageCreateBitmask FlagMask)

deriving instance Num (VkImageCreateBitmask FlagMask)

deriving instance Bounded (VkImageCreateBitmask FlagMask)

deriving instance Enum (VkImageCreateBitmask FlagMask)

deriving instance Real (VkImageCreateBitmask FlagMask)

instance Show (VkImageCreateBitmask a) where
        showsPrec :: Int -> VkImageCreateBitmask a -> ShowS
showsPrec Int
_ VkImageCreateBitmask a
VK_IMAGE_CREATE_SPARSE_BINDING_BIT
          = String -> ShowS
showString String
"VK_IMAGE_CREATE_SPARSE_BINDING_BIT"
        showsPrec Int
_ VkImageCreateBitmask a
VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT
          = String -> ShowS
showString String
"VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT"
        showsPrec Int
_ VkImageCreateBitmask a
VK_IMAGE_CREATE_SPARSE_ALIASED_BIT
          = String -> ShowS
showString String
"VK_IMAGE_CREATE_SPARSE_ALIASED_BIT"
        showsPrec Int
_ VkImageCreateBitmask a
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT
          = String -> ShowS
showString String
"VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT"
        showsPrec Int
_ VkImageCreateBitmask a
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT
          = String -> ShowS
showString String
"VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT"
        showsPrec Int
p (VkImageCreateBitmask VkFlags
x)
          = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
              (String -> ShowS
showString String
"VkImageCreateBitmask " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> VkFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 VkFlags
x)

instance Read (VkImageCreateBitmask a) where
        readPrec :: ReadPrec (VkImageCreateBitmask a)
readPrec
          = ReadPrec (VkImageCreateBitmask a)
-> ReadPrec (VkImageCreateBitmask a)
forall a. ReadPrec a -> ReadPrec a
parens
              ([(String, ReadPrec (VkImageCreateBitmask a))]
-> ReadPrec (VkImageCreateBitmask a)
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
                 [(String
"VK_IMAGE_CREATE_SPARSE_BINDING_BIT",
                   VkImageCreateBitmask a -> ReadPrec (VkImageCreateBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageCreateBitmask a
forall (a :: FlagType). VkImageCreateBitmask a
VK_IMAGE_CREATE_SPARSE_BINDING_BIT),
                  (String
"VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT",
                   VkImageCreateBitmask a -> ReadPrec (VkImageCreateBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageCreateBitmask a
forall (a :: FlagType). VkImageCreateBitmask a
VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT),
                  (String
"VK_IMAGE_CREATE_SPARSE_ALIASED_BIT",
                   VkImageCreateBitmask a -> ReadPrec (VkImageCreateBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageCreateBitmask a
forall (a :: FlagType). VkImageCreateBitmask a
VK_IMAGE_CREATE_SPARSE_ALIASED_BIT),
                  (String
"VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT",
                   VkImageCreateBitmask a -> ReadPrec (VkImageCreateBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageCreateBitmask a
forall (a :: FlagType). VkImageCreateBitmask a
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT),
                  (String
"VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT",
                   VkImageCreateBitmask a -> ReadPrec (VkImageCreateBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageCreateBitmask a
forall (a :: FlagType). VkImageCreateBitmask a
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT)]
                 ReadPrec (VkImageCreateBitmask a)
-> ReadPrec (VkImageCreateBitmask a)
-> ReadPrec (VkImageCreateBitmask a)
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                 Int
-> ReadPrec (VkImageCreateBitmask a)
-> ReadPrec (VkImageCreateBitmask a)
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
                   (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkImageCreateBitmask") ReadPrec ()
-> ReadPrec (VkImageCreateBitmask a)
-> ReadPrec (VkImageCreateBitmask a)
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                      (VkFlags -> VkImageCreateBitmask a
forall (a :: FlagType). VkFlags -> VkImageCreateBitmask a
VkImageCreateBitmask (VkFlags -> VkImageCreateBitmask a)
-> ReadPrec VkFlags -> ReadPrec (VkImageCreateBitmask a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec VkFlags -> ReadPrec VkFlags
forall a. ReadPrec a -> ReadPrec a
step ReadPrec VkFlags
forall a. Read a => ReadPrec a
readPrec)))

-- | Image should support sparse backing
--
--   bitpos = @0@
pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT ::
        VkImageCreateBitmask a

pattern $bVK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a
$mVK_IMAGE_CREATE_SPARSE_BINDING_BIT :: forall r (a :: FlagType).
VkImageCreateBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_CREATE_SPARSE_BINDING_BIT = VkImageCreateBitmask 1

-- | Image should support sparse backing with partial residency
--
--   bitpos = @1@
pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT ::
        VkImageCreateBitmask a

pattern $bVK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a
$mVK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: forall r (a :: FlagType).
VkImageCreateBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT =
        VkImageCreateBitmask 2

-- | Image should support constent data access to physical memory ranges mapped into multiple locations of sparse images
--
--   bitpos = @2@
pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT ::
        VkImageCreateBitmask a

pattern $bVK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a
$mVK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: forall r (a :: FlagType).
VkImageCreateBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = VkImageCreateBitmask 4

-- | Allows image views to have different format than the base image
--
--   bitpos = @3@
pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT ::
        VkImageCreateBitmask a

pattern $bVK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a
$mVK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: forall r (a :: FlagType).
VkImageCreateBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = VkImageCreateBitmask 8

-- | Allows creating image views with cube type from the created image
--
--   bitpos = @4@
pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT ::
        VkImageCreateBitmask a

pattern $bVK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a
$mVK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: forall r (a :: FlagType).
VkImageCreateBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT =
        VkImageCreateBitmask 16

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageLayout VkImageLayout registry at www.khronos.org>
newtype VkImageLayout = VkImageLayout Int32
                          deriving (VkImageLayout -> VkImageLayout -> Bool
(VkImageLayout -> VkImageLayout -> Bool)
-> (VkImageLayout -> VkImageLayout -> Bool) -> Eq VkImageLayout
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkImageLayout -> VkImageLayout -> Bool
$c/= :: VkImageLayout -> VkImageLayout -> Bool
== :: VkImageLayout -> VkImageLayout -> Bool
$c== :: VkImageLayout -> VkImageLayout -> Bool
Eq, Eq VkImageLayout
Eq VkImageLayout
-> (VkImageLayout -> VkImageLayout -> Ordering)
-> (VkImageLayout -> VkImageLayout -> Bool)
-> (VkImageLayout -> VkImageLayout -> Bool)
-> (VkImageLayout -> VkImageLayout -> Bool)
-> (VkImageLayout -> VkImageLayout -> Bool)
-> (VkImageLayout -> VkImageLayout -> VkImageLayout)
-> (VkImageLayout -> VkImageLayout -> VkImageLayout)
-> Ord VkImageLayout
VkImageLayout -> VkImageLayout -> Bool
VkImageLayout -> VkImageLayout -> Ordering
VkImageLayout -> VkImageLayout -> VkImageLayout
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: VkImageLayout -> VkImageLayout -> VkImageLayout
$cmin :: VkImageLayout -> VkImageLayout -> VkImageLayout
max :: VkImageLayout -> VkImageLayout -> VkImageLayout
$cmax :: VkImageLayout -> VkImageLayout -> VkImageLayout
>= :: VkImageLayout -> VkImageLayout -> Bool
$c>= :: VkImageLayout -> VkImageLayout -> Bool
> :: VkImageLayout -> VkImageLayout -> Bool
$c> :: VkImageLayout -> VkImageLayout -> Bool
<= :: VkImageLayout -> VkImageLayout -> Bool
$c<= :: VkImageLayout -> VkImageLayout -> Bool
< :: VkImageLayout -> VkImageLayout -> Bool
$c< :: VkImageLayout -> VkImageLayout -> Bool
compare :: VkImageLayout -> VkImageLayout -> Ordering
$ccompare :: VkImageLayout -> VkImageLayout -> Ordering
$cp1Ord :: Eq VkImageLayout
Ord, Integer -> VkImageLayout
VkImageLayout -> VkImageLayout
VkImageLayout -> VkImageLayout -> VkImageLayout
(VkImageLayout -> VkImageLayout -> VkImageLayout)
-> (VkImageLayout -> VkImageLayout -> VkImageLayout)
-> (VkImageLayout -> VkImageLayout -> VkImageLayout)
-> (VkImageLayout -> VkImageLayout)
-> (VkImageLayout -> VkImageLayout)
-> (VkImageLayout -> VkImageLayout)
-> (Integer -> VkImageLayout)
-> Num VkImageLayout
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> VkImageLayout
$cfromInteger :: Integer -> VkImageLayout
signum :: VkImageLayout -> VkImageLayout
$csignum :: VkImageLayout -> VkImageLayout
abs :: VkImageLayout -> VkImageLayout
$cabs :: VkImageLayout -> VkImageLayout
negate :: VkImageLayout -> VkImageLayout
$cnegate :: VkImageLayout -> VkImageLayout
* :: VkImageLayout -> VkImageLayout -> VkImageLayout
$c* :: VkImageLayout -> VkImageLayout -> VkImageLayout
- :: VkImageLayout -> VkImageLayout -> VkImageLayout
$c- :: VkImageLayout -> VkImageLayout -> VkImageLayout
+ :: VkImageLayout -> VkImageLayout -> VkImageLayout
$c+ :: VkImageLayout -> VkImageLayout -> VkImageLayout
Num, VkImageLayout
VkImageLayout -> VkImageLayout -> Bounded VkImageLayout
forall a. a -> a -> Bounded a
maxBound :: VkImageLayout
$cmaxBound :: VkImageLayout
minBound :: VkImageLayout
$cminBound :: VkImageLayout
Bounded, Ptr b -> Int -> IO VkImageLayout
Ptr b -> Int -> VkImageLayout -> IO ()
Ptr VkImageLayout -> IO VkImageLayout
Ptr VkImageLayout -> Int -> IO VkImageLayout
Ptr VkImageLayout -> Int -> VkImageLayout -> IO ()
Ptr VkImageLayout -> VkImageLayout -> IO ()
VkImageLayout -> Int
(VkImageLayout -> Int)
-> (VkImageLayout -> Int)
-> (Ptr VkImageLayout -> Int -> IO VkImageLayout)
-> (Ptr VkImageLayout -> Int -> VkImageLayout -> IO ())
-> (forall b. Ptr b -> Int -> IO VkImageLayout)
-> (forall b. Ptr b -> Int -> VkImageLayout -> IO ())
-> (Ptr VkImageLayout -> IO VkImageLayout)
-> (Ptr VkImageLayout -> VkImageLayout -> IO ())
-> Storable VkImageLayout
forall b. Ptr b -> Int -> IO VkImageLayout
forall b. Ptr b -> Int -> VkImageLayout -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr VkImageLayout -> VkImageLayout -> IO ()
$cpoke :: Ptr VkImageLayout -> VkImageLayout -> IO ()
peek :: Ptr VkImageLayout -> IO VkImageLayout
$cpeek :: Ptr VkImageLayout -> IO VkImageLayout
pokeByteOff :: Ptr b -> Int -> VkImageLayout -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkImageLayout -> IO ()
peekByteOff :: Ptr b -> Int -> IO VkImageLayout
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkImageLayout
pokeElemOff :: Ptr VkImageLayout -> Int -> VkImageLayout -> IO ()
$cpokeElemOff :: Ptr VkImageLayout -> Int -> VkImageLayout -> IO ()
peekElemOff :: Ptr VkImageLayout -> Int -> IO VkImageLayout
$cpeekElemOff :: Ptr VkImageLayout -> Int -> IO VkImageLayout
alignment :: VkImageLayout -> Int
$calignment :: VkImageLayout -> Int
sizeOf :: VkImageLayout -> Int
$csizeOf :: VkImageLayout -> Int
Storable, Int -> VkImageLayout
VkImageLayout -> Int
VkImageLayout -> [VkImageLayout]
VkImageLayout -> VkImageLayout
VkImageLayout -> VkImageLayout -> [VkImageLayout]
VkImageLayout -> VkImageLayout -> VkImageLayout -> [VkImageLayout]
(VkImageLayout -> VkImageLayout)
-> (VkImageLayout -> VkImageLayout)
-> (Int -> VkImageLayout)
-> (VkImageLayout -> Int)
-> (VkImageLayout -> [VkImageLayout])
-> (VkImageLayout -> VkImageLayout -> [VkImageLayout])
-> (VkImageLayout -> VkImageLayout -> [VkImageLayout])
-> (VkImageLayout
    -> VkImageLayout -> VkImageLayout -> [VkImageLayout])
-> Enum VkImageLayout
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: VkImageLayout -> VkImageLayout -> VkImageLayout -> [VkImageLayout]
$cenumFromThenTo :: VkImageLayout -> VkImageLayout -> VkImageLayout -> [VkImageLayout]
enumFromTo :: VkImageLayout -> VkImageLayout -> [VkImageLayout]
$cenumFromTo :: VkImageLayout -> VkImageLayout -> [VkImageLayout]
enumFromThen :: VkImageLayout -> VkImageLayout -> [VkImageLayout]
$cenumFromThen :: VkImageLayout -> VkImageLayout -> [VkImageLayout]
enumFrom :: VkImageLayout -> [VkImageLayout]
$cenumFrom :: VkImageLayout -> [VkImageLayout]
fromEnum :: VkImageLayout -> Int
$cfromEnum :: VkImageLayout -> Int
toEnum :: Int -> VkImageLayout
$ctoEnum :: Int -> VkImageLayout
pred :: VkImageLayout -> VkImageLayout
$cpred :: VkImageLayout -> VkImageLayout
succ :: VkImageLayout -> VkImageLayout
$csucc :: VkImageLayout -> VkImageLayout
Enum, Typeable VkImageLayout
DataType
Constr
Typeable VkImageLayout
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> VkImageLayout -> c VkImageLayout)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c VkImageLayout)
-> (VkImageLayout -> Constr)
-> (VkImageLayout -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c VkImageLayout))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c VkImageLayout))
-> ((forall b. Data b => b -> b) -> VkImageLayout -> VkImageLayout)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> VkImageLayout -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> VkImageLayout -> r)
-> (forall u. (forall d. Data d => d -> u) -> VkImageLayout -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> VkImageLayout -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> VkImageLayout -> m VkImageLayout)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> VkImageLayout -> m VkImageLayout)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> VkImageLayout -> m VkImageLayout)
-> Data VkImageLayout
VkImageLayout -> DataType
VkImageLayout -> Constr
(forall b. Data b => b -> b) -> VkImageLayout -> VkImageLayout
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageLayout -> c VkImageLayout
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageLayout
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> VkImageLayout -> u
forall u. (forall d. Data d => d -> u) -> VkImageLayout -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageLayout -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageLayout -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> VkImageLayout -> m VkImageLayout
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> VkImageLayout -> m VkImageLayout
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageLayout
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageLayout -> c VkImageLayout
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c VkImageLayout)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkImageLayout)
$cVkImageLayout :: Constr
$tVkImageLayout :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> VkImageLayout -> m VkImageLayout
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> VkImageLayout -> m VkImageLayout
gmapMp :: (forall d. Data d => d -> m d) -> VkImageLayout -> m VkImageLayout
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> VkImageLayout -> m VkImageLayout
gmapM :: (forall d. Data d => d -> m d) -> VkImageLayout -> m VkImageLayout
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> VkImageLayout -> m VkImageLayout
gmapQi :: Int -> (forall d. Data d => d -> u) -> VkImageLayout -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> VkImageLayout -> u
gmapQ :: (forall d. Data d => d -> u) -> VkImageLayout -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> VkImageLayout -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageLayout -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageLayout -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageLayout -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageLayout -> r
gmapT :: (forall b. Data b => b -> b) -> VkImageLayout -> VkImageLayout
$cgmapT :: (forall b. Data b => b -> b) -> VkImageLayout -> VkImageLayout
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkImageLayout)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkImageLayout)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c VkImageLayout)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c VkImageLayout)
dataTypeOf :: VkImageLayout -> DataType
$cdataTypeOf :: VkImageLayout -> DataType
toConstr :: VkImageLayout -> Constr
$ctoConstr :: VkImageLayout -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageLayout
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageLayout
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageLayout -> c VkImageLayout
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageLayout -> c VkImageLayout
$cp1Data :: Typeable VkImageLayout
Data, (forall x. VkImageLayout -> Rep VkImageLayout x)
-> (forall x. Rep VkImageLayout x -> VkImageLayout)
-> Generic VkImageLayout
forall x. Rep VkImageLayout x -> VkImageLayout
forall x. VkImageLayout -> Rep VkImageLayout x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep VkImageLayout x -> VkImageLayout
$cfrom :: forall x. VkImageLayout -> Rep VkImageLayout x
Generic)

instance Show VkImageLayout where
        showsPrec :: Int -> VkImageLayout -> ShowS
showsPrec Int
_ VkImageLayout
VK_IMAGE_LAYOUT_UNDEFINED
          = String -> ShowS
showString String
"VK_IMAGE_LAYOUT_UNDEFINED"
        showsPrec Int
_ VkImageLayout
VK_IMAGE_LAYOUT_GENERAL
          = String -> ShowS
showString String
"VK_IMAGE_LAYOUT_GENERAL"
        showsPrec Int
_ VkImageLayout
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
          = String -> ShowS
showString String
"VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL"
        showsPrec Int
_ VkImageLayout
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
          = String -> ShowS
showString String
"VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL"
        showsPrec Int
_ VkImageLayout
VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
          = String -> ShowS
showString String
"VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL"
        showsPrec Int
_ VkImageLayout
VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
          = String -> ShowS
showString String
"VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL"
        showsPrec Int
_ VkImageLayout
VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
          = String -> ShowS
showString String
"VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL"
        showsPrec Int
_ VkImageLayout
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
          = String -> ShowS
showString String
"VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL"
        showsPrec Int
_ VkImageLayout
VK_IMAGE_LAYOUT_PREINITIALIZED
          = String -> ShowS
showString String
"VK_IMAGE_LAYOUT_PREINITIALIZED"
        showsPrec Int
p (VkImageLayout Int32
x)
          = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
              (String -> ShowS
showString String
"VkImageLayout " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 Int32
x)

instance Read VkImageLayout where
        readPrec :: ReadPrec VkImageLayout
readPrec
          = ReadPrec VkImageLayout -> ReadPrec VkImageLayout
forall a. ReadPrec a -> ReadPrec a
parens
              ([(String, ReadPrec VkImageLayout)] -> ReadPrec VkImageLayout
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
                 [(String
"VK_IMAGE_LAYOUT_UNDEFINED", VkImageLayout -> ReadPrec VkImageLayout
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageLayout
VK_IMAGE_LAYOUT_UNDEFINED),
                  (String
"VK_IMAGE_LAYOUT_GENERAL", VkImageLayout -> ReadPrec VkImageLayout
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageLayout
VK_IMAGE_LAYOUT_GENERAL),
                  (String
"VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL",
                   VkImageLayout -> ReadPrec VkImageLayout
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageLayout
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL),
                  (String
"VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL",
                   VkImageLayout -> ReadPrec VkImageLayout
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageLayout
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL),
                  (String
"VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL",
                   VkImageLayout -> ReadPrec VkImageLayout
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageLayout
VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL),
                  (String
"VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL",
                   VkImageLayout -> ReadPrec VkImageLayout
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageLayout
VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL),
                  (String
"VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL",
                   VkImageLayout -> ReadPrec VkImageLayout
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageLayout
VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL),
                  (String
"VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL",
                   VkImageLayout -> ReadPrec VkImageLayout
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageLayout
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL),
                  (String
"VK_IMAGE_LAYOUT_PREINITIALIZED",
                   VkImageLayout -> ReadPrec VkImageLayout
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageLayout
VK_IMAGE_LAYOUT_PREINITIALIZED)]
                 ReadPrec VkImageLayout
-> ReadPrec VkImageLayout -> ReadPrec VkImageLayout
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                 Int -> ReadPrec VkImageLayout -> ReadPrec VkImageLayout
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
                   (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkImageLayout") ReadPrec () -> ReadPrec VkImageLayout -> ReadPrec VkImageLayout
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                      (Int32 -> VkImageLayout
VkImageLayout (Int32 -> VkImageLayout)
-> ReadPrec Int32 -> ReadPrec VkImageLayout
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec Int32 -> ReadPrec Int32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Int32
forall a. Read a => ReadPrec a
readPrec)))

-- | Implicit layout an image is when its contents are undefined due to various reasons (e.g. right after creation)
pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout

pattern $bVK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout
$mVK_IMAGE_LAYOUT_UNDEFINED :: forall r. VkImageLayout -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_LAYOUT_UNDEFINED = VkImageLayout 0

-- | General layout when image can be used for any kind of access
pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout

pattern $bVK_IMAGE_LAYOUT_GENERAL :: VkImageLayout
$mVK_IMAGE_LAYOUT_GENERAL :: forall r. VkImageLayout -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_LAYOUT_GENERAL = VkImageLayout 1

-- | Optimal layout when image is only used for color attachment read/write
pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout

pattern $bVK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout
$mVK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: forall r. VkImageLayout -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = VkImageLayout 2

-- | Optimal layout when image is only used for depth/stencil attachment read/write
pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL ::
        VkImageLayout

pattern $bVK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout
$mVK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: forall r. VkImageLayout -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL =
        VkImageLayout 3

-- | Optimal layout when image is used for read only depth/stencil attachment and shader access
pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL ::
        VkImageLayout

pattern $bVK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout
$mVK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: forall r. VkImageLayout -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL =
        VkImageLayout 4

-- | Optimal layout when image is used for read only shader access
pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout

pattern $bVK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout
$mVK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: forall r. VkImageLayout -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = VkImageLayout 5

-- | Optimal layout when image is used only as source of transfer operations
pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout

pattern $bVK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout
$mVK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: forall r. VkImageLayout -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = VkImageLayout 6

-- | Optimal layout when image is used only as destination of transfer operations
pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout

pattern $bVK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout
$mVK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: forall r. VkImageLayout -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = VkImageLayout 7

-- | Initial layout used when the data is populated by the CPU
pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout

pattern $bVK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout
$mVK_IMAGE_LAYOUT_PREINITIALIZED :: forall r. VkImageLayout -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_LAYOUT_PREINITIALIZED = VkImageLayout 8

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageTiling VkImageTiling registry at www.khronos.org>
newtype VkImageTiling = VkImageTiling Int32
                          deriving (VkImageTiling -> VkImageTiling -> Bool
(VkImageTiling -> VkImageTiling -> Bool)
-> (VkImageTiling -> VkImageTiling -> Bool) -> Eq VkImageTiling
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkImageTiling -> VkImageTiling -> Bool
$c/= :: VkImageTiling -> VkImageTiling -> Bool
== :: VkImageTiling -> VkImageTiling -> Bool
$c== :: VkImageTiling -> VkImageTiling -> Bool
Eq, Eq VkImageTiling
Eq VkImageTiling
-> (VkImageTiling -> VkImageTiling -> Ordering)
-> (VkImageTiling -> VkImageTiling -> Bool)
-> (VkImageTiling -> VkImageTiling -> Bool)
-> (VkImageTiling -> VkImageTiling -> Bool)
-> (VkImageTiling -> VkImageTiling -> Bool)
-> (VkImageTiling -> VkImageTiling -> VkImageTiling)
-> (VkImageTiling -> VkImageTiling -> VkImageTiling)
-> Ord VkImageTiling
VkImageTiling -> VkImageTiling -> Bool
VkImageTiling -> VkImageTiling -> Ordering
VkImageTiling -> VkImageTiling -> VkImageTiling
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: VkImageTiling -> VkImageTiling -> VkImageTiling
$cmin :: VkImageTiling -> VkImageTiling -> VkImageTiling
max :: VkImageTiling -> VkImageTiling -> VkImageTiling
$cmax :: VkImageTiling -> VkImageTiling -> VkImageTiling
>= :: VkImageTiling -> VkImageTiling -> Bool
$c>= :: VkImageTiling -> VkImageTiling -> Bool
> :: VkImageTiling -> VkImageTiling -> Bool
$c> :: VkImageTiling -> VkImageTiling -> Bool
<= :: VkImageTiling -> VkImageTiling -> Bool
$c<= :: VkImageTiling -> VkImageTiling -> Bool
< :: VkImageTiling -> VkImageTiling -> Bool
$c< :: VkImageTiling -> VkImageTiling -> Bool
compare :: VkImageTiling -> VkImageTiling -> Ordering
$ccompare :: VkImageTiling -> VkImageTiling -> Ordering
$cp1Ord :: Eq VkImageTiling
Ord, Integer -> VkImageTiling
VkImageTiling -> VkImageTiling
VkImageTiling -> VkImageTiling -> VkImageTiling
(VkImageTiling -> VkImageTiling -> VkImageTiling)
-> (VkImageTiling -> VkImageTiling -> VkImageTiling)
-> (VkImageTiling -> VkImageTiling -> VkImageTiling)
-> (VkImageTiling -> VkImageTiling)
-> (VkImageTiling -> VkImageTiling)
-> (VkImageTiling -> VkImageTiling)
-> (Integer -> VkImageTiling)
-> Num VkImageTiling
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> VkImageTiling
$cfromInteger :: Integer -> VkImageTiling
signum :: VkImageTiling -> VkImageTiling
$csignum :: VkImageTiling -> VkImageTiling
abs :: VkImageTiling -> VkImageTiling
$cabs :: VkImageTiling -> VkImageTiling
negate :: VkImageTiling -> VkImageTiling
$cnegate :: VkImageTiling -> VkImageTiling
* :: VkImageTiling -> VkImageTiling -> VkImageTiling
$c* :: VkImageTiling -> VkImageTiling -> VkImageTiling
- :: VkImageTiling -> VkImageTiling -> VkImageTiling
$c- :: VkImageTiling -> VkImageTiling -> VkImageTiling
+ :: VkImageTiling -> VkImageTiling -> VkImageTiling
$c+ :: VkImageTiling -> VkImageTiling -> VkImageTiling
Num, VkImageTiling
VkImageTiling -> VkImageTiling -> Bounded VkImageTiling
forall a. a -> a -> Bounded a
maxBound :: VkImageTiling
$cmaxBound :: VkImageTiling
minBound :: VkImageTiling
$cminBound :: VkImageTiling
Bounded, Ptr b -> Int -> IO VkImageTiling
Ptr b -> Int -> VkImageTiling -> IO ()
Ptr VkImageTiling -> IO VkImageTiling
Ptr VkImageTiling -> Int -> IO VkImageTiling
Ptr VkImageTiling -> Int -> VkImageTiling -> IO ()
Ptr VkImageTiling -> VkImageTiling -> IO ()
VkImageTiling -> Int
(VkImageTiling -> Int)
-> (VkImageTiling -> Int)
-> (Ptr VkImageTiling -> Int -> IO VkImageTiling)
-> (Ptr VkImageTiling -> Int -> VkImageTiling -> IO ())
-> (forall b. Ptr b -> Int -> IO VkImageTiling)
-> (forall b. Ptr b -> Int -> VkImageTiling -> IO ())
-> (Ptr VkImageTiling -> IO VkImageTiling)
-> (Ptr VkImageTiling -> VkImageTiling -> IO ())
-> Storable VkImageTiling
forall b. Ptr b -> Int -> IO VkImageTiling
forall b. Ptr b -> Int -> VkImageTiling -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr VkImageTiling -> VkImageTiling -> IO ()
$cpoke :: Ptr VkImageTiling -> VkImageTiling -> IO ()
peek :: Ptr VkImageTiling -> IO VkImageTiling
$cpeek :: Ptr VkImageTiling -> IO VkImageTiling
pokeByteOff :: Ptr b -> Int -> VkImageTiling -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkImageTiling -> IO ()
peekByteOff :: Ptr b -> Int -> IO VkImageTiling
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkImageTiling
pokeElemOff :: Ptr VkImageTiling -> Int -> VkImageTiling -> IO ()
$cpokeElemOff :: Ptr VkImageTiling -> Int -> VkImageTiling -> IO ()
peekElemOff :: Ptr VkImageTiling -> Int -> IO VkImageTiling
$cpeekElemOff :: Ptr VkImageTiling -> Int -> IO VkImageTiling
alignment :: VkImageTiling -> Int
$calignment :: VkImageTiling -> Int
sizeOf :: VkImageTiling -> Int
$csizeOf :: VkImageTiling -> Int
Storable, Int -> VkImageTiling
VkImageTiling -> Int
VkImageTiling -> [VkImageTiling]
VkImageTiling -> VkImageTiling
VkImageTiling -> VkImageTiling -> [VkImageTiling]
VkImageTiling -> VkImageTiling -> VkImageTiling -> [VkImageTiling]
(VkImageTiling -> VkImageTiling)
-> (VkImageTiling -> VkImageTiling)
-> (Int -> VkImageTiling)
-> (VkImageTiling -> Int)
-> (VkImageTiling -> [VkImageTiling])
-> (VkImageTiling -> VkImageTiling -> [VkImageTiling])
-> (VkImageTiling -> VkImageTiling -> [VkImageTiling])
-> (VkImageTiling
    -> VkImageTiling -> VkImageTiling -> [VkImageTiling])
-> Enum VkImageTiling
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: VkImageTiling -> VkImageTiling -> VkImageTiling -> [VkImageTiling]
$cenumFromThenTo :: VkImageTiling -> VkImageTiling -> VkImageTiling -> [VkImageTiling]
enumFromTo :: VkImageTiling -> VkImageTiling -> [VkImageTiling]
$cenumFromTo :: VkImageTiling -> VkImageTiling -> [VkImageTiling]
enumFromThen :: VkImageTiling -> VkImageTiling -> [VkImageTiling]
$cenumFromThen :: VkImageTiling -> VkImageTiling -> [VkImageTiling]
enumFrom :: VkImageTiling -> [VkImageTiling]
$cenumFrom :: VkImageTiling -> [VkImageTiling]
fromEnum :: VkImageTiling -> Int
$cfromEnum :: VkImageTiling -> Int
toEnum :: Int -> VkImageTiling
$ctoEnum :: Int -> VkImageTiling
pred :: VkImageTiling -> VkImageTiling
$cpred :: VkImageTiling -> VkImageTiling
succ :: VkImageTiling -> VkImageTiling
$csucc :: VkImageTiling -> VkImageTiling
Enum, Typeable VkImageTiling
DataType
Constr
Typeable VkImageTiling
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> VkImageTiling -> c VkImageTiling)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c VkImageTiling)
-> (VkImageTiling -> Constr)
-> (VkImageTiling -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c VkImageTiling))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c VkImageTiling))
-> ((forall b. Data b => b -> b) -> VkImageTiling -> VkImageTiling)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> VkImageTiling -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> VkImageTiling -> r)
-> (forall u. (forall d. Data d => d -> u) -> VkImageTiling -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> VkImageTiling -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> VkImageTiling -> m VkImageTiling)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> VkImageTiling -> m VkImageTiling)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> VkImageTiling -> m VkImageTiling)
-> Data VkImageTiling
VkImageTiling -> DataType
VkImageTiling -> Constr
(forall b. Data b => b -> b) -> VkImageTiling -> VkImageTiling
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageTiling -> c VkImageTiling
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageTiling
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> VkImageTiling -> u
forall u. (forall d. Data d => d -> u) -> VkImageTiling -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageTiling -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageTiling -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> VkImageTiling -> m VkImageTiling
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> VkImageTiling -> m VkImageTiling
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageTiling
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageTiling -> c VkImageTiling
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c VkImageTiling)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkImageTiling)
$cVkImageTiling :: Constr
$tVkImageTiling :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> VkImageTiling -> m VkImageTiling
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> VkImageTiling -> m VkImageTiling
gmapMp :: (forall d. Data d => d -> m d) -> VkImageTiling -> m VkImageTiling
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> VkImageTiling -> m VkImageTiling
gmapM :: (forall d. Data d => d -> m d) -> VkImageTiling -> m VkImageTiling
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> VkImageTiling -> m VkImageTiling
gmapQi :: Int -> (forall d. Data d => d -> u) -> VkImageTiling -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> VkImageTiling -> u
gmapQ :: (forall d. Data d => d -> u) -> VkImageTiling -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> VkImageTiling -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageTiling -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageTiling -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageTiling -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageTiling -> r
gmapT :: (forall b. Data b => b -> b) -> VkImageTiling -> VkImageTiling
$cgmapT :: (forall b. Data b => b -> b) -> VkImageTiling -> VkImageTiling
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkImageTiling)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkImageTiling)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c VkImageTiling)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c VkImageTiling)
dataTypeOf :: VkImageTiling -> DataType
$cdataTypeOf :: VkImageTiling -> DataType
toConstr :: VkImageTiling -> Constr
$ctoConstr :: VkImageTiling -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageTiling
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageTiling
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageTiling -> c VkImageTiling
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageTiling -> c VkImageTiling
$cp1Data :: Typeable VkImageTiling
Data, (forall x. VkImageTiling -> Rep VkImageTiling x)
-> (forall x. Rep VkImageTiling x -> VkImageTiling)
-> Generic VkImageTiling
forall x. Rep VkImageTiling x -> VkImageTiling
forall x. VkImageTiling -> Rep VkImageTiling x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep VkImageTiling x -> VkImageTiling
$cfrom :: forall x. VkImageTiling -> Rep VkImageTiling x
Generic)

instance Show VkImageTiling where
        showsPrec :: Int -> VkImageTiling -> ShowS
showsPrec Int
_ VkImageTiling
VK_IMAGE_TILING_OPTIMAL
          = String -> ShowS
showString String
"VK_IMAGE_TILING_OPTIMAL"
        showsPrec Int
_ VkImageTiling
VK_IMAGE_TILING_LINEAR
          = String -> ShowS
showString String
"VK_IMAGE_TILING_LINEAR"
        showsPrec Int
p (VkImageTiling Int32
x)
          = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
              (String -> ShowS
showString String
"VkImageTiling " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 Int32
x)

instance Read VkImageTiling where
        readPrec :: ReadPrec VkImageTiling
readPrec
          = ReadPrec VkImageTiling -> ReadPrec VkImageTiling
forall a. ReadPrec a -> ReadPrec a
parens
              ([(String, ReadPrec VkImageTiling)] -> ReadPrec VkImageTiling
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
                 [(String
"VK_IMAGE_TILING_OPTIMAL", VkImageTiling -> ReadPrec VkImageTiling
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageTiling
VK_IMAGE_TILING_OPTIMAL),
                  (String
"VK_IMAGE_TILING_LINEAR", VkImageTiling -> ReadPrec VkImageTiling
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageTiling
VK_IMAGE_TILING_LINEAR)]
                 ReadPrec VkImageTiling
-> ReadPrec VkImageTiling -> ReadPrec VkImageTiling
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                 Int -> ReadPrec VkImageTiling -> ReadPrec VkImageTiling
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
                   (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkImageTiling") ReadPrec () -> ReadPrec VkImageTiling -> ReadPrec VkImageTiling
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                      (Int32 -> VkImageTiling
VkImageTiling (Int32 -> VkImageTiling)
-> ReadPrec Int32 -> ReadPrec VkImageTiling
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec Int32 -> ReadPrec Int32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Int32
forall a. Read a => ReadPrec a
readPrec)))

pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling

pattern $bVK_IMAGE_TILING_OPTIMAL :: VkImageTiling
$mVK_IMAGE_TILING_OPTIMAL :: forall r. VkImageTiling -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_TILING_OPTIMAL = VkImageTiling 0

pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling

pattern $bVK_IMAGE_TILING_LINEAR :: VkImageTiling
$mVK_IMAGE_TILING_LINEAR :: forall r. VkImageTiling -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_TILING_LINEAR = VkImageTiling 1

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageType VkImageType registry at www.khronos.org>
newtype VkImageType = VkImageType Int32
                        deriving (VkImageType -> VkImageType -> Bool
(VkImageType -> VkImageType -> Bool)
-> (VkImageType -> VkImageType -> Bool) -> Eq VkImageType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkImageType -> VkImageType -> Bool
$c/= :: VkImageType -> VkImageType -> Bool
== :: VkImageType -> VkImageType -> Bool
$c== :: VkImageType -> VkImageType -> Bool
Eq, Eq VkImageType
Eq VkImageType
-> (VkImageType -> VkImageType -> Ordering)
-> (VkImageType -> VkImageType -> Bool)
-> (VkImageType -> VkImageType -> Bool)
-> (VkImageType -> VkImageType -> Bool)
-> (VkImageType -> VkImageType -> Bool)
-> (VkImageType -> VkImageType -> VkImageType)
-> (VkImageType -> VkImageType -> VkImageType)
-> Ord VkImageType
VkImageType -> VkImageType -> Bool
VkImageType -> VkImageType -> Ordering
VkImageType -> VkImageType -> VkImageType
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: VkImageType -> VkImageType -> VkImageType
$cmin :: VkImageType -> VkImageType -> VkImageType
max :: VkImageType -> VkImageType -> VkImageType
$cmax :: VkImageType -> VkImageType -> VkImageType
>= :: VkImageType -> VkImageType -> Bool
$c>= :: VkImageType -> VkImageType -> Bool
> :: VkImageType -> VkImageType -> Bool
$c> :: VkImageType -> VkImageType -> Bool
<= :: VkImageType -> VkImageType -> Bool
$c<= :: VkImageType -> VkImageType -> Bool
< :: VkImageType -> VkImageType -> Bool
$c< :: VkImageType -> VkImageType -> Bool
compare :: VkImageType -> VkImageType -> Ordering
$ccompare :: VkImageType -> VkImageType -> Ordering
$cp1Ord :: Eq VkImageType
Ord, Integer -> VkImageType
VkImageType -> VkImageType
VkImageType -> VkImageType -> VkImageType
(VkImageType -> VkImageType -> VkImageType)
-> (VkImageType -> VkImageType -> VkImageType)
-> (VkImageType -> VkImageType -> VkImageType)
-> (VkImageType -> VkImageType)
-> (VkImageType -> VkImageType)
-> (VkImageType -> VkImageType)
-> (Integer -> VkImageType)
-> Num VkImageType
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> VkImageType
$cfromInteger :: Integer -> VkImageType
signum :: VkImageType -> VkImageType
$csignum :: VkImageType -> VkImageType
abs :: VkImageType -> VkImageType
$cabs :: VkImageType -> VkImageType
negate :: VkImageType -> VkImageType
$cnegate :: VkImageType -> VkImageType
* :: VkImageType -> VkImageType -> VkImageType
$c* :: VkImageType -> VkImageType -> VkImageType
- :: VkImageType -> VkImageType -> VkImageType
$c- :: VkImageType -> VkImageType -> VkImageType
+ :: VkImageType -> VkImageType -> VkImageType
$c+ :: VkImageType -> VkImageType -> VkImageType
Num, VkImageType
VkImageType -> VkImageType -> Bounded VkImageType
forall a. a -> a -> Bounded a
maxBound :: VkImageType
$cmaxBound :: VkImageType
minBound :: VkImageType
$cminBound :: VkImageType
Bounded, Ptr b -> Int -> IO VkImageType
Ptr b -> Int -> VkImageType -> IO ()
Ptr VkImageType -> IO VkImageType
Ptr VkImageType -> Int -> IO VkImageType
Ptr VkImageType -> Int -> VkImageType -> IO ()
Ptr VkImageType -> VkImageType -> IO ()
VkImageType -> Int
(VkImageType -> Int)
-> (VkImageType -> Int)
-> (Ptr VkImageType -> Int -> IO VkImageType)
-> (Ptr VkImageType -> Int -> VkImageType -> IO ())
-> (forall b. Ptr b -> Int -> IO VkImageType)
-> (forall b. Ptr b -> Int -> VkImageType -> IO ())
-> (Ptr VkImageType -> IO VkImageType)
-> (Ptr VkImageType -> VkImageType -> IO ())
-> Storable VkImageType
forall b. Ptr b -> Int -> IO VkImageType
forall b. Ptr b -> Int -> VkImageType -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr VkImageType -> VkImageType -> IO ()
$cpoke :: Ptr VkImageType -> VkImageType -> IO ()
peek :: Ptr VkImageType -> IO VkImageType
$cpeek :: Ptr VkImageType -> IO VkImageType
pokeByteOff :: Ptr b -> Int -> VkImageType -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkImageType -> IO ()
peekByteOff :: Ptr b -> Int -> IO VkImageType
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkImageType
pokeElemOff :: Ptr VkImageType -> Int -> VkImageType -> IO ()
$cpokeElemOff :: Ptr VkImageType -> Int -> VkImageType -> IO ()
peekElemOff :: Ptr VkImageType -> Int -> IO VkImageType
$cpeekElemOff :: Ptr VkImageType -> Int -> IO VkImageType
alignment :: VkImageType -> Int
$calignment :: VkImageType -> Int
sizeOf :: VkImageType -> Int
$csizeOf :: VkImageType -> Int
Storable, Int -> VkImageType
VkImageType -> Int
VkImageType -> [VkImageType]
VkImageType -> VkImageType
VkImageType -> VkImageType -> [VkImageType]
VkImageType -> VkImageType -> VkImageType -> [VkImageType]
(VkImageType -> VkImageType)
-> (VkImageType -> VkImageType)
-> (Int -> VkImageType)
-> (VkImageType -> Int)
-> (VkImageType -> [VkImageType])
-> (VkImageType -> VkImageType -> [VkImageType])
-> (VkImageType -> VkImageType -> [VkImageType])
-> (VkImageType -> VkImageType -> VkImageType -> [VkImageType])
-> Enum VkImageType
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: VkImageType -> VkImageType -> VkImageType -> [VkImageType]
$cenumFromThenTo :: VkImageType -> VkImageType -> VkImageType -> [VkImageType]
enumFromTo :: VkImageType -> VkImageType -> [VkImageType]
$cenumFromTo :: VkImageType -> VkImageType -> [VkImageType]
enumFromThen :: VkImageType -> VkImageType -> [VkImageType]
$cenumFromThen :: VkImageType -> VkImageType -> [VkImageType]
enumFrom :: VkImageType -> [VkImageType]
$cenumFrom :: VkImageType -> [VkImageType]
fromEnum :: VkImageType -> Int
$cfromEnum :: VkImageType -> Int
toEnum :: Int -> VkImageType
$ctoEnum :: Int -> VkImageType
pred :: VkImageType -> VkImageType
$cpred :: VkImageType -> VkImageType
succ :: VkImageType -> VkImageType
$csucc :: VkImageType -> VkImageType
Enum, Typeable VkImageType
DataType
Constr
Typeable VkImageType
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> VkImageType -> c VkImageType)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c VkImageType)
-> (VkImageType -> Constr)
-> (VkImageType -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c VkImageType))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c VkImageType))
-> ((forall b. Data b => b -> b) -> VkImageType -> VkImageType)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> VkImageType -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> VkImageType -> r)
-> (forall u. (forall d. Data d => d -> u) -> VkImageType -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> VkImageType -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> VkImageType -> m VkImageType)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> VkImageType -> m VkImageType)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> VkImageType -> m VkImageType)
-> Data VkImageType
VkImageType -> DataType
VkImageType -> Constr
(forall b. Data b => b -> b) -> VkImageType -> VkImageType
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageType -> c VkImageType
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageType
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> VkImageType -> u
forall u. (forall d. Data d => d -> u) -> VkImageType -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageType -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageType -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> VkImageType -> m VkImageType
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> VkImageType -> m VkImageType
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageType
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageType -> c VkImageType
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c VkImageType)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkImageType)
$cVkImageType :: Constr
$tVkImageType :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> VkImageType -> m VkImageType
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> VkImageType -> m VkImageType
gmapMp :: (forall d. Data d => d -> m d) -> VkImageType -> m VkImageType
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> VkImageType -> m VkImageType
gmapM :: (forall d. Data d => d -> m d) -> VkImageType -> m VkImageType
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> VkImageType -> m VkImageType
gmapQi :: Int -> (forall d. Data d => d -> u) -> VkImageType -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> VkImageType -> u
gmapQ :: (forall d. Data d => d -> u) -> VkImageType -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> VkImageType -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageType -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageType -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageType -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageType -> r
gmapT :: (forall b. Data b => b -> b) -> VkImageType -> VkImageType
$cgmapT :: (forall b. Data b => b -> b) -> VkImageType -> VkImageType
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkImageType)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkImageType)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c VkImageType)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c VkImageType)
dataTypeOf :: VkImageType -> DataType
$cdataTypeOf :: VkImageType -> DataType
toConstr :: VkImageType -> Constr
$ctoConstr :: VkImageType -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageType
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageType
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageType -> c VkImageType
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageType -> c VkImageType
$cp1Data :: Typeable VkImageType
Data, (forall x. VkImageType -> Rep VkImageType x)
-> (forall x. Rep VkImageType x -> VkImageType)
-> Generic VkImageType
forall x. Rep VkImageType x -> VkImageType
forall x. VkImageType -> Rep VkImageType x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep VkImageType x -> VkImageType
$cfrom :: forall x. VkImageType -> Rep VkImageType x
Generic)

instance Show VkImageType where
        showsPrec :: Int -> VkImageType -> ShowS
showsPrec Int
_ VkImageType
VK_IMAGE_TYPE_1D = String -> ShowS
showString String
"VK_IMAGE_TYPE_1D"
        showsPrec Int
_ VkImageType
VK_IMAGE_TYPE_2D = String -> ShowS
showString String
"VK_IMAGE_TYPE_2D"
        showsPrec Int
_ VkImageType
VK_IMAGE_TYPE_3D = String -> ShowS
showString String
"VK_IMAGE_TYPE_3D"
        showsPrec Int
p (VkImageType Int32
x)
          = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"VkImageType " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 Int32
x)

instance Read VkImageType where
        readPrec :: ReadPrec VkImageType
readPrec
          = ReadPrec VkImageType -> ReadPrec VkImageType
forall a. ReadPrec a -> ReadPrec a
parens
              ([(String, ReadPrec VkImageType)] -> ReadPrec VkImageType
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
                 [(String
"VK_IMAGE_TYPE_1D", VkImageType -> ReadPrec VkImageType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageType
VK_IMAGE_TYPE_1D),
                  (String
"VK_IMAGE_TYPE_2D", VkImageType -> ReadPrec VkImageType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageType
VK_IMAGE_TYPE_2D),
                  (String
"VK_IMAGE_TYPE_3D", VkImageType -> ReadPrec VkImageType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageType
VK_IMAGE_TYPE_3D)]
                 ReadPrec VkImageType
-> ReadPrec VkImageType -> ReadPrec VkImageType
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                 Int -> ReadPrec VkImageType -> ReadPrec VkImageType
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
                   (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkImageType") ReadPrec () -> ReadPrec VkImageType -> ReadPrec VkImageType
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> (Int32 -> VkImageType
VkImageType (Int32 -> VkImageType) -> ReadPrec Int32 -> ReadPrec VkImageType
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec Int32 -> ReadPrec Int32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Int32
forall a. Read a => ReadPrec a
readPrec)))

pattern VK_IMAGE_TYPE_1D :: VkImageType

pattern $bVK_IMAGE_TYPE_1D :: VkImageType
$mVK_IMAGE_TYPE_1D :: forall r. VkImageType -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_TYPE_1D = VkImageType 0

pattern VK_IMAGE_TYPE_2D :: VkImageType

pattern $bVK_IMAGE_TYPE_2D :: VkImageType
$mVK_IMAGE_TYPE_2D :: forall r. VkImageType -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_TYPE_2D = VkImageType 1

pattern VK_IMAGE_TYPE_3D :: VkImageType

pattern $bVK_IMAGE_TYPE_3D :: VkImageType
$mVK_IMAGE_TYPE_3D :: forall r. VkImageType -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_TYPE_3D = VkImageType 2

newtype VkImageUsageBitmask (a ::
                               FlagType) = VkImageUsageBitmask VkFlags
                                             deriving (VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
(VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool)
-> (VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool)
-> Eq (VkImageUsageBitmask a)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall (a :: FlagType).
VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
/= :: VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
$c/= :: forall (a :: FlagType).
VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
== :: VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
$c== :: forall (a :: FlagType).
VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
Eq, Eq (VkImageUsageBitmask a)
Eq (VkImageUsageBitmask a)
-> (VkImageUsageBitmask a -> VkImageUsageBitmask a -> Ordering)
-> (VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool)
-> (VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool)
-> (VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool)
-> (VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool)
-> (VkImageUsageBitmask a
    -> VkImageUsageBitmask a -> VkImageUsageBitmask a)
-> (VkImageUsageBitmask a
    -> VkImageUsageBitmask a -> VkImageUsageBitmask a)
-> Ord (VkImageUsageBitmask a)
VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
VkImageUsageBitmask a -> VkImageUsageBitmask a -> Ordering
VkImageUsageBitmask a
-> VkImageUsageBitmask a -> VkImageUsageBitmask a
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall (a :: FlagType). Eq (VkImageUsageBitmask a)
forall (a :: FlagType).
VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
forall (a :: FlagType).
VkImageUsageBitmask a -> VkImageUsageBitmask a -> Ordering
forall (a :: FlagType).
VkImageUsageBitmask a
-> VkImageUsageBitmask a -> VkImageUsageBitmask a
min :: VkImageUsageBitmask a
-> VkImageUsageBitmask a -> VkImageUsageBitmask a
$cmin :: forall (a :: FlagType).
VkImageUsageBitmask a
-> VkImageUsageBitmask a -> VkImageUsageBitmask a
max :: VkImageUsageBitmask a
-> VkImageUsageBitmask a -> VkImageUsageBitmask a
$cmax :: forall (a :: FlagType).
VkImageUsageBitmask a
-> VkImageUsageBitmask a -> VkImageUsageBitmask a
>= :: VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
$c>= :: forall (a :: FlagType).
VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
> :: VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
$c> :: forall (a :: FlagType).
VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
<= :: VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
$c<= :: forall (a :: FlagType).
VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
< :: VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
$c< :: forall (a :: FlagType).
VkImageUsageBitmask a -> VkImageUsageBitmask a -> Bool
compare :: VkImageUsageBitmask a -> VkImageUsageBitmask a -> Ordering
$ccompare :: forall (a :: FlagType).
VkImageUsageBitmask a -> VkImageUsageBitmask a -> Ordering
$cp1Ord :: forall (a :: FlagType). Eq (VkImageUsageBitmask a)
Ord, Ptr b -> Int -> IO (VkImageUsageBitmask a)
Ptr b -> Int -> VkImageUsageBitmask a -> IO ()
Ptr (VkImageUsageBitmask a) -> IO (VkImageUsageBitmask a)
Ptr (VkImageUsageBitmask a) -> Int -> IO (VkImageUsageBitmask a)
Ptr (VkImageUsageBitmask a)
-> Int -> VkImageUsageBitmask a -> IO ()
Ptr (VkImageUsageBitmask a) -> VkImageUsageBitmask a -> IO ()
VkImageUsageBitmask a -> Int
(VkImageUsageBitmask a -> Int)
-> (VkImageUsageBitmask a -> Int)
-> (Ptr (VkImageUsageBitmask a)
    -> Int -> IO (VkImageUsageBitmask a))
-> (Ptr (VkImageUsageBitmask a)
    -> Int -> VkImageUsageBitmask a -> IO ())
-> (forall b. Ptr b -> Int -> IO (VkImageUsageBitmask a))
-> (forall b. Ptr b -> Int -> VkImageUsageBitmask a -> IO ())
-> (Ptr (VkImageUsageBitmask a) -> IO (VkImageUsageBitmask a))
-> (Ptr (VkImageUsageBitmask a) -> VkImageUsageBitmask a -> IO ())
-> Storable (VkImageUsageBitmask a)
forall b. Ptr b -> Int -> IO (VkImageUsageBitmask a)
forall b. Ptr b -> Int -> VkImageUsageBitmask a -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
forall (a :: FlagType).
Ptr (VkImageUsageBitmask a) -> IO (VkImageUsageBitmask a)
forall (a :: FlagType).
Ptr (VkImageUsageBitmask a) -> Int -> IO (VkImageUsageBitmask a)
forall (a :: FlagType).
Ptr (VkImageUsageBitmask a)
-> Int -> VkImageUsageBitmask a -> IO ()
forall (a :: FlagType).
Ptr (VkImageUsageBitmask a) -> VkImageUsageBitmask a -> IO ()
forall (a :: FlagType). VkImageUsageBitmask a -> Int
forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkImageUsageBitmask a)
forall (a :: FlagType) b.
Ptr b -> Int -> VkImageUsageBitmask a -> IO ()
poke :: Ptr (VkImageUsageBitmask a) -> VkImageUsageBitmask a -> IO ()
$cpoke :: forall (a :: FlagType).
Ptr (VkImageUsageBitmask a) -> VkImageUsageBitmask a -> IO ()
peek :: Ptr (VkImageUsageBitmask a) -> IO (VkImageUsageBitmask a)
$cpeek :: forall (a :: FlagType).
Ptr (VkImageUsageBitmask a) -> IO (VkImageUsageBitmask a)
pokeByteOff :: Ptr b -> Int -> VkImageUsageBitmask a -> IO ()
$cpokeByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> VkImageUsageBitmask a -> IO ()
peekByteOff :: Ptr b -> Int -> IO (VkImageUsageBitmask a)
$cpeekByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkImageUsageBitmask a)
pokeElemOff :: Ptr (VkImageUsageBitmask a)
-> Int -> VkImageUsageBitmask a -> IO ()
$cpokeElemOff :: forall (a :: FlagType).
Ptr (VkImageUsageBitmask a)
-> Int -> VkImageUsageBitmask a -> IO ()
peekElemOff :: Ptr (VkImageUsageBitmask a) -> Int -> IO (VkImageUsageBitmask a)
$cpeekElemOff :: forall (a :: FlagType).
Ptr (VkImageUsageBitmask a) -> Int -> IO (VkImageUsageBitmask a)
alignment :: VkImageUsageBitmask a -> Int
$calignment :: forall (a :: FlagType). VkImageUsageBitmask a -> Int
sizeOf :: VkImageUsageBitmask a -> Int
$csizeOf :: forall (a :: FlagType). VkImageUsageBitmask a -> Int
Storable, Typeable (VkImageUsageBitmask a)
DataType
Constr
Typeable (VkImageUsageBitmask a)
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g)
    -> VkImageUsageBitmask a
    -> c (VkImageUsageBitmask a))
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c (VkImageUsageBitmask a))
-> (VkImageUsageBitmask a -> Constr)
-> (VkImageUsageBitmask a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c (VkImageUsageBitmask a)))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c (VkImageUsageBitmask a)))
-> ((forall b. Data b => b -> b)
    -> VkImageUsageBitmask a -> VkImageUsageBitmask a)
-> (forall r r'.
    (r -> r' -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> VkImageUsageBitmask a
    -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> VkImageUsageBitmask a
    -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> VkImageUsageBitmask a -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> VkImageUsageBitmask a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> VkImageUsageBitmask a -> m (VkImageUsageBitmask a))
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkImageUsageBitmask a -> m (VkImageUsageBitmask a))
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkImageUsageBitmask a -> m (VkImageUsageBitmask a))
-> Data (VkImageUsageBitmask a)
VkImageUsageBitmask a -> DataType
VkImageUsageBitmask a -> Constr
(forall b. Data b => b -> b)
-> VkImageUsageBitmask a -> VkImageUsageBitmask a
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageUsageBitmask a
-> c (VkImageUsageBitmask a)
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageUsageBitmask a)
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> VkImageUsageBitmask a -> u
forall u.
(forall d. Data d => d -> u) -> VkImageUsageBitmask a -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageUsageBitmask a -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageUsageBitmask a -> r
forall (a :: FlagType).
Typeable a =>
Typeable (VkImageUsageBitmask a)
forall (a :: FlagType).
Typeable a =>
VkImageUsageBitmask a -> DataType
forall (a :: FlagType).
Typeable a =>
VkImageUsageBitmask a -> Constr
forall (a :: FlagType).
Typeable a =>
(forall b. Data b => b -> b)
-> VkImageUsageBitmask a -> VkImageUsageBitmask a
forall (a :: FlagType) u.
Typeable a =>
Int -> (forall d. Data d => d -> u) -> VkImageUsageBitmask a -> u
forall (a :: FlagType) u.
Typeable a =>
(forall d. Data d => d -> u) -> VkImageUsageBitmask a -> [u]
forall (a :: FlagType) r r'.
Typeable a =>
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageUsageBitmask a -> r
forall (a :: FlagType) r r'.
Typeable a =>
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageUsageBitmask a -> r
forall (a :: FlagType) (m :: * -> *).
(Typeable a, Monad m) =>
(forall d. Data d => d -> m d)
-> VkImageUsageBitmask a -> m (VkImageUsageBitmask a)
forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkImageUsageBitmask a -> m (VkImageUsageBitmask a)
forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageUsageBitmask a)
forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageUsageBitmask a
-> c (VkImageUsageBitmask a)
forall (a :: FlagType) (t :: * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d. Data d => c (t d)) -> Maybe (c (VkImageUsageBitmask a))
forall (a :: FlagType) (t :: * -> * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkImageUsageBitmask a))
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkImageUsageBitmask a -> m (VkImageUsageBitmask a)
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkImageUsageBitmask a -> m (VkImageUsageBitmask a)
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageUsageBitmask a)
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageUsageBitmask a
-> c (VkImageUsageBitmask a)
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c (VkImageUsageBitmask a))
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkImageUsageBitmask a))
$cVkImageUsageBitmask :: Constr
$tVkImageUsageBitmask :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> VkImageUsageBitmask a -> m (VkImageUsageBitmask a)
$cgmapMo :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkImageUsageBitmask a -> m (VkImageUsageBitmask a)
gmapMp :: (forall d. Data d => d -> m d)
-> VkImageUsageBitmask a -> m (VkImageUsageBitmask a)
$cgmapMp :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkImageUsageBitmask a -> m (VkImageUsageBitmask a)
gmapM :: (forall d. Data d => d -> m d)
-> VkImageUsageBitmask a -> m (VkImageUsageBitmask a)
$cgmapM :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, Monad m) =>
(forall d. Data d => d -> m d)
-> VkImageUsageBitmask a -> m (VkImageUsageBitmask a)
gmapQi :: Int -> (forall d. Data d => d -> u) -> VkImageUsageBitmask a -> u
$cgmapQi :: forall (a :: FlagType) u.
Typeable a =>
Int -> (forall d. Data d => d -> u) -> VkImageUsageBitmask a -> u
gmapQ :: (forall d. Data d => d -> u) -> VkImageUsageBitmask a -> [u]
$cgmapQ :: forall (a :: FlagType) u.
Typeable a =>
(forall d. Data d => d -> u) -> VkImageUsageBitmask a -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageUsageBitmask a -> r
$cgmapQr :: forall (a :: FlagType) r r'.
Typeable a =>
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageUsageBitmask a -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageUsageBitmask a -> r
$cgmapQl :: forall (a :: FlagType) r r'.
Typeable a =>
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageUsageBitmask a -> r
gmapT :: (forall b. Data b => b -> b)
-> VkImageUsageBitmask a -> VkImageUsageBitmask a
$cgmapT :: forall (a :: FlagType).
Typeable a =>
(forall b. Data b => b -> b)
-> VkImageUsageBitmask a -> VkImageUsageBitmask a
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkImageUsageBitmask a))
$cdataCast2 :: forall (a :: FlagType) (t :: * -> * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkImageUsageBitmask a))
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c (VkImageUsageBitmask a))
$cdataCast1 :: forall (a :: FlagType) (t :: * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d. Data d => c (t d)) -> Maybe (c (VkImageUsageBitmask a))
dataTypeOf :: VkImageUsageBitmask a -> DataType
$cdataTypeOf :: forall (a :: FlagType).
Typeable a =>
VkImageUsageBitmask a -> DataType
toConstr :: VkImageUsageBitmask a -> Constr
$ctoConstr :: forall (a :: FlagType).
Typeable a =>
VkImageUsageBitmask a -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageUsageBitmask a)
$cgunfold :: forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkImageUsageBitmask a)
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageUsageBitmask a
-> c (VkImageUsageBitmask a)
$cgfoldl :: forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkImageUsageBitmask a
-> c (VkImageUsageBitmask a)
$cp1Data :: forall (a :: FlagType).
Typeable a =>
Typeable (VkImageUsageBitmask a)
Data, (forall x. VkImageUsageBitmask a -> Rep (VkImageUsageBitmask a) x)
-> (forall x.
    Rep (VkImageUsageBitmask a) x -> VkImageUsageBitmask a)
-> Generic (VkImageUsageBitmask a)
forall x. Rep (VkImageUsageBitmask a) x -> VkImageUsageBitmask a
forall x. VkImageUsageBitmask a -> Rep (VkImageUsageBitmask a) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (a :: FlagType) x.
Rep (VkImageUsageBitmask a) x -> VkImageUsageBitmask a
forall (a :: FlagType) x.
VkImageUsageBitmask a -> Rep (VkImageUsageBitmask a) x
$cto :: forall (a :: FlagType) x.
Rep (VkImageUsageBitmask a) x -> VkImageUsageBitmask a
$cfrom :: forall (a :: FlagType) x.
VkImageUsageBitmask a -> Rep (VkImageUsageBitmask a) x
Generic)

type VkImageUsageFlags = VkImageUsageBitmask FlagMask

type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit

pattern VkImageUsageFlagBits ::
        VkFlags -> VkImageUsageBitmask FlagBit

pattern $bVkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit
$mVkImageUsageFlagBits :: forall r.
VkImageUsageBitmask FlagBit -> (VkFlags -> r) -> (Void# -> r) -> r
VkImageUsageFlagBits n = VkImageUsageBitmask n

pattern VkImageUsageFlags ::
        VkFlags -> VkImageUsageBitmask FlagMask

pattern $bVkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask
$mVkImageUsageFlags :: forall r.
VkImageUsageBitmask FlagMask -> (VkFlags -> r) -> (Void# -> r) -> r
VkImageUsageFlags n = VkImageUsageBitmask n

deriving instance Bits (VkImageUsageBitmask FlagMask)

deriving instance FiniteBits (VkImageUsageBitmask FlagMask)

deriving instance Integral (VkImageUsageBitmask FlagMask)

deriving instance Num (VkImageUsageBitmask FlagMask)

deriving instance Bounded (VkImageUsageBitmask FlagMask)

deriving instance Enum (VkImageUsageBitmask FlagMask)

deriving instance Real (VkImageUsageBitmask FlagMask)

instance Show (VkImageUsageBitmask a) where
        showsPrec :: Int -> VkImageUsageBitmask a -> ShowS
showsPrec Int
_ VkImageUsageBitmask a
VK_IMAGE_USAGE_TRANSFER_SRC_BIT
          = String -> ShowS
showString String
"VK_IMAGE_USAGE_TRANSFER_SRC_BIT"
        showsPrec Int
_ VkImageUsageBitmask a
VK_IMAGE_USAGE_TRANSFER_DST_BIT
          = String -> ShowS
showString String
"VK_IMAGE_USAGE_TRANSFER_DST_BIT"
        showsPrec Int
_ VkImageUsageBitmask a
VK_IMAGE_USAGE_SAMPLED_BIT
          = String -> ShowS
showString String
"VK_IMAGE_USAGE_SAMPLED_BIT"
        showsPrec Int
_ VkImageUsageBitmask a
VK_IMAGE_USAGE_STORAGE_BIT
          = String -> ShowS
showString String
"VK_IMAGE_USAGE_STORAGE_BIT"
        showsPrec Int
_ VkImageUsageBitmask a
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
          = String -> ShowS
showString String
"VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT"
        showsPrec Int
_ VkImageUsageBitmask a
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
          = String -> ShowS
showString String
"VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT"
        showsPrec Int
_ VkImageUsageBitmask a
VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
          = String -> ShowS
showString String
"VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT"
        showsPrec Int
_ VkImageUsageBitmask a
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT
          = String -> ShowS
showString String
"VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT"
        showsPrec Int
p (VkImageUsageBitmask VkFlags
x)
          = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
              (String -> ShowS
showString String
"VkImageUsageBitmask " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> VkFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 VkFlags
x)

instance Read (VkImageUsageBitmask a) where
        readPrec :: ReadPrec (VkImageUsageBitmask a)
readPrec
          = ReadPrec (VkImageUsageBitmask a)
-> ReadPrec (VkImageUsageBitmask a)
forall a. ReadPrec a -> ReadPrec a
parens
              ([(String, ReadPrec (VkImageUsageBitmask a))]
-> ReadPrec (VkImageUsageBitmask a)
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
                 [(String
"VK_IMAGE_USAGE_TRANSFER_SRC_BIT",
                   VkImageUsageBitmask a -> ReadPrec (VkImageUsageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageUsageBitmask a
forall (a :: FlagType). VkImageUsageBitmask a
VK_IMAGE_USAGE_TRANSFER_SRC_BIT),
                  (String
"VK_IMAGE_USAGE_TRANSFER_DST_BIT",
                   VkImageUsageBitmask a -> ReadPrec (VkImageUsageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageUsageBitmask a
forall (a :: FlagType). VkImageUsageBitmask a
VK_IMAGE_USAGE_TRANSFER_DST_BIT),
                  (String
"VK_IMAGE_USAGE_SAMPLED_BIT", VkImageUsageBitmask a -> ReadPrec (VkImageUsageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageUsageBitmask a
forall (a :: FlagType). VkImageUsageBitmask a
VK_IMAGE_USAGE_SAMPLED_BIT),
                  (String
"VK_IMAGE_USAGE_STORAGE_BIT", VkImageUsageBitmask a -> ReadPrec (VkImageUsageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageUsageBitmask a
forall (a :: FlagType). VkImageUsageBitmask a
VK_IMAGE_USAGE_STORAGE_BIT),
                  (String
"VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT",
                   VkImageUsageBitmask a -> ReadPrec (VkImageUsageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageUsageBitmask a
forall (a :: FlagType). VkImageUsageBitmask a
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT),
                  (String
"VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT",
                   VkImageUsageBitmask a -> ReadPrec (VkImageUsageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageUsageBitmask a
forall (a :: FlagType). VkImageUsageBitmask a
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT),
                  (String
"VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT",
                   VkImageUsageBitmask a -> ReadPrec (VkImageUsageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageUsageBitmask a
forall (a :: FlagType). VkImageUsageBitmask a
VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT),
                  (String
"VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT",
                   VkImageUsageBitmask a -> ReadPrec (VkImageUsageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageUsageBitmask a
forall (a :: FlagType). VkImageUsageBitmask a
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT)]
                 ReadPrec (VkImageUsageBitmask a)
-> ReadPrec (VkImageUsageBitmask a)
-> ReadPrec (VkImageUsageBitmask a)
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                 Int
-> ReadPrec (VkImageUsageBitmask a)
-> ReadPrec (VkImageUsageBitmask a)
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
                   (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkImageUsageBitmask") ReadPrec ()
-> ReadPrec (VkImageUsageBitmask a)
-> ReadPrec (VkImageUsageBitmask a)
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                      (VkFlags -> VkImageUsageBitmask a
forall (a :: FlagType). VkFlags -> VkImageUsageBitmask a
VkImageUsageBitmask (VkFlags -> VkImageUsageBitmask a)
-> ReadPrec VkFlags -> ReadPrec (VkImageUsageBitmask a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec VkFlags -> ReadPrec VkFlags
forall a. ReadPrec a -> ReadPrec a
step ReadPrec VkFlags
forall a. Read a => ReadPrec a
readPrec)))

-- | Can be used as a source of transfer operations
--
--   bitpos = @0@
pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a

pattern $bVK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a
$mVK_IMAGE_USAGE_TRANSFER_SRC_BIT :: forall r (a :: FlagType).
VkImageUsageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_USAGE_TRANSFER_SRC_BIT = VkImageUsageBitmask 1

-- | Can be used as a destination of transfer operations
--
--   bitpos = @1@
pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a

pattern $bVK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a
$mVK_IMAGE_USAGE_TRANSFER_DST_BIT :: forall r (a :: FlagType).
VkImageUsageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_USAGE_TRANSFER_DST_BIT = VkImageUsageBitmask 2

-- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types)
--
--   bitpos = @2@
pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a

pattern $bVK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a
$mVK_IMAGE_USAGE_SAMPLED_BIT :: forall r (a :: FlagType).
VkImageUsageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_USAGE_SAMPLED_BIT = VkImageUsageBitmask 4

-- | Can be used as storage image (STORAGE_IMAGE descriptor type)
--
--   bitpos = @3@
pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a

pattern $bVK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a
$mVK_IMAGE_USAGE_STORAGE_BIT :: forall r (a :: FlagType).
VkImageUsageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_USAGE_STORAGE_BIT = VkImageUsageBitmask 8

-- | Can be used as framebuffer color attachment
--
--   bitpos = @4@
pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT ::
        VkImageUsageBitmask a

pattern $bVK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a
$mVK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: forall r (a :: FlagType).
VkImageUsageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT =
        VkImageUsageBitmask 16

-- | Can be used as framebuffer depth/stencil attachment
--
--   bitpos = @5@
pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT ::
        VkImageUsageBitmask a

pattern $bVK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a
$mVK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: forall r (a :: FlagType).
VkImageUsageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT =
        VkImageUsageBitmask 32

-- | Image data not needed outside of rendering
--
--   bitpos = @6@
pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT ::
        VkImageUsageBitmask a

pattern $bVK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a
$mVK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: forall r (a :: FlagType).
VkImageUsageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT =
        VkImageUsageBitmask 64

-- | Can be used as framebuffer input attachment
--
--   bitpos = @7@
pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT ::
        VkImageUsageBitmask a

pattern $bVK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a
$mVK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: forall r (a :: FlagType).
VkImageUsageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT =
        VkImageUsageBitmask 128

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageViewType VkImageViewType registry at www.khronos.org>
newtype VkImageViewType = VkImageViewType Int32
                            deriving (VkImageViewType -> VkImageViewType -> Bool
(VkImageViewType -> VkImageViewType -> Bool)
-> (VkImageViewType -> VkImageViewType -> Bool)
-> Eq VkImageViewType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkImageViewType -> VkImageViewType -> Bool
$c/= :: VkImageViewType -> VkImageViewType -> Bool
== :: VkImageViewType -> VkImageViewType -> Bool
$c== :: VkImageViewType -> VkImageViewType -> Bool
Eq, Eq VkImageViewType
Eq VkImageViewType
-> (VkImageViewType -> VkImageViewType -> Ordering)
-> (VkImageViewType -> VkImageViewType -> Bool)
-> (VkImageViewType -> VkImageViewType -> Bool)
-> (VkImageViewType -> VkImageViewType -> Bool)
-> (VkImageViewType -> VkImageViewType -> Bool)
-> (VkImageViewType -> VkImageViewType -> VkImageViewType)
-> (VkImageViewType -> VkImageViewType -> VkImageViewType)
-> Ord VkImageViewType
VkImageViewType -> VkImageViewType -> Bool
VkImageViewType -> VkImageViewType -> Ordering
VkImageViewType -> VkImageViewType -> VkImageViewType
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: VkImageViewType -> VkImageViewType -> VkImageViewType
$cmin :: VkImageViewType -> VkImageViewType -> VkImageViewType
max :: VkImageViewType -> VkImageViewType -> VkImageViewType
$cmax :: VkImageViewType -> VkImageViewType -> VkImageViewType
>= :: VkImageViewType -> VkImageViewType -> Bool
$c>= :: VkImageViewType -> VkImageViewType -> Bool
> :: VkImageViewType -> VkImageViewType -> Bool
$c> :: VkImageViewType -> VkImageViewType -> Bool
<= :: VkImageViewType -> VkImageViewType -> Bool
$c<= :: VkImageViewType -> VkImageViewType -> Bool
< :: VkImageViewType -> VkImageViewType -> Bool
$c< :: VkImageViewType -> VkImageViewType -> Bool
compare :: VkImageViewType -> VkImageViewType -> Ordering
$ccompare :: VkImageViewType -> VkImageViewType -> Ordering
$cp1Ord :: Eq VkImageViewType
Ord, Integer -> VkImageViewType
VkImageViewType -> VkImageViewType
VkImageViewType -> VkImageViewType -> VkImageViewType
(VkImageViewType -> VkImageViewType -> VkImageViewType)
-> (VkImageViewType -> VkImageViewType -> VkImageViewType)
-> (VkImageViewType -> VkImageViewType -> VkImageViewType)
-> (VkImageViewType -> VkImageViewType)
-> (VkImageViewType -> VkImageViewType)
-> (VkImageViewType -> VkImageViewType)
-> (Integer -> VkImageViewType)
-> Num VkImageViewType
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> VkImageViewType
$cfromInteger :: Integer -> VkImageViewType
signum :: VkImageViewType -> VkImageViewType
$csignum :: VkImageViewType -> VkImageViewType
abs :: VkImageViewType -> VkImageViewType
$cabs :: VkImageViewType -> VkImageViewType
negate :: VkImageViewType -> VkImageViewType
$cnegate :: VkImageViewType -> VkImageViewType
* :: VkImageViewType -> VkImageViewType -> VkImageViewType
$c* :: VkImageViewType -> VkImageViewType -> VkImageViewType
- :: VkImageViewType -> VkImageViewType -> VkImageViewType
$c- :: VkImageViewType -> VkImageViewType -> VkImageViewType
+ :: VkImageViewType -> VkImageViewType -> VkImageViewType
$c+ :: VkImageViewType -> VkImageViewType -> VkImageViewType
Num, VkImageViewType
VkImageViewType -> VkImageViewType -> Bounded VkImageViewType
forall a. a -> a -> Bounded a
maxBound :: VkImageViewType
$cmaxBound :: VkImageViewType
minBound :: VkImageViewType
$cminBound :: VkImageViewType
Bounded, Ptr b -> Int -> IO VkImageViewType
Ptr b -> Int -> VkImageViewType -> IO ()
Ptr VkImageViewType -> IO VkImageViewType
Ptr VkImageViewType -> Int -> IO VkImageViewType
Ptr VkImageViewType -> Int -> VkImageViewType -> IO ()
Ptr VkImageViewType -> VkImageViewType -> IO ()
VkImageViewType -> Int
(VkImageViewType -> Int)
-> (VkImageViewType -> Int)
-> (Ptr VkImageViewType -> Int -> IO VkImageViewType)
-> (Ptr VkImageViewType -> Int -> VkImageViewType -> IO ())
-> (forall b. Ptr b -> Int -> IO VkImageViewType)
-> (forall b. Ptr b -> Int -> VkImageViewType -> IO ())
-> (Ptr VkImageViewType -> IO VkImageViewType)
-> (Ptr VkImageViewType -> VkImageViewType -> IO ())
-> Storable VkImageViewType
forall b. Ptr b -> Int -> IO VkImageViewType
forall b. Ptr b -> Int -> VkImageViewType -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr VkImageViewType -> VkImageViewType -> IO ()
$cpoke :: Ptr VkImageViewType -> VkImageViewType -> IO ()
peek :: Ptr VkImageViewType -> IO VkImageViewType
$cpeek :: Ptr VkImageViewType -> IO VkImageViewType
pokeByteOff :: Ptr b -> Int -> VkImageViewType -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkImageViewType -> IO ()
peekByteOff :: Ptr b -> Int -> IO VkImageViewType
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkImageViewType
pokeElemOff :: Ptr VkImageViewType -> Int -> VkImageViewType -> IO ()
$cpokeElemOff :: Ptr VkImageViewType -> Int -> VkImageViewType -> IO ()
peekElemOff :: Ptr VkImageViewType -> Int -> IO VkImageViewType
$cpeekElemOff :: Ptr VkImageViewType -> Int -> IO VkImageViewType
alignment :: VkImageViewType -> Int
$calignment :: VkImageViewType -> Int
sizeOf :: VkImageViewType -> Int
$csizeOf :: VkImageViewType -> Int
Storable, Int -> VkImageViewType
VkImageViewType -> Int
VkImageViewType -> [VkImageViewType]
VkImageViewType -> VkImageViewType
VkImageViewType -> VkImageViewType -> [VkImageViewType]
VkImageViewType
-> VkImageViewType -> VkImageViewType -> [VkImageViewType]
(VkImageViewType -> VkImageViewType)
-> (VkImageViewType -> VkImageViewType)
-> (Int -> VkImageViewType)
-> (VkImageViewType -> Int)
-> (VkImageViewType -> [VkImageViewType])
-> (VkImageViewType -> VkImageViewType -> [VkImageViewType])
-> (VkImageViewType -> VkImageViewType -> [VkImageViewType])
-> (VkImageViewType
    -> VkImageViewType -> VkImageViewType -> [VkImageViewType])
-> Enum VkImageViewType
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: VkImageViewType
-> VkImageViewType -> VkImageViewType -> [VkImageViewType]
$cenumFromThenTo :: VkImageViewType
-> VkImageViewType -> VkImageViewType -> [VkImageViewType]
enumFromTo :: VkImageViewType -> VkImageViewType -> [VkImageViewType]
$cenumFromTo :: VkImageViewType -> VkImageViewType -> [VkImageViewType]
enumFromThen :: VkImageViewType -> VkImageViewType -> [VkImageViewType]
$cenumFromThen :: VkImageViewType -> VkImageViewType -> [VkImageViewType]
enumFrom :: VkImageViewType -> [VkImageViewType]
$cenumFrom :: VkImageViewType -> [VkImageViewType]
fromEnum :: VkImageViewType -> Int
$cfromEnum :: VkImageViewType -> Int
toEnum :: Int -> VkImageViewType
$ctoEnum :: Int -> VkImageViewType
pred :: VkImageViewType -> VkImageViewType
$cpred :: VkImageViewType -> VkImageViewType
succ :: VkImageViewType -> VkImageViewType
$csucc :: VkImageViewType -> VkImageViewType
Enum, Typeable VkImageViewType
DataType
Constr
Typeable VkImageViewType
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> VkImageViewType -> c VkImageViewType)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c VkImageViewType)
-> (VkImageViewType -> Constr)
-> (VkImageViewType -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c VkImageViewType))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c VkImageViewType))
-> ((forall b. Data b => b -> b)
    -> VkImageViewType -> VkImageViewType)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> VkImageViewType -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> VkImageViewType -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> VkImageViewType -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> VkImageViewType -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> VkImageViewType -> m VkImageViewType)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkImageViewType -> m VkImageViewType)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkImageViewType -> m VkImageViewType)
-> Data VkImageViewType
VkImageViewType -> DataType
VkImageViewType -> Constr
(forall b. Data b => b -> b) -> VkImageViewType -> VkImageViewType
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageViewType -> c VkImageViewType
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageViewType
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> VkImageViewType -> u
forall u. (forall d. Data d => d -> u) -> VkImageViewType -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageViewType -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageViewType -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkImageViewType -> m VkImageViewType
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkImageViewType -> m VkImageViewType
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageViewType
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageViewType -> c VkImageViewType
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c VkImageViewType)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkImageViewType)
$cVkImageViewType :: Constr
$tVkImageViewType :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> VkImageViewType -> m VkImageViewType
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkImageViewType -> m VkImageViewType
gmapMp :: (forall d. Data d => d -> m d)
-> VkImageViewType -> m VkImageViewType
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkImageViewType -> m VkImageViewType
gmapM :: (forall d. Data d => d -> m d)
-> VkImageViewType -> m VkImageViewType
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkImageViewType -> m VkImageViewType
gmapQi :: Int -> (forall d. Data d => d -> u) -> VkImageViewType -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> VkImageViewType -> u
gmapQ :: (forall d. Data d => d -> u) -> VkImageViewType -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> VkImageViewType -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageViewType -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageViewType -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageViewType -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkImageViewType -> r
gmapT :: (forall b. Data b => b -> b) -> VkImageViewType -> VkImageViewType
$cgmapT :: (forall b. Data b => b -> b) -> VkImageViewType -> VkImageViewType
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkImageViewType)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkImageViewType)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c VkImageViewType)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c VkImageViewType)
dataTypeOf :: VkImageViewType -> DataType
$cdataTypeOf :: VkImageViewType -> DataType
toConstr :: VkImageViewType -> Constr
$ctoConstr :: VkImageViewType -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageViewType
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkImageViewType
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageViewType -> c VkImageViewType
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> VkImageViewType -> c VkImageViewType
$cp1Data :: Typeable VkImageViewType
Data, (forall x. VkImageViewType -> Rep VkImageViewType x)
-> (forall x. Rep VkImageViewType x -> VkImageViewType)
-> Generic VkImageViewType
forall x. Rep VkImageViewType x -> VkImageViewType
forall x. VkImageViewType -> Rep VkImageViewType x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep VkImageViewType x -> VkImageViewType
$cfrom :: forall x. VkImageViewType -> Rep VkImageViewType x
Generic)

instance Show VkImageViewType where
        showsPrec :: Int -> VkImageViewType -> ShowS
showsPrec Int
_ VkImageViewType
VK_IMAGE_VIEW_TYPE_1D
          = String -> ShowS
showString String
"VK_IMAGE_VIEW_TYPE_1D"
        showsPrec Int
_ VkImageViewType
VK_IMAGE_VIEW_TYPE_2D
          = String -> ShowS
showString String
"VK_IMAGE_VIEW_TYPE_2D"
        showsPrec Int
_ VkImageViewType
VK_IMAGE_VIEW_TYPE_3D
          = String -> ShowS
showString String
"VK_IMAGE_VIEW_TYPE_3D"
        showsPrec Int
_ VkImageViewType
VK_IMAGE_VIEW_TYPE_CUBE
          = String -> ShowS
showString String
"VK_IMAGE_VIEW_TYPE_CUBE"
        showsPrec Int
_ VkImageViewType
VK_IMAGE_VIEW_TYPE_1D_ARRAY
          = String -> ShowS
showString String
"VK_IMAGE_VIEW_TYPE_1D_ARRAY"
        showsPrec Int
_ VkImageViewType
VK_IMAGE_VIEW_TYPE_2D_ARRAY
          = String -> ShowS
showString String
"VK_IMAGE_VIEW_TYPE_2D_ARRAY"
        showsPrec Int
_ VkImageViewType
VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
          = String -> ShowS
showString String
"VK_IMAGE_VIEW_TYPE_CUBE_ARRAY"
        showsPrec Int
p (VkImageViewType Int32
x)
          = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
              (String -> ShowS
showString String
"VkImageViewType " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 Int32
x)

instance Read VkImageViewType where
        readPrec :: ReadPrec VkImageViewType
readPrec
          = ReadPrec VkImageViewType -> ReadPrec VkImageViewType
forall a. ReadPrec a -> ReadPrec a
parens
              ([(String, ReadPrec VkImageViewType)] -> ReadPrec VkImageViewType
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
                 [(String
"VK_IMAGE_VIEW_TYPE_1D", VkImageViewType -> ReadPrec VkImageViewType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageViewType
VK_IMAGE_VIEW_TYPE_1D),
                  (String
"VK_IMAGE_VIEW_TYPE_2D", VkImageViewType -> ReadPrec VkImageViewType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageViewType
VK_IMAGE_VIEW_TYPE_2D),
                  (String
"VK_IMAGE_VIEW_TYPE_3D", VkImageViewType -> ReadPrec VkImageViewType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageViewType
VK_IMAGE_VIEW_TYPE_3D),
                  (String
"VK_IMAGE_VIEW_TYPE_CUBE", VkImageViewType -> ReadPrec VkImageViewType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageViewType
VK_IMAGE_VIEW_TYPE_CUBE),
                  (String
"VK_IMAGE_VIEW_TYPE_1D_ARRAY", VkImageViewType -> ReadPrec VkImageViewType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageViewType
VK_IMAGE_VIEW_TYPE_1D_ARRAY),
                  (String
"VK_IMAGE_VIEW_TYPE_2D_ARRAY", VkImageViewType -> ReadPrec VkImageViewType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageViewType
VK_IMAGE_VIEW_TYPE_2D_ARRAY),
                  (String
"VK_IMAGE_VIEW_TYPE_CUBE_ARRAY",
                   VkImageViewType -> ReadPrec VkImageViewType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkImageViewType
VK_IMAGE_VIEW_TYPE_CUBE_ARRAY)]
                 ReadPrec VkImageViewType
-> ReadPrec VkImageViewType -> ReadPrec VkImageViewType
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                 Int -> ReadPrec VkImageViewType -> ReadPrec VkImageViewType
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
                   (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkImageViewType") ReadPrec () -> ReadPrec VkImageViewType -> ReadPrec VkImageViewType
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                      (Int32 -> VkImageViewType
VkImageViewType (Int32 -> VkImageViewType)
-> ReadPrec Int32 -> ReadPrec VkImageViewType
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec Int32 -> ReadPrec Int32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Int32
forall a. Read a => ReadPrec a
readPrec)))

pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType

pattern $bVK_IMAGE_VIEW_TYPE_1D :: VkImageViewType
$mVK_IMAGE_VIEW_TYPE_1D :: forall r. VkImageViewType -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_VIEW_TYPE_1D = VkImageViewType 0

pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType

pattern $bVK_IMAGE_VIEW_TYPE_2D :: VkImageViewType
$mVK_IMAGE_VIEW_TYPE_2D :: forall r. VkImageViewType -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_VIEW_TYPE_2D = VkImageViewType 1

pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType

pattern $bVK_IMAGE_VIEW_TYPE_3D :: VkImageViewType
$mVK_IMAGE_VIEW_TYPE_3D :: forall r. VkImageViewType -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_VIEW_TYPE_3D = VkImageViewType 2

pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType

pattern $bVK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType
$mVK_IMAGE_VIEW_TYPE_CUBE :: forall r. VkImageViewType -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_VIEW_TYPE_CUBE = VkImageViewType 3

pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType

pattern $bVK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType
$mVK_IMAGE_VIEW_TYPE_1D_ARRAY :: forall r. VkImageViewType -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_VIEW_TYPE_1D_ARRAY = VkImageViewType 4

pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType

pattern $bVK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType
$mVK_IMAGE_VIEW_TYPE_2D_ARRAY :: forall r. VkImageViewType -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_VIEW_TYPE_2D_ARRAY = VkImageViewType 5

pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType

pattern $bVK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType
$mVK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: forall r. VkImageViewType -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = VkImageViewType 6