{-# language CPP #-}
module Vulkan.Core10.Enums.SubpassDescriptionFlagBits ( SubpassDescriptionFlags
, SubpassDescriptionFlagBits( SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM
, SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM
, SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX
, SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX
, ..
)
) where
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import Vulkan.Zero (Zero)
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)
type SubpassDescriptionFlags = SubpassDescriptionFlagBits
newtype SubpassDescriptionFlagBits = SubpassDescriptionFlagBits Flags
deriving newtype (SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool
(SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool)
-> (SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> Bool)
-> Eq SubpassDescriptionFlagBits
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool
$c/= :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool
== :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool
$c== :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool
Eq, Eq SubpassDescriptionFlagBits
Eq SubpassDescriptionFlagBits =>
(SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> Ordering)
-> (SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> Bool)
-> (SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> Bool)
-> (SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> Bool)
-> (SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> Bool)
-> (SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits)
-> Ord SubpassDescriptionFlagBits
SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool
SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> Ordering
SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
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 :: SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
$cmin :: SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
max :: SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
$cmax :: SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
>= :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool
$c>= :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool
> :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool
$c> :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool
<= :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool
$c<= :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool
< :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool
$c< :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> Bool
compare :: SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> Ordering
$ccompare :: SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> Ordering
$cp1Ord :: Eq SubpassDescriptionFlagBits
Ord, Ptr b -> Int -> IO SubpassDescriptionFlagBits
Ptr b -> Int -> SubpassDescriptionFlagBits -> IO ()
Ptr SubpassDescriptionFlagBits -> IO SubpassDescriptionFlagBits
Ptr SubpassDescriptionFlagBits
-> Int -> IO SubpassDescriptionFlagBits
Ptr SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits -> IO ()
Ptr SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> IO ()
SubpassDescriptionFlagBits -> Int
(SubpassDescriptionFlagBits -> Int)
-> (SubpassDescriptionFlagBits -> Int)
-> (Ptr SubpassDescriptionFlagBits
-> Int -> IO SubpassDescriptionFlagBits)
-> (Ptr SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits -> IO ())
-> (forall b. Ptr b -> Int -> IO SubpassDescriptionFlagBits)
-> (forall b. Ptr b -> Int -> SubpassDescriptionFlagBits -> IO ())
-> (Ptr SubpassDescriptionFlagBits
-> IO SubpassDescriptionFlagBits)
-> (Ptr SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> IO ())
-> Storable SubpassDescriptionFlagBits
forall b. Ptr b -> Int -> IO SubpassDescriptionFlagBits
forall b. Ptr b -> Int -> SubpassDescriptionFlagBits -> 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 SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> IO ()
$cpoke :: Ptr SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> IO ()
peek :: Ptr SubpassDescriptionFlagBits -> IO SubpassDescriptionFlagBits
$cpeek :: Ptr SubpassDescriptionFlagBits -> IO SubpassDescriptionFlagBits
pokeByteOff :: Ptr b -> Int -> SubpassDescriptionFlagBits -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> SubpassDescriptionFlagBits -> IO ()
peekByteOff :: Ptr b -> Int -> IO SubpassDescriptionFlagBits
$cpeekByteOff :: forall b. Ptr b -> Int -> IO SubpassDescriptionFlagBits
pokeElemOff :: Ptr SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits -> IO ()
$cpokeElemOff :: Ptr SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits -> IO ()
peekElemOff :: Ptr SubpassDescriptionFlagBits
-> Int -> IO SubpassDescriptionFlagBits
$cpeekElemOff :: Ptr SubpassDescriptionFlagBits
-> Int -> IO SubpassDescriptionFlagBits
alignment :: SubpassDescriptionFlagBits -> Int
$calignment :: SubpassDescriptionFlagBits -> Int
sizeOf :: SubpassDescriptionFlagBits -> Int
$csizeOf :: SubpassDescriptionFlagBits -> Int
Storable, SubpassDescriptionFlagBits
SubpassDescriptionFlagBits -> Zero SubpassDescriptionFlagBits
forall a. a -> Zero a
zero :: SubpassDescriptionFlagBits
$czero :: SubpassDescriptionFlagBits
Zero, Eq SubpassDescriptionFlagBits
SubpassDescriptionFlagBits
Eq SubpassDescriptionFlagBits =>
(SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits)
-> SubpassDescriptionFlagBits
-> (Int -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits -> Int -> Bool)
-> (SubpassDescriptionFlagBits -> Maybe Int)
-> (SubpassDescriptionFlagBits -> Int)
-> (SubpassDescriptionFlagBits -> Bool)
-> (SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits
-> Int -> SubpassDescriptionFlagBits)
-> (SubpassDescriptionFlagBits -> Int)
-> Bits SubpassDescriptionFlagBits
Int -> SubpassDescriptionFlagBits
SubpassDescriptionFlagBits -> Bool
SubpassDescriptionFlagBits -> Int
SubpassDescriptionFlagBits -> Maybe Int
SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
SubpassDescriptionFlagBits -> Int -> Bool
SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
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 :: SubpassDescriptionFlagBits -> Int
$cpopCount :: SubpassDescriptionFlagBits -> Int
rotateR :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
$crotateR :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
rotateL :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
$crotateL :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
unsafeShiftR :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
$cunsafeShiftR :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
shiftR :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
$cshiftR :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
unsafeShiftL :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
$cunsafeShiftL :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
shiftL :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
$cshiftL :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
isSigned :: SubpassDescriptionFlagBits -> Bool
$cisSigned :: SubpassDescriptionFlagBits -> Bool
bitSize :: SubpassDescriptionFlagBits -> Int
$cbitSize :: SubpassDescriptionFlagBits -> Int
bitSizeMaybe :: SubpassDescriptionFlagBits -> Maybe Int
$cbitSizeMaybe :: SubpassDescriptionFlagBits -> Maybe Int
testBit :: SubpassDescriptionFlagBits -> Int -> Bool
$ctestBit :: SubpassDescriptionFlagBits -> Int -> Bool
complementBit :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
$ccomplementBit :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
clearBit :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
$cclearBit :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
setBit :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
$csetBit :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
bit :: Int -> SubpassDescriptionFlagBits
$cbit :: Int -> SubpassDescriptionFlagBits
zeroBits :: SubpassDescriptionFlagBits
$czeroBits :: SubpassDescriptionFlagBits
rotate :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
$crotate :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
shift :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
$cshift :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits
complement :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
$ccomplement :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
xor :: SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
$cxor :: SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
.|. :: SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
$c.|. :: SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
.&. :: SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
$c.&. :: SubpassDescriptionFlagBits
-> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits
$cp1Bits :: Eq SubpassDescriptionFlagBits
Bits, Bits SubpassDescriptionFlagBits
Bits SubpassDescriptionFlagBits =>
(SubpassDescriptionFlagBits -> Int)
-> (SubpassDescriptionFlagBits -> Int)
-> (SubpassDescriptionFlagBits -> Int)
-> FiniteBits SubpassDescriptionFlagBits
SubpassDescriptionFlagBits -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: SubpassDescriptionFlagBits -> Int
$ccountTrailingZeros :: SubpassDescriptionFlagBits -> Int
countLeadingZeros :: SubpassDescriptionFlagBits -> Int
$ccountLeadingZeros :: SubpassDescriptionFlagBits -> Int
finiteBitSize :: SubpassDescriptionFlagBits -> Int
$cfiniteBitSize :: SubpassDescriptionFlagBits -> Int
$cp1FiniteBits :: Bits SubpassDescriptionFlagBits
FiniteBits)
pattern $bSUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM :: SubpassDescriptionFlagBits
$mSUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM :: forall r.
SubpassDescriptionFlagBits -> (Void# -> r) -> (Void# -> r) -> r
SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = SubpassDescriptionFlagBits 0x00000008
pattern $bSUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM :: SubpassDescriptionFlagBits
$mSUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM :: forall r.
SubpassDescriptionFlagBits -> (Void# -> r) -> (Void# -> r) -> r
SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = SubpassDescriptionFlagBits 0x00000004
pattern $bSUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX :: SubpassDescriptionFlagBits
$mSUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX :: forall r.
SubpassDescriptionFlagBits -> (Void# -> r) -> (Void# -> r) -> r
SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = SubpassDescriptionFlagBits 0x00000002
pattern $bSUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX :: SubpassDescriptionFlagBits
$mSUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX :: forall r.
SubpassDescriptionFlagBits -> (Void# -> r) -> (Void# -> r) -> r
SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = SubpassDescriptionFlagBits 0x00000001
conNameSubpassDescriptionFlagBits :: String
conNameSubpassDescriptionFlagBits :: String
conNameSubpassDescriptionFlagBits = "SubpassDescriptionFlagBits"
enumPrefixSubpassDescriptionFlagBits :: String
enumPrefixSubpassDescriptionFlagBits :: String
enumPrefixSubpassDescriptionFlagBits = "SUBPASS_DESCRIPTION_"
showTableSubpassDescriptionFlagBits :: [(SubpassDescriptionFlagBits, String)]
showTableSubpassDescriptionFlagBits :: [(SubpassDescriptionFlagBits, String)]
showTableSubpassDescriptionFlagBits =
[ (SubpassDescriptionFlagBits
SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM , "SHADER_RESOLVE_BIT_QCOM")
, (SubpassDescriptionFlagBits
SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM , "FRAGMENT_REGION_BIT_QCOM")
, (SubpassDescriptionFlagBits
SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX, "PER_VIEW_POSITION_X_ONLY_BIT_NVX")
, (SubpassDescriptionFlagBits
SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX , "PER_VIEW_ATTRIBUTES_BIT_NVX")
]
instance Show SubpassDescriptionFlagBits where
showsPrec :: Int -> SubpassDescriptionFlagBits -> ShowS
showsPrec = String
-> [(SubpassDescriptionFlagBits, String)]
-> String
-> (SubpassDescriptionFlagBits -> Flags)
-> (Flags -> ShowS)
-> Int
-> SubpassDescriptionFlagBits
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixSubpassDescriptionFlagBits
[(SubpassDescriptionFlagBits, String)]
showTableSubpassDescriptionFlagBits
String
conNameSubpassDescriptionFlagBits
(\(SubpassDescriptionFlagBits 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 SubpassDescriptionFlagBits where
readPrec :: ReadPrec SubpassDescriptionFlagBits
readPrec = String
-> [(SubpassDescriptionFlagBits, String)]
-> String
-> (Flags -> SubpassDescriptionFlagBits)
-> ReadPrec SubpassDescriptionFlagBits
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixSubpassDescriptionFlagBits
[(SubpassDescriptionFlagBits, String)]
showTableSubpassDescriptionFlagBits
String
conNameSubpassDescriptionFlagBits
Flags -> SubpassDescriptionFlagBits
SubpassDescriptionFlagBits