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

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

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

-- | 'RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM' specifies that the created
-- renderpass is compatible with
-- <https://www.khronos.org/registry/vulkan/specs/1.2-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 -> (Void# -> r) -> (Void# -> r) -> r
RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = RenderPassCreateFlagBits 0x00000002

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

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

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

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 x :: Flags
x) -> Flags
x)
                            (\x :: Flags
x -> String -> ShowS
showString "0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags -> ShowS
forall a. (Integral a, Show 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