{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds                  #-}
{-# LANGUAGE FlexibleInstances          #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE KindSignatures             #-}
{-# LANGUAGE PatternSynonyms            #-}
{-# LANGUAGE StandaloneDeriving         #-}
{-# LANGUAGE Strict                     #-}
{-# LANGUAGE TypeSynonymInstances       #-}
module Graphics.Vulkan.Types.Enum.Sampler
       (VkSamplerAddressMode(VkSamplerAddressMode,
                             VK_SAMPLER_ADDRESS_MODE_REPEAT,
                             VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT,
                             VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,
                             VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER),
        VkSamplerCreateBitmask(VkSamplerCreateBitmask,
                               VkSamplerCreateFlags, VkSamplerCreateFlagBits),
        VkSamplerCreateFlags, VkSamplerCreateFlagBits,
        VkSamplerMipmapMode(VkSamplerMipmapMode,
                            VK_SAMPLER_MIPMAP_MODE_NEAREST, VK_SAMPLER_MIPMAP_MODE_LINEAR),
        VkSamplerReductionMode(VkSamplerReductionMode,
                               VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
                               VK_SAMPLER_REDUCTION_MODE_MIN, VK_SAMPLER_REDUCTION_MODE_MAX),
        VkSamplerReductionModeEXT(..),
        VkSamplerYcbcrModelConversion(VkSamplerYcbcrModelConversion,
                                      VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
                                      VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
                                      VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
                                      VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
                                      VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020),
        VkSamplerYcbcrModelConversionKHR(..),
        VkSamplerYcbcrRange(VkSamplerYcbcrRange,
                            VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
                            VK_SAMPLER_YCBCR_RANGE_ITU_NARROW),
        VkSamplerYcbcrRangeKHR(..))
       where
import Data.Bits                       (Bits, FiniteBits)
import Data.Coerce                     (coerce)
import Foreign.Storable                (Storable)
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 (..))

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkSamplerAddressMode VkSamplerAddressMode registry at www.khronos.org>
newtype VkSamplerAddressMode = VkSamplerAddressMode Int32
                               deriving (VkSamplerAddressMode -> VkSamplerAddressMode -> Bool
(VkSamplerAddressMode -> VkSamplerAddressMode -> Bool)
-> (VkSamplerAddressMode -> VkSamplerAddressMode -> Bool)
-> Eq VkSamplerAddressMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkSamplerAddressMode -> VkSamplerAddressMode -> Bool
$c/= :: VkSamplerAddressMode -> VkSamplerAddressMode -> Bool
== :: VkSamplerAddressMode -> VkSamplerAddressMode -> Bool
$c== :: VkSamplerAddressMode -> VkSamplerAddressMode -> Bool
Eq, Eq VkSamplerAddressMode
Eq VkSamplerAddressMode
-> (VkSamplerAddressMode -> VkSamplerAddressMode -> Ordering)
-> (VkSamplerAddressMode -> VkSamplerAddressMode -> Bool)
-> (VkSamplerAddressMode -> VkSamplerAddressMode -> Bool)
-> (VkSamplerAddressMode -> VkSamplerAddressMode -> Bool)
-> (VkSamplerAddressMode -> VkSamplerAddressMode -> Bool)
-> (VkSamplerAddressMode
    -> VkSamplerAddressMode -> VkSamplerAddressMode)
-> (VkSamplerAddressMode
    -> VkSamplerAddressMode -> VkSamplerAddressMode)
-> Ord VkSamplerAddressMode
VkSamplerAddressMode -> VkSamplerAddressMode -> Bool
VkSamplerAddressMode -> VkSamplerAddressMode -> Ordering
VkSamplerAddressMode
-> VkSamplerAddressMode -> VkSamplerAddressMode
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 :: VkSamplerAddressMode
-> VkSamplerAddressMode -> VkSamplerAddressMode
$cmin :: VkSamplerAddressMode
-> VkSamplerAddressMode -> VkSamplerAddressMode
max :: VkSamplerAddressMode
-> VkSamplerAddressMode -> VkSamplerAddressMode
$cmax :: VkSamplerAddressMode
-> VkSamplerAddressMode -> VkSamplerAddressMode
>= :: VkSamplerAddressMode -> VkSamplerAddressMode -> Bool
$c>= :: VkSamplerAddressMode -> VkSamplerAddressMode -> Bool
> :: VkSamplerAddressMode -> VkSamplerAddressMode -> Bool
$c> :: VkSamplerAddressMode -> VkSamplerAddressMode -> Bool
<= :: VkSamplerAddressMode -> VkSamplerAddressMode -> Bool
$c<= :: VkSamplerAddressMode -> VkSamplerAddressMode -> Bool
< :: VkSamplerAddressMode -> VkSamplerAddressMode -> Bool
$c< :: VkSamplerAddressMode -> VkSamplerAddressMode -> Bool
compare :: VkSamplerAddressMode -> VkSamplerAddressMode -> Ordering
$ccompare :: VkSamplerAddressMode -> VkSamplerAddressMode -> Ordering
Ord, Int -> VkSamplerAddressMode
VkSamplerAddressMode -> Int
VkSamplerAddressMode -> [VkSamplerAddressMode]
VkSamplerAddressMode -> VkSamplerAddressMode
VkSamplerAddressMode
-> VkSamplerAddressMode -> [VkSamplerAddressMode]
VkSamplerAddressMode
-> VkSamplerAddressMode
-> VkSamplerAddressMode
-> [VkSamplerAddressMode]
(VkSamplerAddressMode -> VkSamplerAddressMode)
-> (VkSamplerAddressMode -> VkSamplerAddressMode)
-> (Int -> VkSamplerAddressMode)
-> (VkSamplerAddressMode -> Int)
-> (VkSamplerAddressMode -> [VkSamplerAddressMode])
-> (VkSamplerAddressMode
    -> VkSamplerAddressMode -> [VkSamplerAddressMode])
-> (VkSamplerAddressMode
    -> VkSamplerAddressMode -> [VkSamplerAddressMode])
-> (VkSamplerAddressMode
    -> VkSamplerAddressMode
    -> VkSamplerAddressMode
    -> [VkSamplerAddressMode])
-> Enum VkSamplerAddressMode
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 :: VkSamplerAddressMode
-> VkSamplerAddressMode
-> VkSamplerAddressMode
-> [VkSamplerAddressMode]
$cenumFromThenTo :: VkSamplerAddressMode
-> VkSamplerAddressMode
-> VkSamplerAddressMode
-> [VkSamplerAddressMode]
enumFromTo :: VkSamplerAddressMode
-> VkSamplerAddressMode -> [VkSamplerAddressMode]
$cenumFromTo :: VkSamplerAddressMode
-> VkSamplerAddressMode -> [VkSamplerAddressMode]
enumFromThen :: VkSamplerAddressMode
-> VkSamplerAddressMode -> [VkSamplerAddressMode]
$cenumFromThen :: VkSamplerAddressMode
-> VkSamplerAddressMode -> [VkSamplerAddressMode]
enumFrom :: VkSamplerAddressMode -> [VkSamplerAddressMode]
$cenumFrom :: VkSamplerAddressMode -> [VkSamplerAddressMode]
fromEnum :: VkSamplerAddressMode -> Int
$cfromEnum :: VkSamplerAddressMode -> Int
toEnum :: Int -> VkSamplerAddressMode
$ctoEnum :: Int -> VkSamplerAddressMode
pred :: VkSamplerAddressMode -> VkSamplerAddressMode
$cpred :: VkSamplerAddressMode -> VkSamplerAddressMode
succ :: VkSamplerAddressMode -> VkSamplerAddressMode
$csucc :: VkSamplerAddressMode -> VkSamplerAddressMode
Enum, Ptr VkSamplerAddressMode -> IO VkSamplerAddressMode
Ptr VkSamplerAddressMode -> Int -> IO VkSamplerAddressMode
Ptr VkSamplerAddressMode -> Int -> VkSamplerAddressMode -> IO ()
Ptr VkSamplerAddressMode -> VkSamplerAddressMode -> IO ()
VkSamplerAddressMode -> Int
(VkSamplerAddressMode -> Int)
-> (VkSamplerAddressMode -> Int)
-> (Ptr VkSamplerAddressMode -> Int -> IO VkSamplerAddressMode)
-> (Ptr VkSamplerAddressMode
    -> Int -> VkSamplerAddressMode -> IO ())
-> (forall b. Ptr b -> Int -> IO VkSamplerAddressMode)
-> (forall b. Ptr b -> Int -> VkSamplerAddressMode -> IO ())
-> (Ptr VkSamplerAddressMode -> IO VkSamplerAddressMode)
-> (Ptr VkSamplerAddressMode -> VkSamplerAddressMode -> IO ())
-> Storable VkSamplerAddressMode
forall b. Ptr b -> Int -> IO VkSamplerAddressMode
forall b. Ptr b -> Int -> VkSamplerAddressMode -> 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 VkSamplerAddressMode -> VkSamplerAddressMode -> IO ()
$cpoke :: Ptr VkSamplerAddressMode -> VkSamplerAddressMode -> IO ()
peek :: Ptr VkSamplerAddressMode -> IO VkSamplerAddressMode
$cpeek :: Ptr VkSamplerAddressMode -> IO VkSamplerAddressMode
pokeByteOff :: forall b. Ptr b -> Int -> VkSamplerAddressMode -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkSamplerAddressMode -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerAddressMode
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerAddressMode
pokeElemOff :: Ptr VkSamplerAddressMode -> Int -> VkSamplerAddressMode -> IO ()
$cpokeElemOff :: Ptr VkSamplerAddressMode -> Int -> VkSamplerAddressMode -> IO ()
peekElemOff :: Ptr VkSamplerAddressMode -> Int -> IO VkSamplerAddressMode
$cpeekElemOff :: Ptr VkSamplerAddressMode -> Int -> IO VkSamplerAddressMode
alignment :: VkSamplerAddressMode -> Int
$calignment :: VkSamplerAddressMode -> Int
sizeOf :: VkSamplerAddressMode -> Int
$csizeOf :: VkSamplerAddressMode -> Int
Storable)

instance Show VkSamplerAddressMode where
    showsPrec :: Int -> VkSamplerAddressMode -> ShowS
showsPrec Int
_ VkSamplerAddressMode
VK_SAMPLER_ADDRESS_MODE_REPEAT
      = String -> ShowS
showString String
"VK_SAMPLER_ADDRESS_MODE_REPEAT"
    showsPrec Int
_ VkSamplerAddressMode
VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT
      = String -> ShowS
showString String
"VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT"
    showsPrec Int
_ VkSamplerAddressMode
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
      = String -> ShowS
showString String
"VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE"
    showsPrec Int
_ VkSamplerAddressMode
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER
      = String -> ShowS
showString String
"VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER"
    showsPrec Int
p (VkSamplerAddressMode Int32
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkSamplerAddressMode " 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 VkSamplerAddressMode where
    readPrec :: ReadPrec VkSamplerAddressMode
readPrec
      = ReadPrec VkSamplerAddressMode -> ReadPrec VkSamplerAddressMode
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec VkSamplerAddressMode)]
-> ReadPrec VkSamplerAddressMode
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
             [(String
"VK_SAMPLER_ADDRESS_MODE_REPEAT",
               VkSamplerAddressMode -> ReadPrec VkSamplerAddressMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerAddressMode
VK_SAMPLER_ADDRESS_MODE_REPEAT),
              (String
"VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT",
               VkSamplerAddressMode -> ReadPrec VkSamplerAddressMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerAddressMode
VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT),
              (String
"VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE",
               VkSamplerAddressMode -> ReadPrec VkSamplerAddressMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerAddressMode
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE),
              (String
"VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER",
               VkSamplerAddressMode -> ReadPrec VkSamplerAddressMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerAddressMode
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER)]
             ReadPrec VkSamplerAddressMode
-> ReadPrec VkSamplerAddressMode -> ReadPrec VkSamplerAddressMode
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int
-> ReadPrec VkSamplerAddressMode -> ReadPrec VkSamplerAddressMode
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkSamplerAddressMode") ReadPrec ()
-> ReadPrec VkSamplerAddressMode -> ReadPrec VkSamplerAddressMode
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (Int32 -> VkSamplerAddressMode
VkSamplerAddressMode (Int32 -> VkSamplerAddressMode)
-> ReadPrec Int32 -> ReadPrec VkSamplerAddressMode
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_SAMPLER_ADDRESS_MODE_REPEAT :: VkSamplerAddressMode

pattern $bVK_SAMPLER_ADDRESS_MODE_REPEAT :: VkSamplerAddressMode
$mVK_SAMPLER_ADDRESS_MODE_REPEAT :: forall {r}.
VkSamplerAddressMode -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_ADDRESS_MODE_REPEAT = VkSamplerAddressMode 0

pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT ::
        VkSamplerAddressMode

pattern $bVK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT :: VkSamplerAddressMode
$mVK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT :: forall {r}.
VkSamplerAddressMode -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT =
        VkSamplerAddressMode 1

pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE ::
        VkSamplerAddressMode

pattern $bVK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE :: VkSamplerAddressMode
$mVK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE :: forall {r}.
VkSamplerAddressMode -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE =
        VkSamplerAddressMode 2

pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER ::
        VkSamplerAddressMode

pattern $bVK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER :: VkSamplerAddressMode
$mVK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER :: forall {r}.
VkSamplerAddressMode -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER =
        VkSamplerAddressMode 3

newtype VkSamplerCreateBitmask (a ::
                                  FlagType) = VkSamplerCreateBitmask VkFlags
                                              deriving (VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
(VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool)
-> (VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool)
-> Eq (VkSamplerCreateBitmask a)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall (a :: FlagType).
VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
/= :: VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
$c/= :: forall (a :: FlagType).
VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
== :: VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
$c== :: forall (a :: FlagType).
VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
Eq, Eq (VkSamplerCreateBitmask a)
Eq (VkSamplerCreateBitmask a)
-> (VkSamplerCreateBitmask a
    -> VkSamplerCreateBitmask a -> Ordering)
-> (VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool)
-> (VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool)
-> (VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool)
-> (VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool)
-> (VkSamplerCreateBitmask a
    -> VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a)
-> (VkSamplerCreateBitmask a
    -> VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a)
-> Ord (VkSamplerCreateBitmask a)
VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Ordering
VkSamplerCreateBitmask a
-> VkSamplerCreateBitmask a -> VkSamplerCreateBitmask 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 (VkSamplerCreateBitmask a)
forall (a :: FlagType).
VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
forall (a :: FlagType).
VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Ordering
forall (a :: FlagType).
VkSamplerCreateBitmask a
-> VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a
min :: VkSamplerCreateBitmask a
-> VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a
$cmin :: forall (a :: FlagType).
VkSamplerCreateBitmask a
-> VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a
max :: VkSamplerCreateBitmask a
-> VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a
$cmax :: forall (a :: FlagType).
VkSamplerCreateBitmask a
-> VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a
>= :: VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
$c>= :: forall (a :: FlagType).
VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
> :: VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
$c> :: forall (a :: FlagType).
VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
<= :: VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
$c<= :: forall (a :: FlagType).
VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
< :: VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
$c< :: forall (a :: FlagType).
VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Bool
compare :: VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Ordering
$ccompare :: forall (a :: FlagType).
VkSamplerCreateBitmask a -> VkSamplerCreateBitmask a -> Ordering
Ord, Ptr (VkSamplerCreateBitmask a) -> IO (VkSamplerCreateBitmask a)
Ptr (VkSamplerCreateBitmask a)
-> Int -> IO (VkSamplerCreateBitmask a)
Ptr (VkSamplerCreateBitmask a)
-> Int -> VkSamplerCreateBitmask a -> IO ()
Ptr (VkSamplerCreateBitmask a) -> VkSamplerCreateBitmask a -> IO ()
VkSamplerCreateBitmask a -> Int
(VkSamplerCreateBitmask a -> Int)
-> (VkSamplerCreateBitmask a -> Int)
-> (Ptr (VkSamplerCreateBitmask a)
    -> Int -> IO (VkSamplerCreateBitmask a))
-> (Ptr (VkSamplerCreateBitmask a)
    -> Int -> VkSamplerCreateBitmask a -> IO ())
-> (forall b. Ptr b -> Int -> IO (VkSamplerCreateBitmask a))
-> (forall b. Ptr b -> Int -> VkSamplerCreateBitmask a -> IO ())
-> (Ptr (VkSamplerCreateBitmask a)
    -> IO (VkSamplerCreateBitmask a))
-> (Ptr (VkSamplerCreateBitmask a)
    -> VkSamplerCreateBitmask a -> IO ())
-> Storable (VkSamplerCreateBitmask a)
forall b. Ptr b -> Int -> IO (VkSamplerCreateBitmask a)
forall b. Ptr b -> Int -> VkSamplerCreateBitmask 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 (VkSamplerCreateBitmask a) -> IO (VkSamplerCreateBitmask a)
forall (a :: FlagType).
Ptr (VkSamplerCreateBitmask a)
-> Int -> IO (VkSamplerCreateBitmask a)
forall (a :: FlagType).
Ptr (VkSamplerCreateBitmask a)
-> Int -> VkSamplerCreateBitmask a -> IO ()
forall (a :: FlagType).
Ptr (VkSamplerCreateBitmask a) -> VkSamplerCreateBitmask a -> IO ()
forall (a :: FlagType). VkSamplerCreateBitmask a -> Int
forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkSamplerCreateBitmask a)
forall (a :: FlagType) b.
Ptr b -> Int -> VkSamplerCreateBitmask a -> IO ()
poke :: Ptr (VkSamplerCreateBitmask a) -> VkSamplerCreateBitmask a -> IO ()
$cpoke :: forall (a :: FlagType).
Ptr (VkSamplerCreateBitmask a) -> VkSamplerCreateBitmask a -> IO ()
peek :: Ptr (VkSamplerCreateBitmask a) -> IO (VkSamplerCreateBitmask a)
$cpeek :: forall (a :: FlagType).
Ptr (VkSamplerCreateBitmask a) -> IO (VkSamplerCreateBitmask a)
pokeByteOff :: forall b. Ptr b -> Int -> VkSamplerCreateBitmask a -> IO ()
$cpokeByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> VkSamplerCreateBitmask a -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO (VkSamplerCreateBitmask a)
$cpeekByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkSamplerCreateBitmask a)
pokeElemOff :: Ptr (VkSamplerCreateBitmask a)
-> Int -> VkSamplerCreateBitmask a -> IO ()
$cpokeElemOff :: forall (a :: FlagType).
Ptr (VkSamplerCreateBitmask a)
-> Int -> VkSamplerCreateBitmask a -> IO ()
peekElemOff :: Ptr (VkSamplerCreateBitmask a)
-> Int -> IO (VkSamplerCreateBitmask a)
$cpeekElemOff :: forall (a :: FlagType).
Ptr (VkSamplerCreateBitmask a)
-> Int -> IO (VkSamplerCreateBitmask a)
alignment :: VkSamplerCreateBitmask a -> Int
$calignment :: forall (a :: FlagType). VkSamplerCreateBitmask a -> Int
sizeOf :: VkSamplerCreateBitmask a -> Int
$csizeOf :: forall (a :: FlagType). VkSamplerCreateBitmask a -> Int
Storable)

type VkSamplerCreateFlags = VkSamplerCreateBitmask FlagMask

type VkSamplerCreateFlagBits = VkSamplerCreateBitmask FlagBit

pattern VkSamplerCreateFlagBits ::
        VkFlags -> VkSamplerCreateBitmask FlagBit

pattern $bVkSamplerCreateFlagBits :: VkFlags -> VkSamplerCreateBitmask FlagBit
$mVkSamplerCreateFlagBits :: forall {r}.
VkSamplerCreateBitmask FlagBit
-> (VkFlags -> r) -> (Void# -> r) -> r
VkSamplerCreateFlagBits n = VkSamplerCreateBitmask n

pattern VkSamplerCreateFlags ::
        VkFlags -> VkSamplerCreateBitmask FlagMask

pattern $bVkSamplerCreateFlags :: VkFlags -> VkSamplerCreateBitmask FlagMask
$mVkSamplerCreateFlags :: forall {r}.
VkSamplerCreateBitmask FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkSamplerCreateFlags n = VkSamplerCreateBitmask n

deriving instance Bits (VkSamplerCreateBitmask FlagMask)

deriving instance FiniteBits (VkSamplerCreateBitmask FlagMask)

instance Show (VkSamplerCreateBitmask a) where
    showsPrec :: Int -> VkSamplerCreateBitmask a -> ShowS
showsPrec Int
p (VkSamplerCreateBitmask VkFlags
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkSamplerCreateBitmask " 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 (VkSamplerCreateBitmask a) where
    readPrec :: ReadPrec (VkSamplerCreateBitmask a)
readPrec
      = ReadPrec (VkSamplerCreateBitmask a)
-> ReadPrec (VkSamplerCreateBitmask a)
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec (VkSamplerCreateBitmask a))]
-> ReadPrec (VkSamplerCreateBitmask a)
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose [] ReadPrec (VkSamplerCreateBitmask a)
-> ReadPrec (VkSamplerCreateBitmask a)
-> ReadPrec (VkSamplerCreateBitmask a)
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int
-> ReadPrec (VkSamplerCreateBitmask a)
-> ReadPrec (VkSamplerCreateBitmask a)
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkSamplerCreateBitmask") ReadPrec ()
-> ReadPrec (VkSamplerCreateBitmask a)
-> ReadPrec (VkSamplerCreateBitmask a)
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (VkFlags -> VkSamplerCreateBitmask a
forall (a :: FlagType). VkFlags -> VkSamplerCreateBitmask a
VkSamplerCreateBitmask (VkFlags -> VkSamplerCreateBitmask a)
-> ReadPrec VkFlags -> ReadPrec (VkSamplerCreateBitmask 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)))

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkSamplerMipmapMode VkSamplerMipmapMode registry at www.khronos.org>
newtype VkSamplerMipmapMode = VkSamplerMipmapMode Int32
                              deriving (VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool
(VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool)
-> (VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool)
-> Eq VkSamplerMipmapMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool
$c/= :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool
== :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool
$c== :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool
Eq, Eq VkSamplerMipmapMode
Eq VkSamplerMipmapMode
-> (VkSamplerMipmapMode -> VkSamplerMipmapMode -> Ordering)
-> (VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool)
-> (VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool)
-> (VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool)
-> (VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool)
-> (VkSamplerMipmapMode
    -> VkSamplerMipmapMode -> VkSamplerMipmapMode)
-> (VkSamplerMipmapMode
    -> VkSamplerMipmapMode -> VkSamplerMipmapMode)
-> Ord VkSamplerMipmapMode
VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool
VkSamplerMipmapMode -> VkSamplerMipmapMode -> Ordering
VkSamplerMipmapMode -> VkSamplerMipmapMode -> VkSamplerMipmapMode
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 :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> VkSamplerMipmapMode
$cmin :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> VkSamplerMipmapMode
max :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> VkSamplerMipmapMode
$cmax :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> VkSamplerMipmapMode
>= :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool
$c>= :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool
> :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool
$c> :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool
<= :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool
$c<= :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool
< :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool
$c< :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> Bool
compare :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> Ordering
$ccompare :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> Ordering
Ord, Int -> VkSamplerMipmapMode
VkSamplerMipmapMode -> Int
VkSamplerMipmapMode -> [VkSamplerMipmapMode]
VkSamplerMipmapMode -> VkSamplerMipmapMode
VkSamplerMipmapMode -> VkSamplerMipmapMode -> [VkSamplerMipmapMode]
VkSamplerMipmapMode
-> VkSamplerMipmapMode
-> VkSamplerMipmapMode
-> [VkSamplerMipmapMode]
(VkSamplerMipmapMode -> VkSamplerMipmapMode)
-> (VkSamplerMipmapMode -> VkSamplerMipmapMode)
-> (Int -> VkSamplerMipmapMode)
-> (VkSamplerMipmapMode -> Int)
-> (VkSamplerMipmapMode -> [VkSamplerMipmapMode])
-> (VkSamplerMipmapMode
    -> VkSamplerMipmapMode -> [VkSamplerMipmapMode])
-> (VkSamplerMipmapMode
    -> VkSamplerMipmapMode -> [VkSamplerMipmapMode])
-> (VkSamplerMipmapMode
    -> VkSamplerMipmapMode
    -> VkSamplerMipmapMode
    -> [VkSamplerMipmapMode])
-> Enum VkSamplerMipmapMode
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 :: VkSamplerMipmapMode
-> VkSamplerMipmapMode
-> VkSamplerMipmapMode
-> [VkSamplerMipmapMode]
$cenumFromThenTo :: VkSamplerMipmapMode
-> VkSamplerMipmapMode
-> VkSamplerMipmapMode
-> [VkSamplerMipmapMode]
enumFromTo :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> [VkSamplerMipmapMode]
$cenumFromTo :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> [VkSamplerMipmapMode]
enumFromThen :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> [VkSamplerMipmapMode]
$cenumFromThen :: VkSamplerMipmapMode -> VkSamplerMipmapMode -> [VkSamplerMipmapMode]
enumFrom :: VkSamplerMipmapMode -> [VkSamplerMipmapMode]
$cenumFrom :: VkSamplerMipmapMode -> [VkSamplerMipmapMode]
fromEnum :: VkSamplerMipmapMode -> Int
$cfromEnum :: VkSamplerMipmapMode -> Int
toEnum :: Int -> VkSamplerMipmapMode
$ctoEnum :: Int -> VkSamplerMipmapMode
pred :: VkSamplerMipmapMode -> VkSamplerMipmapMode
$cpred :: VkSamplerMipmapMode -> VkSamplerMipmapMode
succ :: VkSamplerMipmapMode -> VkSamplerMipmapMode
$csucc :: VkSamplerMipmapMode -> VkSamplerMipmapMode
Enum, Ptr VkSamplerMipmapMode -> IO VkSamplerMipmapMode
Ptr VkSamplerMipmapMode -> Int -> IO VkSamplerMipmapMode
Ptr VkSamplerMipmapMode -> Int -> VkSamplerMipmapMode -> IO ()
Ptr VkSamplerMipmapMode -> VkSamplerMipmapMode -> IO ()
VkSamplerMipmapMode -> Int
(VkSamplerMipmapMode -> Int)
-> (VkSamplerMipmapMode -> Int)
-> (Ptr VkSamplerMipmapMode -> Int -> IO VkSamplerMipmapMode)
-> (Ptr VkSamplerMipmapMode -> Int -> VkSamplerMipmapMode -> IO ())
-> (forall b. Ptr b -> Int -> IO VkSamplerMipmapMode)
-> (forall b. Ptr b -> Int -> VkSamplerMipmapMode -> IO ())
-> (Ptr VkSamplerMipmapMode -> IO VkSamplerMipmapMode)
-> (Ptr VkSamplerMipmapMode -> VkSamplerMipmapMode -> IO ())
-> Storable VkSamplerMipmapMode
forall b. Ptr b -> Int -> IO VkSamplerMipmapMode
forall b. Ptr b -> Int -> VkSamplerMipmapMode -> 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 VkSamplerMipmapMode -> VkSamplerMipmapMode -> IO ()
$cpoke :: Ptr VkSamplerMipmapMode -> VkSamplerMipmapMode -> IO ()
peek :: Ptr VkSamplerMipmapMode -> IO VkSamplerMipmapMode
$cpeek :: Ptr VkSamplerMipmapMode -> IO VkSamplerMipmapMode
pokeByteOff :: forall b. Ptr b -> Int -> VkSamplerMipmapMode -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkSamplerMipmapMode -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerMipmapMode
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerMipmapMode
pokeElemOff :: Ptr VkSamplerMipmapMode -> Int -> VkSamplerMipmapMode -> IO ()
$cpokeElemOff :: Ptr VkSamplerMipmapMode -> Int -> VkSamplerMipmapMode -> IO ()
peekElemOff :: Ptr VkSamplerMipmapMode -> Int -> IO VkSamplerMipmapMode
$cpeekElemOff :: Ptr VkSamplerMipmapMode -> Int -> IO VkSamplerMipmapMode
alignment :: VkSamplerMipmapMode -> Int
$calignment :: VkSamplerMipmapMode -> Int
sizeOf :: VkSamplerMipmapMode -> Int
$csizeOf :: VkSamplerMipmapMode -> Int
Storable)

instance Show VkSamplerMipmapMode where
    showsPrec :: Int -> VkSamplerMipmapMode -> ShowS
showsPrec Int
_ VkSamplerMipmapMode
VK_SAMPLER_MIPMAP_MODE_NEAREST
      = String -> ShowS
showString String
"VK_SAMPLER_MIPMAP_MODE_NEAREST"
    showsPrec Int
_ VkSamplerMipmapMode
VK_SAMPLER_MIPMAP_MODE_LINEAR
      = String -> ShowS
showString String
"VK_SAMPLER_MIPMAP_MODE_LINEAR"
    showsPrec Int
p (VkSamplerMipmapMode Int32
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkSamplerMipmapMode " 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 VkSamplerMipmapMode where
    readPrec :: ReadPrec VkSamplerMipmapMode
readPrec
      = ReadPrec VkSamplerMipmapMode -> ReadPrec VkSamplerMipmapMode
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec VkSamplerMipmapMode)]
-> ReadPrec VkSamplerMipmapMode
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
             [(String
"VK_SAMPLER_MIPMAP_MODE_NEAREST",
               VkSamplerMipmapMode -> ReadPrec VkSamplerMipmapMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerMipmapMode
VK_SAMPLER_MIPMAP_MODE_NEAREST),
              (String
"VK_SAMPLER_MIPMAP_MODE_LINEAR",
               VkSamplerMipmapMode -> ReadPrec VkSamplerMipmapMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerMipmapMode
VK_SAMPLER_MIPMAP_MODE_LINEAR)]
             ReadPrec VkSamplerMipmapMode
-> ReadPrec VkSamplerMipmapMode -> ReadPrec VkSamplerMipmapMode
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int -> ReadPrec VkSamplerMipmapMode -> ReadPrec VkSamplerMipmapMode
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkSamplerMipmapMode") ReadPrec ()
-> ReadPrec VkSamplerMipmapMode -> ReadPrec VkSamplerMipmapMode
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (Int32 -> VkSamplerMipmapMode
VkSamplerMipmapMode (Int32 -> VkSamplerMipmapMode)
-> ReadPrec Int32 -> ReadPrec VkSamplerMipmapMode
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)))

-- | Choose nearest mip level
pattern VK_SAMPLER_MIPMAP_MODE_NEAREST :: VkSamplerMipmapMode

pattern $bVK_SAMPLER_MIPMAP_MODE_NEAREST :: VkSamplerMipmapMode
$mVK_SAMPLER_MIPMAP_MODE_NEAREST :: forall {r}.
VkSamplerMipmapMode -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_MIPMAP_MODE_NEAREST = VkSamplerMipmapMode 0

-- | Linear filter between mip levels
pattern VK_SAMPLER_MIPMAP_MODE_LINEAR :: VkSamplerMipmapMode

pattern $bVK_SAMPLER_MIPMAP_MODE_LINEAR :: VkSamplerMipmapMode
$mVK_SAMPLER_MIPMAP_MODE_LINEAR :: forall {r}.
VkSamplerMipmapMode -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_MIPMAP_MODE_LINEAR = VkSamplerMipmapMode 1

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkSamplerReductionMode VkSamplerReductionMode registry at www.khronos.org>
newtype VkSamplerReductionMode = VkSamplerReductionMode Int32
                                 deriving (VkSamplerReductionMode -> VkSamplerReductionMode -> Bool
(VkSamplerReductionMode -> VkSamplerReductionMode -> Bool)
-> (VkSamplerReductionMode -> VkSamplerReductionMode -> Bool)
-> Eq VkSamplerReductionMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkSamplerReductionMode -> VkSamplerReductionMode -> Bool
$c/= :: VkSamplerReductionMode -> VkSamplerReductionMode -> Bool
== :: VkSamplerReductionMode -> VkSamplerReductionMode -> Bool
$c== :: VkSamplerReductionMode -> VkSamplerReductionMode -> Bool
Eq, Eq VkSamplerReductionMode
Eq VkSamplerReductionMode
-> (VkSamplerReductionMode -> VkSamplerReductionMode -> Ordering)
-> (VkSamplerReductionMode -> VkSamplerReductionMode -> Bool)
-> (VkSamplerReductionMode -> VkSamplerReductionMode -> Bool)
-> (VkSamplerReductionMode -> VkSamplerReductionMode -> Bool)
-> (VkSamplerReductionMode -> VkSamplerReductionMode -> Bool)
-> (VkSamplerReductionMode
    -> VkSamplerReductionMode -> VkSamplerReductionMode)
-> (VkSamplerReductionMode
    -> VkSamplerReductionMode -> VkSamplerReductionMode)
-> Ord VkSamplerReductionMode
VkSamplerReductionMode -> VkSamplerReductionMode -> Bool
VkSamplerReductionMode -> VkSamplerReductionMode -> Ordering
VkSamplerReductionMode
-> VkSamplerReductionMode -> VkSamplerReductionMode
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 :: VkSamplerReductionMode
-> VkSamplerReductionMode -> VkSamplerReductionMode
$cmin :: VkSamplerReductionMode
-> VkSamplerReductionMode -> VkSamplerReductionMode
max :: VkSamplerReductionMode
-> VkSamplerReductionMode -> VkSamplerReductionMode
$cmax :: VkSamplerReductionMode
-> VkSamplerReductionMode -> VkSamplerReductionMode
>= :: VkSamplerReductionMode -> VkSamplerReductionMode -> Bool
$c>= :: VkSamplerReductionMode -> VkSamplerReductionMode -> Bool
> :: VkSamplerReductionMode -> VkSamplerReductionMode -> Bool
$c> :: VkSamplerReductionMode -> VkSamplerReductionMode -> Bool
<= :: VkSamplerReductionMode -> VkSamplerReductionMode -> Bool
$c<= :: VkSamplerReductionMode -> VkSamplerReductionMode -> Bool
< :: VkSamplerReductionMode -> VkSamplerReductionMode -> Bool
$c< :: VkSamplerReductionMode -> VkSamplerReductionMode -> Bool
compare :: VkSamplerReductionMode -> VkSamplerReductionMode -> Ordering
$ccompare :: VkSamplerReductionMode -> VkSamplerReductionMode -> Ordering
Ord, Int -> VkSamplerReductionMode
VkSamplerReductionMode -> Int
VkSamplerReductionMode -> [VkSamplerReductionMode]
VkSamplerReductionMode -> VkSamplerReductionMode
VkSamplerReductionMode
-> VkSamplerReductionMode -> [VkSamplerReductionMode]
VkSamplerReductionMode
-> VkSamplerReductionMode
-> VkSamplerReductionMode
-> [VkSamplerReductionMode]
(VkSamplerReductionMode -> VkSamplerReductionMode)
-> (VkSamplerReductionMode -> VkSamplerReductionMode)
-> (Int -> VkSamplerReductionMode)
-> (VkSamplerReductionMode -> Int)
-> (VkSamplerReductionMode -> [VkSamplerReductionMode])
-> (VkSamplerReductionMode
    -> VkSamplerReductionMode -> [VkSamplerReductionMode])
-> (VkSamplerReductionMode
    -> VkSamplerReductionMode -> [VkSamplerReductionMode])
-> (VkSamplerReductionMode
    -> VkSamplerReductionMode
    -> VkSamplerReductionMode
    -> [VkSamplerReductionMode])
-> Enum VkSamplerReductionMode
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 :: VkSamplerReductionMode
-> VkSamplerReductionMode
-> VkSamplerReductionMode
-> [VkSamplerReductionMode]
$cenumFromThenTo :: VkSamplerReductionMode
-> VkSamplerReductionMode
-> VkSamplerReductionMode
-> [VkSamplerReductionMode]
enumFromTo :: VkSamplerReductionMode
-> VkSamplerReductionMode -> [VkSamplerReductionMode]
$cenumFromTo :: VkSamplerReductionMode
-> VkSamplerReductionMode -> [VkSamplerReductionMode]
enumFromThen :: VkSamplerReductionMode
-> VkSamplerReductionMode -> [VkSamplerReductionMode]
$cenumFromThen :: VkSamplerReductionMode
-> VkSamplerReductionMode -> [VkSamplerReductionMode]
enumFrom :: VkSamplerReductionMode -> [VkSamplerReductionMode]
$cenumFrom :: VkSamplerReductionMode -> [VkSamplerReductionMode]
fromEnum :: VkSamplerReductionMode -> Int
$cfromEnum :: VkSamplerReductionMode -> Int
toEnum :: Int -> VkSamplerReductionMode
$ctoEnum :: Int -> VkSamplerReductionMode
pred :: VkSamplerReductionMode -> VkSamplerReductionMode
$cpred :: VkSamplerReductionMode -> VkSamplerReductionMode
succ :: VkSamplerReductionMode -> VkSamplerReductionMode
$csucc :: VkSamplerReductionMode -> VkSamplerReductionMode
Enum, Ptr VkSamplerReductionMode -> IO VkSamplerReductionMode
Ptr VkSamplerReductionMode -> Int -> IO VkSamplerReductionMode
Ptr VkSamplerReductionMode
-> Int -> VkSamplerReductionMode -> IO ()
Ptr VkSamplerReductionMode -> VkSamplerReductionMode -> IO ()
VkSamplerReductionMode -> Int
(VkSamplerReductionMode -> Int)
-> (VkSamplerReductionMode -> Int)
-> (Ptr VkSamplerReductionMode -> Int -> IO VkSamplerReductionMode)
-> (Ptr VkSamplerReductionMode
    -> Int -> VkSamplerReductionMode -> IO ())
-> (forall b. Ptr b -> Int -> IO VkSamplerReductionMode)
-> (forall b. Ptr b -> Int -> VkSamplerReductionMode -> IO ())
-> (Ptr VkSamplerReductionMode -> IO VkSamplerReductionMode)
-> (Ptr VkSamplerReductionMode -> VkSamplerReductionMode -> IO ())
-> Storable VkSamplerReductionMode
forall b. Ptr b -> Int -> IO VkSamplerReductionMode
forall b. Ptr b -> Int -> VkSamplerReductionMode -> 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 VkSamplerReductionMode -> VkSamplerReductionMode -> IO ()
$cpoke :: Ptr VkSamplerReductionMode -> VkSamplerReductionMode -> IO ()
peek :: Ptr VkSamplerReductionMode -> IO VkSamplerReductionMode
$cpeek :: Ptr VkSamplerReductionMode -> IO VkSamplerReductionMode
pokeByteOff :: forall b. Ptr b -> Int -> VkSamplerReductionMode -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkSamplerReductionMode -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerReductionMode
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerReductionMode
pokeElemOff :: Ptr VkSamplerReductionMode
-> Int -> VkSamplerReductionMode -> IO ()
$cpokeElemOff :: Ptr VkSamplerReductionMode
-> Int -> VkSamplerReductionMode -> IO ()
peekElemOff :: Ptr VkSamplerReductionMode -> Int -> IO VkSamplerReductionMode
$cpeekElemOff :: Ptr VkSamplerReductionMode -> Int -> IO VkSamplerReductionMode
alignment :: VkSamplerReductionMode -> Int
$calignment :: VkSamplerReductionMode -> Int
sizeOf :: VkSamplerReductionMode -> Int
$csizeOf :: VkSamplerReductionMode -> Int
Storable)

instance Show VkSamplerReductionMode where
    showsPrec :: Int -> VkSamplerReductionMode -> ShowS
showsPrec Int
_ VkSamplerReductionMode
VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE
      = String -> ShowS
showString String
"VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE"
    showsPrec Int
_ VkSamplerReductionMode
VK_SAMPLER_REDUCTION_MODE_MIN
      = String -> ShowS
showString String
"VK_SAMPLER_REDUCTION_MODE_MIN"
    showsPrec Int
_ VkSamplerReductionMode
VK_SAMPLER_REDUCTION_MODE_MAX
      = String -> ShowS
showString String
"VK_SAMPLER_REDUCTION_MODE_MAX"
    showsPrec Int
p (VkSamplerReductionMode Int32
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkSamplerReductionMode " 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 VkSamplerReductionMode where
    readPrec :: ReadPrec VkSamplerReductionMode
readPrec
      = ReadPrec VkSamplerReductionMode -> ReadPrec VkSamplerReductionMode
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec VkSamplerReductionMode)]
-> ReadPrec VkSamplerReductionMode
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
             [(String
"VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE",
               VkSamplerReductionMode -> ReadPrec VkSamplerReductionMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerReductionMode
VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE),
              (String
"VK_SAMPLER_REDUCTION_MODE_MIN",
               VkSamplerReductionMode -> ReadPrec VkSamplerReductionMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerReductionMode
VK_SAMPLER_REDUCTION_MODE_MIN),
              (String
"VK_SAMPLER_REDUCTION_MODE_MAX",
               VkSamplerReductionMode -> ReadPrec VkSamplerReductionMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerReductionMode
VK_SAMPLER_REDUCTION_MODE_MAX)]
             ReadPrec VkSamplerReductionMode
-> ReadPrec VkSamplerReductionMode
-> ReadPrec VkSamplerReductionMode
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int
-> ReadPrec VkSamplerReductionMode
-> ReadPrec VkSamplerReductionMode
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkSamplerReductionMode") ReadPrec ()
-> ReadPrec VkSamplerReductionMode
-> ReadPrec VkSamplerReductionMode
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (Int32 -> VkSamplerReductionMode
VkSamplerReductionMode (Int32 -> VkSamplerReductionMode)
-> ReadPrec Int32 -> ReadPrec VkSamplerReductionMode
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_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE ::
        VkSamplerReductionMode

pattern $bVK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE :: VkSamplerReductionMode
$mVK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE :: forall {r}.
VkSamplerReductionMode -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE =
        VkSamplerReductionMode 0

pattern VK_SAMPLER_REDUCTION_MODE_MIN :: VkSamplerReductionMode

pattern $bVK_SAMPLER_REDUCTION_MODE_MIN :: VkSamplerReductionMode
$mVK_SAMPLER_REDUCTION_MODE_MIN :: forall {r}.
VkSamplerReductionMode -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_REDUCTION_MODE_MIN = VkSamplerReductionMode 1

pattern VK_SAMPLER_REDUCTION_MODE_MAX :: VkSamplerReductionMode

pattern $bVK_SAMPLER_REDUCTION_MODE_MAX :: VkSamplerReductionMode
$mVK_SAMPLER_REDUCTION_MODE_MAX :: forall {r}.
VkSamplerReductionMode -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_REDUCTION_MODE_MAX = VkSamplerReductionMode 2

newtype VkSamplerReductionModeEXT = VkSamplerReductionModeEXT VkFlags
                                    deriving (VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool
(VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool)
-> (VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool)
-> Eq VkSamplerReductionModeEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool
$c/= :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool
== :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool
$c== :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool
Eq, Eq VkSamplerReductionModeEXT
Eq VkSamplerReductionModeEXT
-> (VkSamplerReductionModeEXT
    -> VkSamplerReductionModeEXT -> Ordering)
-> (VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool)
-> (VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool)
-> (VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool)
-> (VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool)
-> (VkSamplerReductionModeEXT
    -> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT
    -> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT)
-> Ord VkSamplerReductionModeEXT
VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool
VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Ordering
VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
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 :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
$cmin :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
max :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
$cmax :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
>= :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool
$c>= :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool
> :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool
$c> :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool
<= :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool
$c<= :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool
< :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool
$c< :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Bool
compare :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Ordering
$ccompare :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> Ordering
Ord, Int -> VkSamplerReductionModeEXT
VkSamplerReductionModeEXT -> Int
VkSamplerReductionModeEXT -> [VkSamplerReductionModeEXT]
VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> [VkSamplerReductionModeEXT]
VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT
-> [VkSamplerReductionModeEXT]
(VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT)
-> (Int -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> Int)
-> (VkSamplerReductionModeEXT -> [VkSamplerReductionModeEXT])
-> (VkSamplerReductionModeEXT
    -> VkSamplerReductionModeEXT -> [VkSamplerReductionModeEXT])
-> (VkSamplerReductionModeEXT
    -> VkSamplerReductionModeEXT -> [VkSamplerReductionModeEXT])
-> (VkSamplerReductionModeEXT
    -> VkSamplerReductionModeEXT
    -> VkSamplerReductionModeEXT
    -> [VkSamplerReductionModeEXT])
-> Enum VkSamplerReductionModeEXT
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 :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT
-> [VkSamplerReductionModeEXT]
$cenumFromThenTo :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT
-> [VkSamplerReductionModeEXT]
enumFromTo :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> [VkSamplerReductionModeEXT]
$cenumFromTo :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> [VkSamplerReductionModeEXT]
enumFromThen :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> [VkSamplerReductionModeEXT]
$cenumFromThen :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> [VkSamplerReductionModeEXT]
enumFrom :: VkSamplerReductionModeEXT -> [VkSamplerReductionModeEXT]
$cenumFrom :: VkSamplerReductionModeEXT -> [VkSamplerReductionModeEXT]
fromEnum :: VkSamplerReductionModeEXT -> Int
$cfromEnum :: VkSamplerReductionModeEXT -> Int
toEnum :: Int -> VkSamplerReductionModeEXT
$ctoEnum :: Int -> VkSamplerReductionModeEXT
pred :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
$cpred :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
succ :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
$csucc :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
Enum, Eq VkSamplerReductionModeEXT
VkSamplerReductionModeEXT
Eq VkSamplerReductionModeEXT
-> (VkSamplerReductionModeEXT
    -> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT
    -> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT
    -> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT)
-> VkSamplerReductionModeEXT
-> (Int -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> Int -> Bool)
-> (VkSamplerReductionModeEXT -> Maybe Int)
-> (VkSamplerReductionModeEXT -> Int)
-> (VkSamplerReductionModeEXT -> Bool)
-> (VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT)
-> (VkSamplerReductionModeEXT -> Int)
-> Bits VkSamplerReductionModeEXT
Int -> VkSamplerReductionModeEXT
VkSamplerReductionModeEXT -> Bool
VkSamplerReductionModeEXT -> Int
VkSamplerReductionModeEXT -> Maybe Int
VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
VkSamplerReductionModeEXT -> Int -> Bool
VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
forall a.
Eq a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
popCount :: VkSamplerReductionModeEXT -> Int
$cpopCount :: VkSamplerReductionModeEXT -> Int
rotateR :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
$crotateR :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
rotateL :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
$crotateL :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
unsafeShiftR :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
$cunsafeShiftR :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
shiftR :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
$cshiftR :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
unsafeShiftL :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
$cunsafeShiftL :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
shiftL :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
$cshiftL :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
isSigned :: VkSamplerReductionModeEXT -> Bool
$cisSigned :: VkSamplerReductionModeEXT -> Bool
bitSize :: VkSamplerReductionModeEXT -> Int
$cbitSize :: VkSamplerReductionModeEXT -> Int
bitSizeMaybe :: VkSamplerReductionModeEXT -> Maybe Int
$cbitSizeMaybe :: VkSamplerReductionModeEXT -> Maybe Int
testBit :: VkSamplerReductionModeEXT -> Int -> Bool
$ctestBit :: VkSamplerReductionModeEXT -> Int -> Bool
complementBit :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
$ccomplementBit :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
clearBit :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
$cclearBit :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
setBit :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
$csetBit :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
bit :: Int -> VkSamplerReductionModeEXT
$cbit :: Int -> VkSamplerReductionModeEXT
zeroBits :: VkSamplerReductionModeEXT
$czeroBits :: VkSamplerReductionModeEXT
rotate :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
$crotate :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
shift :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
$cshift :: VkSamplerReductionModeEXT -> Int -> VkSamplerReductionModeEXT
complement :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
$ccomplement :: VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
xor :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
$cxor :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
.|. :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
$c.|. :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
.&. :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
$c.&. :: VkSamplerReductionModeEXT
-> VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT
Bits, Bits VkSamplerReductionModeEXT
Bits VkSamplerReductionModeEXT
-> (VkSamplerReductionModeEXT -> Int)
-> (VkSamplerReductionModeEXT -> Int)
-> (VkSamplerReductionModeEXT -> Int)
-> FiniteBits VkSamplerReductionModeEXT
VkSamplerReductionModeEXT -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: VkSamplerReductionModeEXT -> Int
$ccountTrailingZeros :: VkSamplerReductionModeEXT -> Int
countLeadingZeros :: VkSamplerReductionModeEXT -> Int
$ccountLeadingZeros :: VkSamplerReductionModeEXT -> Int
finiteBitSize :: VkSamplerReductionModeEXT -> Int
$cfiniteBitSize :: VkSamplerReductionModeEXT -> Int
FiniteBits, Ptr VkSamplerReductionModeEXT -> IO VkSamplerReductionModeEXT
Ptr VkSamplerReductionModeEXT
-> Int -> IO VkSamplerReductionModeEXT
Ptr VkSamplerReductionModeEXT
-> Int -> VkSamplerReductionModeEXT -> IO ()
Ptr VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> IO ()
VkSamplerReductionModeEXT -> Int
(VkSamplerReductionModeEXT -> Int)
-> (VkSamplerReductionModeEXT -> Int)
-> (Ptr VkSamplerReductionModeEXT
    -> Int -> IO VkSamplerReductionModeEXT)
-> (Ptr VkSamplerReductionModeEXT
    -> Int -> VkSamplerReductionModeEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO VkSamplerReductionModeEXT)
-> (forall b. Ptr b -> Int -> VkSamplerReductionModeEXT -> IO ())
-> (Ptr VkSamplerReductionModeEXT -> IO VkSamplerReductionModeEXT)
-> (Ptr VkSamplerReductionModeEXT
    -> VkSamplerReductionModeEXT -> IO ())
-> Storable VkSamplerReductionModeEXT
forall b. Ptr b -> Int -> IO VkSamplerReductionModeEXT
forall b. Ptr b -> Int -> VkSamplerReductionModeEXT -> 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 VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> IO ()
$cpoke :: Ptr VkSamplerReductionModeEXT -> VkSamplerReductionModeEXT -> IO ()
peek :: Ptr VkSamplerReductionModeEXT -> IO VkSamplerReductionModeEXT
$cpeek :: Ptr VkSamplerReductionModeEXT -> IO VkSamplerReductionModeEXT
pokeByteOff :: forall b. Ptr b -> Int -> VkSamplerReductionModeEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkSamplerReductionModeEXT -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerReductionModeEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerReductionModeEXT
pokeElemOff :: Ptr VkSamplerReductionModeEXT
-> Int -> VkSamplerReductionModeEXT -> IO ()
$cpokeElemOff :: Ptr VkSamplerReductionModeEXT
-> Int -> VkSamplerReductionModeEXT -> IO ()
peekElemOff :: Ptr VkSamplerReductionModeEXT
-> Int -> IO VkSamplerReductionModeEXT
$cpeekElemOff :: Ptr VkSamplerReductionModeEXT
-> Int -> IO VkSamplerReductionModeEXT
alignment :: VkSamplerReductionModeEXT -> Int
$calignment :: VkSamplerReductionModeEXT -> Int
sizeOf :: VkSamplerReductionModeEXT -> Int
$csizeOf :: VkSamplerReductionModeEXT -> Int
Storable)

instance Show VkSamplerReductionModeEXT where
    {-# INLINE showsPrec #-}
    showsPrec :: Int -> VkSamplerReductionModeEXT -> ShowS
showsPrec = (Int -> VkFlags -> ShowS)
-> Int -> VkSamplerReductionModeEXT -> ShowS
coerce (Int -> VkFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec :: Int -> VkFlags -> ShowS)

instance Read VkSamplerReductionModeEXT where
    {-# INLINE readsPrec #-}
    readsPrec :: Int -> ReadS VkSamplerReductionModeEXT
readsPrec = (Int -> ReadS VkFlags) -> Int -> ReadS VkSamplerReductionModeEXT
coerce (Int -> ReadS VkFlags
forall a. Read a => Int -> ReadS a
readsPrec :: Int -> ReadS VkFlags)

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversion registry at www.khronos.org>
newtype VkSamplerYcbcrModelConversion = VkSamplerYcbcrModelConversion Int32
                                        deriving (VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Bool
(VkSamplerYcbcrModelConversion
 -> VkSamplerYcbcrModelConversion -> Bool)
-> (VkSamplerYcbcrModelConversion
    -> VkSamplerYcbcrModelConversion -> Bool)
-> Eq VkSamplerYcbcrModelConversion
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Bool
$c/= :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Bool
== :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Bool
$c== :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Bool
Eq, Eq VkSamplerYcbcrModelConversion
Eq VkSamplerYcbcrModelConversion
-> (VkSamplerYcbcrModelConversion
    -> VkSamplerYcbcrModelConversion -> Ordering)
-> (VkSamplerYcbcrModelConversion
    -> VkSamplerYcbcrModelConversion -> Bool)
-> (VkSamplerYcbcrModelConversion
    -> VkSamplerYcbcrModelConversion -> Bool)
-> (VkSamplerYcbcrModelConversion
    -> VkSamplerYcbcrModelConversion -> Bool)
-> (VkSamplerYcbcrModelConversion
    -> VkSamplerYcbcrModelConversion -> Bool)
-> (VkSamplerYcbcrModelConversion
    -> VkSamplerYcbcrModelConversion -> VkSamplerYcbcrModelConversion)
-> (VkSamplerYcbcrModelConversion
    -> VkSamplerYcbcrModelConversion -> VkSamplerYcbcrModelConversion)
-> Ord VkSamplerYcbcrModelConversion
VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Bool
VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Ordering
VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> VkSamplerYcbcrModelConversion
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 :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> VkSamplerYcbcrModelConversion
$cmin :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> VkSamplerYcbcrModelConversion
max :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> VkSamplerYcbcrModelConversion
$cmax :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> VkSamplerYcbcrModelConversion
>= :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Bool
$c>= :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Bool
> :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Bool
$c> :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Bool
<= :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Bool
$c<= :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Bool
< :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Bool
$c< :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Bool
compare :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Ordering
$ccompare :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> Ordering
Ord, Int -> VkSamplerYcbcrModelConversion
VkSamplerYcbcrModelConversion -> Int
VkSamplerYcbcrModelConversion -> [VkSamplerYcbcrModelConversion]
VkSamplerYcbcrModelConversion -> VkSamplerYcbcrModelConversion
VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> [VkSamplerYcbcrModelConversion]
VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion
-> [VkSamplerYcbcrModelConversion]
(VkSamplerYcbcrModelConversion -> VkSamplerYcbcrModelConversion)
-> (VkSamplerYcbcrModelConversion -> VkSamplerYcbcrModelConversion)
-> (Int -> VkSamplerYcbcrModelConversion)
-> (VkSamplerYcbcrModelConversion -> Int)
-> (VkSamplerYcbcrModelConversion
    -> [VkSamplerYcbcrModelConversion])
-> (VkSamplerYcbcrModelConversion
    -> VkSamplerYcbcrModelConversion
    -> [VkSamplerYcbcrModelConversion])
-> (VkSamplerYcbcrModelConversion
    -> VkSamplerYcbcrModelConversion
    -> [VkSamplerYcbcrModelConversion])
-> (VkSamplerYcbcrModelConversion
    -> VkSamplerYcbcrModelConversion
    -> VkSamplerYcbcrModelConversion
    -> [VkSamplerYcbcrModelConversion])
-> Enum VkSamplerYcbcrModelConversion
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 :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion
-> [VkSamplerYcbcrModelConversion]
$cenumFromThenTo :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion
-> [VkSamplerYcbcrModelConversion]
enumFromTo :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> [VkSamplerYcbcrModelConversion]
$cenumFromTo :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> [VkSamplerYcbcrModelConversion]
enumFromThen :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> [VkSamplerYcbcrModelConversion]
$cenumFromThen :: VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> [VkSamplerYcbcrModelConversion]
enumFrom :: VkSamplerYcbcrModelConversion -> [VkSamplerYcbcrModelConversion]
$cenumFrom :: VkSamplerYcbcrModelConversion -> [VkSamplerYcbcrModelConversion]
fromEnum :: VkSamplerYcbcrModelConversion -> Int
$cfromEnum :: VkSamplerYcbcrModelConversion -> Int
toEnum :: Int -> VkSamplerYcbcrModelConversion
$ctoEnum :: Int -> VkSamplerYcbcrModelConversion
pred :: VkSamplerYcbcrModelConversion -> VkSamplerYcbcrModelConversion
$cpred :: VkSamplerYcbcrModelConversion -> VkSamplerYcbcrModelConversion
succ :: VkSamplerYcbcrModelConversion -> VkSamplerYcbcrModelConversion
$csucc :: VkSamplerYcbcrModelConversion -> VkSamplerYcbcrModelConversion
Enum, Ptr VkSamplerYcbcrModelConversion
-> IO VkSamplerYcbcrModelConversion
Ptr VkSamplerYcbcrModelConversion
-> Int -> IO VkSamplerYcbcrModelConversion
Ptr VkSamplerYcbcrModelConversion
-> Int -> VkSamplerYcbcrModelConversion -> IO ()
Ptr VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> IO ()
VkSamplerYcbcrModelConversion -> Int
(VkSamplerYcbcrModelConversion -> Int)
-> (VkSamplerYcbcrModelConversion -> Int)
-> (Ptr VkSamplerYcbcrModelConversion
    -> Int -> IO VkSamplerYcbcrModelConversion)
-> (Ptr VkSamplerYcbcrModelConversion
    -> Int -> VkSamplerYcbcrModelConversion -> IO ())
-> (forall b. Ptr b -> Int -> IO VkSamplerYcbcrModelConversion)
-> (forall b.
    Ptr b -> Int -> VkSamplerYcbcrModelConversion -> IO ())
-> (Ptr VkSamplerYcbcrModelConversion
    -> IO VkSamplerYcbcrModelConversion)
-> (Ptr VkSamplerYcbcrModelConversion
    -> VkSamplerYcbcrModelConversion -> IO ())
-> Storable VkSamplerYcbcrModelConversion
forall b. Ptr b -> Int -> IO VkSamplerYcbcrModelConversion
forall b. Ptr b -> Int -> VkSamplerYcbcrModelConversion -> 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 VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> IO ()
$cpoke :: Ptr VkSamplerYcbcrModelConversion
-> VkSamplerYcbcrModelConversion -> IO ()
peek :: Ptr VkSamplerYcbcrModelConversion
-> IO VkSamplerYcbcrModelConversion
$cpeek :: Ptr VkSamplerYcbcrModelConversion
-> IO VkSamplerYcbcrModelConversion
pokeByteOff :: forall b. Ptr b -> Int -> VkSamplerYcbcrModelConversion -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkSamplerYcbcrModelConversion -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerYcbcrModelConversion
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerYcbcrModelConversion
pokeElemOff :: Ptr VkSamplerYcbcrModelConversion
-> Int -> VkSamplerYcbcrModelConversion -> IO ()
$cpokeElemOff :: Ptr VkSamplerYcbcrModelConversion
-> Int -> VkSamplerYcbcrModelConversion -> IO ()
peekElemOff :: Ptr VkSamplerYcbcrModelConversion
-> Int -> IO VkSamplerYcbcrModelConversion
$cpeekElemOff :: Ptr VkSamplerYcbcrModelConversion
-> Int -> IO VkSamplerYcbcrModelConversion
alignment :: VkSamplerYcbcrModelConversion -> Int
$calignment :: VkSamplerYcbcrModelConversion -> Int
sizeOf :: VkSamplerYcbcrModelConversion -> Int
$csizeOf :: VkSamplerYcbcrModelConversion -> Int
Storable)

instance Show VkSamplerYcbcrModelConversion where
    showsPrec :: Int -> VkSamplerYcbcrModelConversion -> ShowS
showsPrec Int
_ VkSamplerYcbcrModelConversion
VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY
      = String -> ShowS
showString String
"VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY"
    showsPrec Int
_ VkSamplerYcbcrModelConversion
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY
      = String -> ShowS
showString String
"VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY"
    showsPrec Int
_ VkSamplerYcbcrModelConversion
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709
      = String -> ShowS
showString String
"VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709"
    showsPrec Int
_ VkSamplerYcbcrModelConversion
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601
      = String -> ShowS
showString String
"VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601"
    showsPrec Int
_ VkSamplerYcbcrModelConversion
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020
      = String -> ShowS
showString String
"VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020"
    showsPrec Int
p (VkSamplerYcbcrModelConversion Int32
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkSamplerYcbcrModelConversion " 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 VkSamplerYcbcrModelConversion where
    readPrec :: ReadPrec VkSamplerYcbcrModelConversion
readPrec
      = ReadPrec VkSamplerYcbcrModelConversion
-> ReadPrec VkSamplerYcbcrModelConversion
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec VkSamplerYcbcrModelConversion)]
-> ReadPrec VkSamplerYcbcrModelConversion
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
             [(String
"VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY",
               VkSamplerYcbcrModelConversion
-> ReadPrec VkSamplerYcbcrModelConversion
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerYcbcrModelConversion
VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY),
              (String
"VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY",
               VkSamplerYcbcrModelConversion
-> ReadPrec VkSamplerYcbcrModelConversion
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerYcbcrModelConversion
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY),
              (String
"VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709",
               VkSamplerYcbcrModelConversion
-> ReadPrec VkSamplerYcbcrModelConversion
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerYcbcrModelConversion
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709),
              (String
"VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601",
               VkSamplerYcbcrModelConversion
-> ReadPrec VkSamplerYcbcrModelConversion
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerYcbcrModelConversion
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601),
              (String
"VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020",
               VkSamplerYcbcrModelConversion
-> ReadPrec VkSamplerYcbcrModelConversion
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerYcbcrModelConversion
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020)]
             ReadPrec VkSamplerYcbcrModelConversion
-> ReadPrec VkSamplerYcbcrModelConversion
-> ReadPrec VkSamplerYcbcrModelConversion
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int
-> ReadPrec VkSamplerYcbcrModelConversion
-> ReadPrec VkSamplerYcbcrModelConversion
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkSamplerYcbcrModelConversion") ReadPrec ()
-> ReadPrec VkSamplerYcbcrModelConversion
-> ReadPrec VkSamplerYcbcrModelConversion
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (Int32 -> VkSamplerYcbcrModelConversion
VkSamplerYcbcrModelConversion (Int32 -> VkSamplerYcbcrModelConversion)
-> ReadPrec Int32 -> ReadPrec VkSamplerYcbcrModelConversion
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_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY ::
        VkSamplerYcbcrModelConversion

pattern $bVK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY :: VkSamplerYcbcrModelConversion
$mVK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY :: forall {r}.
VkSamplerYcbcrModelConversion -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY =
        VkSamplerYcbcrModelConversion 0

-- | just range expansion
pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY ::
        VkSamplerYcbcrModelConversion

pattern $bVK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY :: VkSamplerYcbcrModelConversion
$mVK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY :: forall {r}.
VkSamplerYcbcrModelConversion -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY =
        VkSamplerYcbcrModelConversion 1

-- | aka HD YUV
pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 ::
        VkSamplerYcbcrModelConversion

pattern $bVK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 :: VkSamplerYcbcrModelConversion
$mVK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 :: forall {r}.
VkSamplerYcbcrModelConversion -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 =
        VkSamplerYcbcrModelConversion 2

-- | aka SD YUV
pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 ::
        VkSamplerYcbcrModelConversion

pattern $bVK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 :: VkSamplerYcbcrModelConversion
$mVK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 :: forall {r}.
VkSamplerYcbcrModelConversion -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 =
        VkSamplerYcbcrModelConversion 3

-- | aka UHD YUV
pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 ::
        VkSamplerYcbcrModelConversion

pattern $bVK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 :: VkSamplerYcbcrModelConversion
$mVK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 :: forall {r}.
VkSamplerYcbcrModelConversion -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 =
        VkSamplerYcbcrModelConversion 4

newtype VkSamplerYcbcrModelConversionKHR = VkSamplerYcbcrModelConversionKHR VkFlags
                                           deriving (VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Bool
(VkSamplerYcbcrModelConversionKHR
 -> VkSamplerYcbcrModelConversionKHR -> Bool)
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR -> Bool)
-> Eq VkSamplerYcbcrModelConversionKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Bool
$c/= :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Bool
== :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Bool
$c== :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Bool
Eq, Eq VkSamplerYcbcrModelConversionKHR
Eq VkSamplerYcbcrModelConversionKHR
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR -> Ordering)
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR -> Bool)
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR -> Bool)
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR -> Bool)
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR -> Bool)
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR)
-> Ord VkSamplerYcbcrModelConversionKHR
VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Bool
VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Ordering
VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
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 :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
$cmin :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
max :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
$cmax :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
>= :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Bool
$c>= :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Bool
> :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Bool
$c> :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Bool
<= :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Bool
$c<= :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Bool
< :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Bool
$c< :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Bool
compare :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Ordering
$ccompare :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> Ordering
Ord, Int -> VkSamplerYcbcrModelConversionKHR
VkSamplerYcbcrModelConversionKHR -> Int
VkSamplerYcbcrModelConversionKHR
-> [VkSamplerYcbcrModelConversionKHR]
VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> [VkSamplerYcbcrModelConversionKHR]
VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> [VkSamplerYcbcrModelConversionKHR]
(VkSamplerYcbcrModelConversionKHR
 -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR)
-> (Int -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR -> Int)
-> (VkSamplerYcbcrModelConversionKHR
    -> [VkSamplerYcbcrModelConversionKHR])
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR
    -> [VkSamplerYcbcrModelConversionKHR])
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR
    -> [VkSamplerYcbcrModelConversionKHR])
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR
    -> [VkSamplerYcbcrModelConversionKHR])
-> Enum VkSamplerYcbcrModelConversionKHR
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 :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> [VkSamplerYcbcrModelConversionKHR]
$cenumFromThenTo :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> [VkSamplerYcbcrModelConversionKHR]
enumFromTo :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> [VkSamplerYcbcrModelConversionKHR]
$cenumFromTo :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> [VkSamplerYcbcrModelConversionKHR]
enumFromThen :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> [VkSamplerYcbcrModelConversionKHR]
$cenumFromThen :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> [VkSamplerYcbcrModelConversionKHR]
enumFrom :: VkSamplerYcbcrModelConversionKHR
-> [VkSamplerYcbcrModelConversionKHR]
$cenumFrom :: VkSamplerYcbcrModelConversionKHR
-> [VkSamplerYcbcrModelConversionKHR]
fromEnum :: VkSamplerYcbcrModelConversionKHR -> Int
$cfromEnum :: VkSamplerYcbcrModelConversionKHR -> Int
toEnum :: Int -> VkSamplerYcbcrModelConversionKHR
$ctoEnum :: Int -> VkSamplerYcbcrModelConversionKHR
pred :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
$cpred :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
succ :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
$csucc :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
Enum, Eq VkSamplerYcbcrModelConversionKHR
VkSamplerYcbcrModelConversionKHR
Eq VkSamplerYcbcrModelConversionKHR
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> Int -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> Int -> VkSamplerYcbcrModelConversionKHR)
-> VkSamplerYcbcrModelConversionKHR
-> (Int -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> Int -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> Int -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> Int -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR -> Int -> Bool)
-> (VkSamplerYcbcrModelConversionKHR -> Maybe Int)
-> (VkSamplerYcbcrModelConversionKHR -> Int)
-> (VkSamplerYcbcrModelConversionKHR -> Bool)
-> (VkSamplerYcbcrModelConversionKHR
    -> Int -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> Int -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> Int -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> Int -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> Int -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR
    -> Int -> VkSamplerYcbcrModelConversionKHR)
-> (VkSamplerYcbcrModelConversionKHR -> Int)
-> Bits VkSamplerYcbcrModelConversionKHR
Int -> VkSamplerYcbcrModelConversionKHR
VkSamplerYcbcrModelConversionKHR -> Bool
VkSamplerYcbcrModelConversionKHR -> Int
VkSamplerYcbcrModelConversionKHR -> Maybe Int
VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
VkSamplerYcbcrModelConversionKHR -> Int -> Bool
VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
forall a.
Eq a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
popCount :: VkSamplerYcbcrModelConversionKHR -> Int
$cpopCount :: VkSamplerYcbcrModelConversionKHR -> Int
rotateR :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
$crotateR :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
rotateL :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
$crotateL :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
unsafeShiftR :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
$cunsafeShiftR :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
shiftR :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
$cshiftR :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
unsafeShiftL :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
$cunsafeShiftL :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
shiftL :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
$cshiftL :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
isSigned :: VkSamplerYcbcrModelConversionKHR -> Bool
$cisSigned :: VkSamplerYcbcrModelConversionKHR -> Bool
bitSize :: VkSamplerYcbcrModelConversionKHR -> Int
$cbitSize :: VkSamplerYcbcrModelConversionKHR -> Int
bitSizeMaybe :: VkSamplerYcbcrModelConversionKHR -> Maybe Int
$cbitSizeMaybe :: VkSamplerYcbcrModelConversionKHR -> Maybe Int
testBit :: VkSamplerYcbcrModelConversionKHR -> Int -> Bool
$ctestBit :: VkSamplerYcbcrModelConversionKHR -> Int -> Bool
complementBit :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
$ccomplementBit :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
clearBit :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
$cclearBit :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
setBit :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
$csetBit :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
bit :: Int -> VkSamplerYcbcrModelConversionKHR
$cbit :: Int -> VkSamplerYcbcrModelConversionKHR
zeroBits :: VkSamplerYcbcrModelConversionKHR
$czeroBits :: VkSamplerYcbcrModelConversionKHR
rotate :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
$crotate :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
shift :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
$cshift :: VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR
complement :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
$ccomplement :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
xor :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
$cxor :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
.|. :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
$c.|. :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
.&. :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
$c.&. :: VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR
Bits, Bits VkSamplerYcbcrModelConversionKHR
Bits VkSamplerYcbcrModelConversionKHR
-> (VkSamplerYcbcrModelConversionKHR -> Int)
-> (VkSamplerYcbcrModelConversionKHR -> Int)
-> (VkSamplerYcbcrModelConversionKHR -> Int)
-> FiniteBits VkSamplerYcbcrModelConversionKHR
VkSamplerYcbcrModelConversionKHR -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: VkSamplerYcbcrModelConversionKHR -> Int
$ccountTrailingZeros :: VkSamplerYcbcrModelConversionKHR -> Int
countLeadingZeros :: VkSamplerYcbcrModelConversionKHR -> Int
$ccountLeadingZeros :: VkSamplerYcbcrModelConversionKHR -> Int
finiteBitSize :: VkSamplerYcbcrModelConversionKHR -> Int
$cfiniteBitSize :: VkSamplerYcbcrModelConversionKHR -> Int
FiniteBits, Ptr VkSamplerYcbcrModelConversionKHR
-> IO VkSamplerYcbcrModelConversionKHR
Ptr VkSamplerYcbcrModelConversionKHR
-> Int -> IO VkSamplerYcbcrModelConversionKHR
Ptr VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR -> IO ()
Ptr VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> IO ()
VkSamplerYcbcrModelConversionKHR -> Int
(VkSamplerYcbcrModelConversionKHR -> Int)
-> (VkSamplerYcbcrModelConversionKHR -> Int)
-> (Ptr VkSamplerYcbcrModelConversionKHR
    -> Int -> IO VkSamplerYcbcrModelConversionKHR)
-> (Ptr VkSamplerYcbcrModelConversionKHR
    -> Int -> VkSamplerYcbcrModelConversionKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO VkSamplerYcbcrModelConversionKHR)
-> (forall b.
    Ptr b -> Int -> VkSamplerYcbcrModelConversionKHR -> IO ())
-> (Ptr VkSamplerYcbcrModelConversionKHR
    -> IO VkSamplerYcbcrModelConversionKHR)
-> (Ptr VkSamplerYcbcrModelConversionKHR
    -> VkSamplerYcbcrModelConversionKHR -> IO ())
-> Storable VkSamplerYcbcrModelConversionKHR
forall b. Ptr b -> Int -> IO VkSamplerYcbcrModelConversionKHR
forall b. Ptr b -> Int -> VkSamplerYcbcrModelConversionKHR -> 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 VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> IO ()
$cpoke :: Ptr VkSamplerYcbcrModelConversionKHR
-> VkSamplerYcbcrModelConversionKHR -> IO ()
peek :: Ptr VkSamplerYcbcrModelConversionKHR
-> IO VkSamplerYcbcrModelConversionKHR
$cpeek :: Ptr VkSamplerYcbcrModelConversionKHR
-> IO VkSamplerYcbcrModelConversionKHR
pokeByteOff :: forall b. Ptr b -> Int -> VkSamplerYcbcrModelConversionKHR -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkSamplerYcbcrModelConversionKHR -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerYcbcrModelConversionKHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerYcbcrModelConversionKHR
pokeElemOff :: Ptr VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR -> IO ()
$cpokeElemOff :: Ptr VkSamplerYcbcrModelConversionKHR
-> Int -> VkSamplerYcbcrModelConversionKHR -> IO ()
peekElemOff :: Ptr VkSamplerYcbcrModelConversionKHR
-> Int -> IO VkSamplerYcbcrModelConversionKHR
$cpeekElemOff :: Ptr VkSamplerYcbcrModelConversionKHR
-> Int -> IO VkSamplerYcbcrModelConversionKHR
alignment :: VkSamplerYcbcrModelConversionKHR -> Int
$calignment :: VkSamplerYcbcrModelConversionKHR -> Int
sizeOf :: VkSamplerYcbcrModelConversionKHR -> Int
$csizeOf :: VkSamplerYcbcrModelConversionKHR -> Int
Storable)

instance Show VkSamplerYcbcrModelConversionKHR where
    {-# INLINE showsPrec #-}
    showsPrec :: Int -> VkSamplerYcbcrModelConversionKHR -> ShowS
showsPrec = (Int -> VkFlags -> ShowS)
-> Int -> VkSamplerYcbcrModelConversionKHR -> ShowS
coerce (Int -> VkFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec :: Int -> VkFlags -> ShowS)

instance Read VkSamplerYcbcrModelConversionKHR where
    {-# INLINE readsPrec #-}
    readsPrec :: Int -> ReadS VkSamplerYcbcrModelConversionKHR
readsPrec = (Int -> ReadS VkFlags)
-> Int -> ReadS VkSamplerYcbcrModelConversionKHR
coerce (Int -> ReadS VkFlags
forall a. Read a => Int -> ReadS a
readsPrec :: Int -> ReadS VkFlags)

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkSamplerYcbcrRange VkSamplerYcbcrRange registry at www.khronos.org>
newtype VkSamplerYcbcrRange = VkSamplerYcbcrRange Int32
                              deriving (VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool
(VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool)
-> (VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool)
-> Eq VkSamplerYcbcrRange
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool
$c/= :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool
== :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool
$c== :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool
Eq, Eq VkSamplerYcbcrRange
Eq VkSamplerYcbcrRange
-> (VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Ordering)
-> (VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool)
-> (VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool)
-> (VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool)
-> (VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool)
-> (VkSamplerYcbcrRange
    -> VkSamplerYcbcrRange -> VkSamplerYcbcrRange)
-> (VkSamplerYcbcrRange
    -> VkSamplerYcbcrRange -> VkSamplerYcbcrRange)
-> Ord VkSamplerYcbcrRange
VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool
VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Ordering
VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> VkSamplerYcbcrRange
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 :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> VkSamplerYcbcrRange
$cmin :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> VkSamplerYcbcrRange
max :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> VkSamplerYcbcrRange
$cmax :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> VkSamplerYcbcrRange
>= :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool
$c>= :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool
> :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool
$c> :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool
<= :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool
$c<= :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool
< :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool
$c< :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Bool
compare :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Ordering
$ccompare :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> Ordering
Ord, Int -> VkSamplerYcbcrRange
VkSamplerYcbcrRange -> Int
VkSamplerYcbcrRange -> [VkSamplerYcbcrRange]
VkSamplerYcbcrRange -> VkSamplerYcbcrRange
VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> [VkSamplerYcbcrRange]
VkSamplerYcbcrRange
-> VkSamplerYcbcrRange
-> VkSamplerYcbcrRange
-> [VkSamplerYcbcrRange]
(VkSamplerYcbcrRange -> VkSamplerYcbcrRange)
-> (VkSamplerYcbcrRange -> VkSamplerYcbcrRange)
-> (Int -> VkSamplerYcbcrRange)
-> (VkSamplerYcbcrRange -> Int)
-> (VkSamplerYcbcrRange -> [VkSamplerYcbcrRange])
-> (VkSamplerYcbcrRange
    -> VkSamplerYcbcrRange -> [VkSamplerYcbcrRange])
-> (VkSamplerYcbcrRange
    -> VkSamplerYcbcrRange -> [VkSamplerYcbcrRange])
-> (VkSamplerYcbcrRange
    -> VkSamplerYcbcrRange
    -> VkSamplerYcbcrRange
    -> [VkSamplerYcbcrRange])
-> Enum VkSamplerYcbcrRange
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 :: VkSamplerYcbcrRange
-> VkSamplerYcbcrRange
-> VkSamplerYcbcrRange
-> [VkSamplerYcbcrRange]
$cenumFromThenTo :: VkSamplerYcbcrRange
-> VkSamplerYcbcrRange
-> VkSamplerYcbcrRange
-> [VkSamplerYcbcrRange]
enumFromTo :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> [VkSamplerYcbcrRange]
$cenumFromTo :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> [VkSamplerYcbcrRange]
enumFromThen :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> [VkSamplerYcbcrRange]
$cenumFromThen :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> [VkSamplerYcbcrRange]
enumFrom :: VkSamplerYcbcrRange -> [VkSamplerYcbcrRange]
$cenumFrom :: VkSamplerYcbcrRange -> [VkSamplerYcbcrRange]
fromEnum :: VkSamplerYcbcrRange -> Int
$cfromEnum :: VkSamplerYcbcrRange -> Int
toEnum :: Int -> VkSamplerYcbcrRange
$ctoEnum :: Int -> VkSamplerYcbcrRange
pred :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange
$cpred :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange
succ :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange
$csucc :: VkSamplerYcbcrRange -> VkSamplerYcbcrRange
Enum, Ptr VkSamplerYcbcrRange -> IO VkSamplerYcbcrRange
Ptr VkSamplerYcbcrRange -> Int -> IO VkSamplerYcbcrRange
Ptr VkSamplerYcbcrRange -> Int -> VkSamplerYcbcrRange -> IO ()
Ptr VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> IO ()
VkSamplerYcbcrRange -> Int
(VkSamplerYcbcrRange -> Int)
-> (VkSamplerYcbcrRange -> Int)
-> (Ptr VkSamplerYcbcrRange -> Int -> IO VkSamplerYcbcrRange)
-> (Ptr VkSamplerYcbcrRange -> Int -> VkSamplerYcbcrRange -> IO ())
-> (forall b. Ptr b -> Int -> IO VkSamplerYcbcrRange)
-> (forall b. Ptr b -> Int -> VkSamplerYcbcrRange -> IO ())
-> (Ptr VkSamplerYcbcrRange -> IO VkSamplerYcbcrRange)
-> (Ptr VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> IO ())
-> Storable VkSamplerYcbcrRange
forall b. Ptr b -> Int -> IO VkSamplerYcbcrRange
forall b. Ptr b -> Int -> VkSamplerYcbcrRange -> 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 VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> IO ()
$cpoke :: Ptr VkSamplerYcbcrRange -> VkSamplerYcbcrRange -> IO ()
peek :: Ptr VkSamplerYcbcrRange -> IO VkSamplerYcbcrRange
$cpeek :: Ptr VkSamplerYcbcrRange -> IO VkSamplerYcbcrRange
pokeByteOff :: forall b. Ptr b -> Int -> VkSamplerYcbcrRange -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkSamplerYcbcrRange -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerYcbcrRange
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerYcbcrRange
pokeElemOff :: Ptr VkSamplerYcbcrRange -> Int -> VkSamplerYcbcrRange -> IO ()
$cpokeElemOff :: Ptr VkSamplerYcbcrRange -> Int -> VkSamplerYcbcrRange -> IO ()
peekElemOff :: Ptr VkSamplerYcbcrRange -> Int -> IO VkSamplerYcbcrRange
$cpeekElemOff :: Ptr VkSamplerYcbcrRange -> Int -> IO VkSamplerYcbcrRange
alignment :: VkSamplerYcbcrRange -> Int
$calignment :: VkSamplerYcbcrRange -> Int
sizeOf :: VkSamplerYcbcrRange -> Int
$csizeOf :: VkSamplerYcbcrRange -> Int
Storable)

instance Show VkSamplerYcbcrRange where
    showsPrec :: Int -> VkSamplerYcbcrRange -> ShowS
showsPrec Int
_ VkSamplerYcbcrRange
VK_SAMPLER_YCBCR_RANGE_ITU_FULL
      = String -> ShowS
showString String
"VK_SAMPLER_YCBCR_RANGE_ITU_FULL"
    showsPrec Int
_ VkSamplerYcbcrRange
VK_SAMPLER_YCBCR_RANGE_ITU_NARROW
      = String -> ShowS
showString String
"VK_SAMPLER_YCBCR_RANGE_ITU_NARROW"
    showsPrec Int
p (VkSamplerYcbcrRange Int32
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkSamplerYcbcrRange " 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 VkSamplerYcbcrRange where
    readPrec :: ReadPrec VkSamplerYcbcrRange
readPrec
      = ReadPrec VkSamplerYcbcrRange -> ReadPrec VkSamplerYcbcrRange
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec VkSamplerYcbcrRange)]
-> ReadPrec VkSamplerYcbcrRange
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
             [(String
"VK_SAMPLER_YCBCR_RANGE_ITU_FULL",
               VkSamplerYcbcrRange -> ReadPrec VkSamplerYcbcrRange
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerYcbcrRange
VK_SAMPLER_YCBCR_RANGE_ITU_FULL),
              (String
"VK_SAMPLER_YCBCR_RANGE_ITU_NARROW",
               VkSamplerYcbcrRange -> ReadPrec VkSamplerYcbcrRange
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSamplerYcbcrRange
VK_SAMPLER_YCBCR_RANGE_ITU_NARROW)]
             ReadPrec VkSamplerYcbcrRange
-> ReadPrec VkSamplerYcbcrRange -> ReadPrec VkSamplerYcbcrRange
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int -> ReadPrec VkSamplerYcbcrRange -> ReadPrec VkSamplerYcbcrRange
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkSamplerYcbcrRange") ReadPrec ()
-> ReadPrec VkSamplerYcbcrRange -> ReadPrec VkSamplerYcbcrRange
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (Int32 -> VkSamplerYcbcrRange
VkSamplerYcbcrRange (Int32 -> VkSamplerYcbcrRange)
-> ReadPrec Int32 -> ReadPrec VkSamplerYcbcrRange
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)))

-- | Luma 0..1 maps to 0..255, chroma -0.5..0.5 to 1..255 (clamped)
pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL :: VkSamplerYcbcrRange

pattern $bVK_SAMPLER_YCBCR_RANGE_ITU_FULL :: VkSamplerYcbcrRange
$mVK_SAMPLER_YCBCR_RANGE_ITU_FULL :: forall {r}.
VkSamplerYcbcrRange -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_YCBCR_RANGE_ITU_FULL = VkSamplerYcbcrRange 0

-- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240
pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW :: VkSamplerYcbcrRange

pattern $bVK_SAMPLER_YCBCR_RANGE_ITU_NARROW :: VkSamplerYcbcrRange
$mVK_SAMPLER_YCBCR_RANGE_ITU_NARROW :: forall {r}.
VkSamplerYcbcrRange -> (Void# -> r) -> (Void# -> r) -> r
VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = VkSamplerYcbcrRange 1

newtype VkSamplerYcbcrRangeKHR = VkSamplerYcbcrRangeKHR VkFlags
                                 deriving (VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool
(VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool)
-> (VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool)
-> Eq VkSamplerYcbcrRangeKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool
$c/= :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool
== :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool
$c== :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool
Eq, Eq VkSamplerYcbcrRangeKHR
Eq VkSamplerYcbcrRangeKHR
-> (VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Ordering)
-> (VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool)
-> (VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool)
-> (VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool)
-> (VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool)
-> (VkSamplerYcbcrRangeKHR
    -> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR
    -> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR)
-> Ord VkSamplerYcbcrRangeKHR
VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool
VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Ordering
VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
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 :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
$cmin :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
max :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
$cmax :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
>= :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool
$c>= :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool
> :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool
$c> :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool
<= :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool
$c<= :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool
< :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool
$c< :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Bool
compare :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Ordering
$ccompare :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> Ordering
Ord, Int -> VkSamplerYcbcrRangeKHR
VkSamplerYcbcrRangeKHR -> Int
VkSamplerYcbcrRangeKHR -> [VkSamplerYcbcrRangeKHR]
VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> [VkSamplerYcbcrRangeKHR]
VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR
-> [VkSamplerYcbcrRangeKHR]
(VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR)
-> (Int -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> Int)
-> (VkSamplerYcbcrRangeKHR -> [VkSamplerYcbcrRangeKHR])
-> (VkSamplerYcbcrRangeKHR
    -> VkSamplerYcbcrRangeKHR -> [VkSamplerYcbcrRangeKHR])
-> (VkSamplerYcbcrRangeKHR
    -> VkSamplerYcbcrRangeKHR -> [VkSamplerYcbcrRangeKHR])
-> (VkSamplerYcbcrRangeKHR
    -> VkSamplerYcbcrRangeKHR
    -> VkSamplerYcbcrRangeKHR
    -> [VkSamplerYcbcrRangeKHR])
-> Enum VkSamplerYcbcrRangeKHR
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 :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR
-> [VkSamplerYcbcrRangeKHR]
$cenumFromThenTo :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR
-> [VkSamplerYcbcrRangeKHR]
enumFromTo :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> [VkSamplerYcbcrRangeKHR]
$cenumFromTo :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> [VkSamplerYcbcrRangeKHR]
enumFromThen :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> [VkSamplerYcbcrRangeKHR]
$cenumFromThen :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> [VkSamplerYcbcrRangeKHR]
enumFrom :: VkSamplerYcbcrRangeKHR -> [VkSamplerYcbcrRangeKHR]
$cenumFrom :: VkSamplerYcbcrRangeKHR -> [VkSamplerYcbcrRangeKHR]
fromEnum :: VkSamplerYcbcrRangeKHR -> Int
$cfromEnum :: VkSamplerYcbcrRangeKHR -> Int
toEnum :: Int -> VkSamplerYcbcrRangeKHR
$ctoEnum :: Int -> VkSamplerYcbcrRangeKHR
pred :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
$cpred :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
succ :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
$csucc :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
Enum, Eq VkSamplerYcbcrRangeKHR
VkSamplerYcbcrRangeKHR
Eq VkSamplerYcbcrRangeKHR
-> (VkSamplerYcbcrRangeKHR
    -> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR
    -> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR
    -> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR)
-> VkSamplerYcbcrRangeKHR
-> (Int -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> Int -> Bool)
-> (VkSamplerYcbcrRangeKHR -> Maybe Int)
-> (VkSamplerYcbcrRangeKHR -> Int)
-> (VkSamplerYcbcrRangeKHR -> Bool)
-> (VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR)
-> (VkSamplerYcbcrRangeKHR -> Int)
-> Bits VkSamplerYcbcrRangeKHR
Int -> VkSamplerYcbcrRangeKHR
VkSamplerYcbcrRangeKHR -> Bool
VkSamplerYcbcrRangeKHR -> Int
VkSamplerYcbcrRangeKHR -> Maybe Int
VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
VkSamplerYcbcrRangeKHR -> Int -> Bool
VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
forall a.
Eq a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
popCount :: VkSamplerYcbcrRangeKHR -> Int
$cpopCount :: VkSamplerYcbcrRangeKHR -> Int
rotateR :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
$crotateR :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
rotateL :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
$crotateL :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
unsafeShiftR :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
$cunsafeShiftR :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
shiftR :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
$cshiftR :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
unsafeShiftL :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
$cunsafeShiftL :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
shiftL :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
$cshiftL :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
isSigned :: VkSamplerYcbcrRangeKHR -> Bool
$cisSigned :: VkSamplerYcbcrRangeKHR -> Bool
bitSize :: VkSamplerYcbcrRangeKHR -> Int
$cbitSize :: VkSamplerYcbcrRangeKHR -> Int
bitSizeMaybe :: VkSamplerYcbcrRangeKHR -> Maybe Int
$cbitSizeMaybe :: VkSamplerYcbcrRangeKHR -> Maybe Int
testBit :: VkSamplerYcbcrRangeKHR -> Int -> Bool
$ctestBit :: VkSamplerYcbcrRangeKHR -> Int -> Bool
complementBit :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
$ccomplementBit :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
clearBit :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
$cclearBit :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
setBit :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
$csetBit :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
bit :: Int -> VkSamplerYcbcrRangeKHR
$cbit :: Int -> VkSamplerYcbcrRangeKHR
zeroBits :: VkSamplerYcbcrRangeKHR
$czeroBits :: VkSamplerYcbcrRangeKHR
rotate :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
$crotate :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
shift :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
$cshift :: VkSamplerYcbcrRangeKHR -> Int -> VkSamplerYcbcrRangeKHR
complement :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
$ccomplement :: VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
xor :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
$cxor :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
.|. :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
$c.|. :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
.&. :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
$c.&. :: VkSamplerYcbcrRangeKHR
-> VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR
Bits, Bits VkSamplerYcbcrRangeKHR
Bits VkSamplerYcbcrRangeKHR
-> (VkSamplerYcbcrRangeKHR -> Int)
-> (VkSamplerYcbcrRangeKHR -> Int)
-> (VkSamplerYcbcrRangeKHR -> Int)
-> FiniteBits VkSamplerYcbcrRangeKHR
VkSamplerYcbcrRangeKHR -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: VkSamplerYcbcrRangeKHR -> Int
$ccountTrailingZeros :: VkSamplerYcbcrRangeKHR -> Int
countLeadingZeros :: VkSamplerYcbcrRangeKHR -> Int
$ccountLeadingZeros :: VkSamplerYcbcrRangeKHR -> Int
finiteBitSize :: VkSamplerYcbcrRangeKHR -> Int
$cfiniteBitSize :: VkSamplerYcbcrRangeKHR -> Int
FiniteBits, Ptr VkSamplerYcbcrRangeKHR -> IO VkSamplerYcbcrRangeKHR
Ptr VkSamplerYcbcrRangeKHR -> Int -> IO VkSamplerYcbcrRangeKHR
Ptr VkSamplerYcbcrRangeKHR
-> Int -> VkSamplerYcbcrRangeKHR -> IO ()
Ptr VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> IO ()
VkSamplerYcbcrRangeKHR -> Int
(VkSamplerYcbcrRangeKHR -> Int)
-> (VkSamplerYcbcrRangeKHR -> Int)
-> (Ptr VkSamplerYcbcrRangeKHR -> Int -> IO VkSamplerYcbcrRangeKHR)
-> (Ptr VkSamplerYcbcrRangeKHR
    -> Int -> VkSamplerYcbcrRangeKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO VkSamplerYcbcrRangeKHR)
-> (forall b. Ptr b -> Int -> VkSamplerYcbcrRangeKHR -> IO ())
-> (Ptr VkSamplerYcbcrRangeKHR -> IO VkSamplerYcbcrRangeKHR)
-> (Ptr VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> IO ())
-> Storable VkSamplerYcbcrRangeKHR
forall b. Ptr b -> Int -> IO VkSamplerYcbcrRangeKHR
forall b. Ptr b -> Int -> VkSamplerYcbcrRangeKHR -> 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 VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> IO ()
$cpoke :: Ptr VkSamplerYcbcrRangeKHR -> VkSamplerYcbcrRangeKHR -> IO ()
peek :: Ptr VkSamplerYcbcrRangeKHR -> IO VkSamplerYcbcrRangeKHR
$cpeek :: Ptr VkSamplerYcbcrRangeKHR -> IO VkSamplerYcbcrRangeKHR
pokeByteOff :: forall b. Ptr b -> Int -> VkSamplerYcbcrRangeKHR -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkSamplerYcbcrRangeKHR -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerYcbcrRangeKHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkSamplerYcbcrRangeKHR
pokeElemOff :: Ptr VkSamplerYcbcrRangeKHR
-> Int -> VkSamplerYcbcrRangeKHR -> IO ()
$cpokeElemOff :: Ptr VkSamplerYcbcrRangeKHR
-> Int -> VkSamplerYcbcrRangeKHR -> IO ()
peekElemOff :: Ptr VkSamplerYcbcrRangeKHR -> Int -> IO VkSamplerYcbcrRangeKHR
$cpeekElemOff :: Ptr VkSamplerYcbcrRangeKHR -> Int -> IO VkSamplerYcbcrRangeKHR
alignment :: VkSamplerYcbcrRangeKHR -> Int
$calignment :: VkSamplerYcbcrRangeKHR -> Int
sizeOf :: VkSamplerYcbcrRangeKHR -> Int
$csizeOf :: VkSamplerYcbcrRangeKHR -> Int
Storable)

instance Show VkSamplerYcbcrRangeKHR where
    {-# INLINE showsPrec #-}
    showsPrec :: Int -> VkSamplerYcbcrRangeKHR -> ShowS
showsPrec = (Int -> VkFlags -> ShowS) -> Int -> VkSamplerYcbcrRangeKHR -> ShowS
coerce (Int -> VkFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec :: Int -> VkFlags -> ShowS)

instance Read VkSamplerYcbcrRangeKHR where
    {-# INLINE readsPrec #-}
    readsPrec :: Int -> ReadS VkSamplerYcbcrRangeKHR
readsPrec = (Int -> ReadS VkFlags) -> Int -> ReadS VkSamplerYcbcrRangeKHR
coerce (Int -> ReadS VkFlags
forall a. Read a => Int -> ReadS a
readsPrec :: Int -> ReadS VkFlags)