{-# language CPP #-}
-- No documentation found for Chapter "RenderPassCreateFlagBits"
module Vulkan.Core10.Enums.RenderPassCreateFlagBits  ( RenderPassCreateFlags
                                                     , RenderPassCreateFlagBits( RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM
                                                                               , ..
                                                                               )
                                                     ) where

import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import Vulkan.Zero (Zero)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Vulkan.Core10.FundamentalTypes (Flags)
type RenderPassCreateFlags = RenderPassCreateFlagBits

-- | VkRenderPassCreateFlagBits - Bitmask specifying additional properties of
-- a render pass
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
-- 'RenderPassCreateFlags'
newtype RenderPassCreateFlagBits = RenderPassCreateFlagBits Flags
  deriving newtype (RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool
(RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool)
-> (RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool)
-> Eq RenderPassCreateFlagBits
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool
== :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool
$c/= :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool
/= :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool
Eq, Eq RenderPassCreateFlagBits
Eq RenderPassCreateFlagBits =>
(RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Ordering)
-> (RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool)
-> (RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool)
-> (RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool)
-> (RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool)
-> (RenderPassCreateFlagBits
    -> RenderPassCreateFlagBits -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits
    -> RenderPassCreateFlagBits -> RenderPassCreateFlagBits)
-> Ord RenderPassCreateFlagBits
RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool
RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Ordering
RenderPassCreateFlagBits
-> RenderPassCreateFlagBits -> RenderPassCreateFlagBits
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
$ccompare :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Ordering
compare :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Ordering
$c< :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool
< :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool
$c<= :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool
<= :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool
$c> :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool
> :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool
$c>= :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool
>= :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> Bool
$cmax :: RenderPassCreateFlagBits
-> RenderPassCreateFlagBits -> RenderPassCreateFlagBits
max :: RenderPassCreateFlagBits
-> RenderPassCreateFlagBits -> RenderPassCreateFlagBits
$cmin :: RenderPassCreateFlagBits
-> RenderPassCreateFlagBits -> RenderPassCreateFlagBits
min :: RenderPassCreateFlagBits
-> RenderPassCreateFlagBits -> RenderPassCreateFlagBits
Ord, Ptr RenderPassCreateFlagBits -> IO RenderPassCreateFlagBits
Ptr RenderPassCreateFlagBits -> Int -> IO RenderPassCreateFlagBits
Ptr RenderPassCreateFlagBits
-> Int -> RenderPassCreateFlagBits -> IO ()
Ptr RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> IO ()
RenderPassCreateFlagBits -> Int
(RenderPassCreateFlagBits -> Int)
-> (RenderPassCreateFlagBits -> Int)
-> (Ptr RenderPassCreateFlagBits
    -> Int -> IO RenderPassCreateFlagBits)
-> (Ptr RenderPassCreateFlagBits
    -> Int -> RenderPassCreateFlagBits -> IO ())
-> (forall b. Ptr b -> Int -> IO RenderPassCreateFlagBits)
-> (forall b. Ptr b -> Int -> RenderPassCreateFlagBits -> IO ())
-> (Ptr RenderPassCreateFlagBits -> IO RenderPassCreateFlagBits)
-> (Ptr RenderPassCreateFlagBits
    -> RenderPassCreateFlagBits -> IO ())
-> Storable RenderPassCreateFlagBits
forall b. Ptr b -> Int -> IO RenderPassCreateFlagBits
forall b. Ptr b -> Int -> RenderPassCreateFlagBits -> 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
$csizeOf :: RenderPassCreateFlagBits -> Int
sizeOf :: RenderPassCreateFlagBits -> Int
$calignment :: RenderPassCreateFlagBits -> Int
alignment :: RenderPassCreateFlagBits -> Int
$cpeekElemOff :: Ptr RenderPassCreateFlagBits -> Int -> IO RenderPassCreateFlagBits
peekElemOff :: Ptr RenderPassCreateFlagBits -> Int -> IO RenderPassCreateFlagBits
$cpokeElemOff :: Ptr RenderPassCreateFlagBits
-> Int -> RenderPassCreateFlagBits -> IO ()
pokeElemOff :: Ptr RenderPassCreateFlagBits
-> Int -> RenderPassCreateFlagBits -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO RenderPassCreateFlagBits
peekByteOff :: forall b. Ptr b -> Int -> IO RenderPassCreateFlagBits
$cpokeByteOff :: forall b. Ptr b -> Int -> RenderPassCreateFlagBits -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> RenderPassCreateFlagBits -> IO ()
$cpeek :: Ptr RenderPassCreateFlagBits -> IO RenderPassCreateFlagBits
peek :: Ptr RenderPassCreateFlagBits -> IO RenderPassCreateFlagBits
$cpoke :: Ptr RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> IO ()
poke :: Ptr RenderPassCreateFlagBits -> RenderPassCreateFlagBits -> IO ()
Storable, RenderPassCreateFlagBits
RenderPassCreateFlagBits -> Zero RenderPassCreateFlagBits
forall a. a -> Zero a
$czero :: RenderPassCreateFlagBits
zero :: RenderPassCreateFlagBits
Zero, Eq RenderPassCreateFlagBits
RenderPassCreateFlagBits
Eq RenderPassCreateFlagBits =>
(RenderPassCreateFlagBits
 -> RenderPassCreateFlagBits -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits
    -> RenderPassCreateFlagBits -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits
    -> RenderPassCreateFlagBits -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits)
-> RenderPassCreateFlagBits
-> (Int -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits -> Int -> Bool)
-> (RenderPassCreateFlagBits -> Maybe Int)
-> (RenderPassCreateFlagBits -> Int)
-> (RenderPassCreateFlagBits -> Bool)
-> (RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits)
-> (RenderPassCreateFlagBits -> Int)
-> Bits RenderPassCreateFlagBits
Int -> RenderPassCreateFlagBits
RenderPassCreateFlagBits -> Bool
RenderPassCreateFlagBits -> Int
RenderPassCreateFlagBits -> Maybe Int
RenderPassCreateFlagBits -> RenderPassCreateFlagBits
RenderPassCreateFlagBits -> Int -> Bool
RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
RenderPassCreateFlagBits
-> RenderPassCreateFlagBits -> RenderPassCreateFlagBits
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
$c.&. :: RenderPassCreateFlagBits
-> RenderPassCreateFlagBits -> RenderPassCreateFlagBits
.&. :: RenderPassCreateFlagBits
-> RenderPassCreateFlagBits -> RenderPassCreateFlagBits
$c.|. :: RenderPassCreateFlagBits
-> RenderPassCreateFlagBits -> RenderPassCreateFlagBits
.|. :: RenderPassCreateFlagBits
-> RenderPassCreateFlagBits -> RenderPassCreateFlagBits
$cxor :: RenderPassCreateFlagBits
-> RenderPassCreateFlagBits -> RenderPassCreateFlagBits
xor :: RenderPassCreateFlagBits
-> RenderPassCreateFlagBits -> RenderPassCreateFlagBits
$ccomplement :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits
complement :: RenderPassCreateFlagBits -> RenderPassCreateFlagBits
$cshift :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
shift :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
$crotate :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
rotate :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
$czeroBits :: RenderPassCreateFlagBits
zeroBits :: RenderPassCreateFlagBits
$cbit :: Int -> RenderPassCreateFlagBits
bit :: Int -> RenderPassCreateFlagBits
$csetBit :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
setBit :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
$cclearBit :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
clearBit :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
$ccomplementBit :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
complementBit :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
$ctestBit :: RenderPassCreateFlagBits -> Int -> Bool
testBit :: RenderPassCreateFlagBits -> Int -> Bool
$cbitSizeMaybe :: RenderPassCreateFlagBits -> Maybe Int
bitSizeMaybe :: RenderPassCreateFlagBits -> Maybe Int
$cbitSize :: RenderPassCreateFlagBits -> Int
bitSize :: RenderPassCreateFlagBits -> Int
$cisSigned :: RenderPassCreateFlagBits -> Bool
isSigned :: RenderPassCreateFlagBits -> Bool
$cshiftL :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
shiftL :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
$cunsafeShiftL :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
unsafeShiftL :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
$cshiftR :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
shiftR :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
$cunsafeShiftR :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
unsafeShiftR :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
$crotateL :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
rotateL :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
$crotateR :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
rotateR :: RenderPassCreateFlagBits -> Int -> RenderPassCreateFlagBits
$cpopCount :: RenderPassCreateFlagBits -> Int
popCount :: RenderPassCreateFlagBits -> Int
Bits, Bits RenderPassCreateFlagBits
Bits RenderPassCreateFlagBits =>
(RenderPassCreateFlagBits -> Int)
-> (RenderPassCreateFlagBits -> Int)
-> (RenderPassCreateFlagBits -> Int)
-> FiniteBits RenderPassCreateFlagBits
RenderPassCreateFlagBits -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: RenderPassCreateFlagBits -> Int
finiteBitSize :: RenderPassCreateFlagBits -> Int
$ccountLeadingZeros :: RenderPassCreateFlagBits -> Int
countLeadingZeros :: RenderPassCreateFlagBits -> Int
$ccountTrailingZeros :: RenderPassCreateFlagBits -> Int
countTrailingZeros :: RenderPassCreateFlagBits -> Int
FiniteBits)

-- | 'RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM' specifies that the created
-- render pass is compatible with
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#vertexpostproc-renderpass-transform render pass transform>.
pattern $bRENDER_PASS_CREATE_TRANSFORM_BIT_QCOM :: RenderPassCreateFlagBits
$mRENDER_PASS_CREATE_TRANSFORM_BIT_QCOM :: forall {r}.
RenderPassCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = RenderPassCreateFlagBits 0x00000002

conNameRenderPassCreateFlagBits :: String
conNameRenderPassCreateFlagBits :: String
conNameRenderPassCreateFlagBits = String
"RenderPassCreateFlagBits"

enumPrefixRenderPassCreateFlagBits :: String
enumPrefixRenderPassCreateFlagBits :: String
enumPrefixRenderPassCreateFlagBits = String
"RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM"

showTableRenderPassCreateFlagBits :: [(RenderPassCreateFlagBits, String)]
showTableRenderPassCreateFlagBits :: [(RenderPassCreateFlagBits, String)]
showTableRenderPassCreateFlagBits =
  [
    ( RenderPassCreateFlagBits
RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM
    , String
""
    )
  ]

instance Show RenderPassCreateFlagBits where
  showsPrec :: Int -> RenderPassCreateFlagBits -> ShowS
showsPrec =
    String
-> [(RenderPassCreateFlagBits, String)]
-> String
-> (RenderPassCreateFlagBits -> Flags)
-> (Flags -> ShowS)
-> Int
-> RenderPassCreateFlagBits
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
      String
enumPrefixRenderPassCreateFlagBits
      [(RenderPassCreateFlagBits, String)]
showTableRenderPassCreateFlagBits
      String
conNameRenderPassCreateFlagBits
      (\(RenderPassCreateFlagBits Flags
x) -> Flags
x)
      (\Flags
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags -> ShowS
forall a. Integral a => a -> ShowS
showHex Flags
x)

instance Read RenderPassCreateFlagBits where
  readPrec :: ReadPrec RenderPassCreateFlagBits
readPrec =
    String
-> [(RenderPassCreateFlagBits, String)]
-> String
-> (Flags -> RenderPassCreateFlagBits)
-> ReadPrec RenderPassCreateFlagBits
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
      String
enumPrefixRenderPassCreateFlagBits
      [(RenderPassCreateFlagBits, String)]
showTableRenderPassCreateFlagBits
      String
conNameRenderPassCreateFlagBits
      Flags -> RenderPassCreateFlagBits
RenderPassCreateFlagBits