{-# language CPP #-}
module Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits ( ExternalFenceHandleTypeFlags
, ExternalFenceHandleTypeFlagBits( EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT
, EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT
, EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT
, EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
, ..
)
) 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 ExternalFenceHandleTypeFlags = ExternalFenceHandleTypeFlagBits
newtype ExternalFenceHandleTypeFlagBits = ExternalFenceHandleTypeFlagBits Flags
deriving newtype (ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Bool
$c/= :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Bool
== :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Bool
$c== :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Bool
Eq, Eq ExternalFenceHandleTypeFlagBits
ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Bool
ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Ordering
ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
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 :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
$cmin :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
max :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
$cmax :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
>= :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Bool
$c>= :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Bool
> :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Bool
$c> :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Bool
<= :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Bool
$c<= :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Bool
< :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Bool
$c< :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Bool
compare :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Ordering
$ccompare :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> Ordering
Ord, Ptr ExternalFenceHandleTypeFlagBits
-> IO ExternalFenceHandleTypeFlagBits
Ptr ExternalFenceHandleTypeFlagBits
-> Int -> IO ExternalFenceHandleTypeFlagBits
Ptr ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits -> IO ()
Ptr ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> IO ()
ExternalFenceHandleTypeFlagBits -> Int
forall b. Ptr b -> Int -> IO ExternalFenceHandleTypeFlagBits
forall b. Ptr b -> Int -> ExternalFenceHandleTypeFlagBits -> 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 ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> IO ()
$cpoke :: Ptr ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits -> IO ()
peek :: Ptr ExternalFenceHandleTypeFlagBits
-> IO ExternalFenceHandleTypeFlagBits
$cpeek :: Ptr ExternalFenceHandleTypeFlagBits
-> IO ExternalFenceHandleTypeFlagBits
pokeByteOff :: forall b. Ptr b -> Int -> ExternalFenceHandleTypeFlagBits -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ExternalFenceHandleTypeFlagBits -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO ExternalFenceHandleTypeFlagBits
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ExternalFenceHandleTypeFlagBits
pokeElemOff :: Ptr ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits -> IO ()
$cpokeElemOff :: Ptr ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits -> IO ()
peekElemOff :: Ptr ExternalFenceHandleTypeFlagBits
-> Int -> IO ExternalFenceHandleTypeFlagBits
$cpeekElemOff :: Ptr ExternalFenceHandleTypeFlagBits
-> Int -> IO ExternalFenceHandleTypeFlagBits
alignment :: ExternalFenceHandleTypeFlagBits -> Int
$calignment :: ExternalFenceHandleTypeFlagBits -> Int
sizeOf :: ExternalFenceHandleTypeFlagBits -> Int
$csizeOf :: ExternalFenceHandleTypeFlagBits -> Int
Storable, ExternalFenceHandleTypeFlagBits
forall a. a -> Zero a
zero :: ExternalFenceHandleTypeFlagBits
$czero :: ExternalFenceHandleTypeFlagBits
Zero, Eq ExternalFenceHandleTypeFlagBits
ExternalFenceHandleTypeFlagBits
Int -> ExternalFenceHandleTypeFlagBits
ExternalFenceHandleTypeFlagBits -> Bool
ExternalFenceHandleTypeFlagBits -> Int
ExternalFenceHandleTypeFlagBits -> Maybe Int
ExternalFenceHandleTypeFlagBits -> ExternalFenceHandleTypeFlagBits
ExternalFenceHandleTypeFlagBits -> Int -> Bool
ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
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 :: ExternalFenceHandleTypeFlagBits -> Int
$cpopCount :: ExternalFenceHandleTypeFlagBits -> Int
rotateR :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
$crotateR :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
rotateL :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
$crotateL :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
unsafeShiftR :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
$cunsafeShiftR :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
shiftR :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
$cshiftR :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
unsafeShiftL :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
$cunsafeShiftL :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
shiftL :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
$cshiftL :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
isSigned :: ExternalFenceHandleTypeFlagBits -> Bool
$cisSigned :: ExternalFenceHandleTypeFlagBits -> Bool
bitSize :: ExternalFenceHandleTypeFlagBits -> Int
$cbitSize :: ExternalFenceHandleTypeFlagBits -> Int
bitSizeMaybe :: ExternalFenceHandleTypeFlagBits -> Maybe Int
$cbitSizeMaybe :: ExternalFenceHandleTypeFlagBits -> Maybe Int
testBit :: ExternalFenceHandleTypeFlagBits -> Int -> Bool
$ctestBit :: ExternalFenceHandleTypeFlagBits -> Int -> Bool
complementBit :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
$ccomplementBit :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
clearBit :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
$cclearBit :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
setBit :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
$csetBit :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
bit :: Int -> ExternalFenceHandleTypeFlagBits
$cbit :: Int -> ExternalFenceHandleTypeFlagBits
zeroBits :: ExternalFenceHandleTypeFlagBits
$czeroBits :: ExternalFenceHandleTypeFlagBits
rotate :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
$crotate :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
shift :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
$cshift :: ExternalFenceHandleTypeFlagBits
-> Int -> ExternalFenceHandleTypeFlagBits
complement :: ExternalFenceHandleTypeFlagBits -> ExternalFenceHandleTypeFlagBits
$ccomplement :: ExternalFenceHandleTypeFlagBits -> ExternalFenceHandleTypeFlagBits
xor :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
$cxor :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
.|. :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
$c.|. :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
.&. :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
$c.&. :: ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
-> ExternalFenceHandleTypeFlagBits
Bits, Bits ExternalFenceHandleTypeFlagBits
ExternalFenceHandleTypeFlagBits -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: ExternalFenceHandleTypeFlagBits -> Int
$ccountTrailingZeros :: ExternalFenceHandleTypeFlagBits -> Int
countLeadingZeros :: ExternalFenceHandleTypeFlagBits -> Int
$ccountLeadingZeros :: ExternalFenceHandleTypeFlagBits -> Int
finiteBitSize :: ExternalFenceHandleTypeFlagBits -> Int
$cfiniteBitSize :: ExternalFenceHandleTypeFlagBits -> Int
FiniteBits)
pattern $bEXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: ExternalFenceHandleTypeFlagBits
$mEXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: forall {r}.
ExternalFenceHandleTypeFlagBits
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = ExternalFenceHandleTypeFlagBits 0x00000001
pattern $bEXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: ExternalFenceHandleTypeFlagBits
$mEXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: forall {r}.
ExternalFenceHandleTypeFlagBits
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = ExternalFenceHandleTypeFlagBits 0x00000002
pattern $bEXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: ExternalFenceHandleTypeFlagBits
$mEXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: forall {r}.
ExternalFenceHandleTypeFlagBits
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = ExternalFenceHandleTypeFlagBits 0x00000004
pattern $bEXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: ExternalFenceHandleTypeFlagBits
$mEXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: forall {r}.
ExternalFenceHandleTypeFlagBits
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = ExternalFenceHandleTypeFlagBits 0x00000008
conNameExternalFenceHandleTypeFlagBits :: String
conNameExternalFenceHandleTypeFlagBits :: String
conNameExternalFenceHandleTypeFlagBits = String
"ExternalFenceHandleTypeFlagBits"
enumPrefixExternalFenceHandleTypeFlagBits :: String
enumPrefixExternalFenceHandleTypeFlagBits :: String
enumPrefixExternalFenceHandleTypeFlagBits = String
"EXTERNAL_FENCE_HANDLE_TYPE_"
showTableExternalFenceHandleTypeFlagBits :: [(ExternalFenceHandleTypeFlagBits, String)]
showTableExternalFenceHandleTypeFlagBits :: [(ExternalFenceHandleTypeFlagBits, String)]
showTableExternalFenceHandleTypeFlagBits =
[
( ExternalFenceHandleTypeFlagBits
EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT
, String
"OPAQUE_FD_BIT"
)
,
( ExternalFenceHandleTypeFlagBits
EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT
, String
"OPAQUE_WIN32_BIT"
)
,
( ExternalFenceHandleTypeFlagBits
EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT
, String
"OPAQUE_WIN32_KMT_BIT"
)
,
( ExternalFenceHandleTypeFlagBits
EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
, String
"SYNC_FD_BIT"
)
]
instance Show ExternalFenceHandleTypeFlagBits where
showsPrec :: Int -> ExternalFenceHandleTypeFlagBits -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixExternalFenceHandleTypeFlagBits
[(ExternalFenceHandleTypeFlagBits, String)]
showTableExternalFenceHandleTypeFlagBits
String
conNameExternalFenceHandleTypeFlagBits
(\(ExternalFenceHandleTypeFlagBits Flags
x) -> Flags
x)
(\Flags
x -> String -> ShowS
showString String
"0x" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)
instance Read ExternalFenceHandleTypeFlagBits where
readPrec :: ReadPrec ExternalFenceHandleTypeFlagBits
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixExternalFenceHandleTypeFlagBits
[(ExternalFenceHandleTypeFlagBits, String)]
showTableExternalFenceHandleTypeFlagBits
String
conNameExternalFenceHandleTypeFlagBits
Flags -> ExternalFenceHandleTypeFlagBits
ExternalFenceHandleTypeFlagBits