{-# language CPP #-}
module Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits ( ExternalMemoryFeatureFlags
, ExternalMemoryFeatureFlagBits( EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT
, EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT
, EXTERNAL_MEMORY_FEATURE_IMPORTABLE_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 ExternalMemoryFeatureFlags = ExternalMemoryFeatureFlagBits
newtype ExternalMemoryFeatureFlagBits = ExternalMemoryFeatureFlagBits Flags
deriving newtype (ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
(ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool)
-> (ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool)
-> Eq ExternalMemoryFeatureFlagBits
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
== :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
$c/= :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
/= :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
Eq, Eq ExternalMemoryFeatureFlagBits
Eq ExternalMemoryFeatureFlagBits =>
(ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Ordering)
-> (ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool)
-> (ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool)
-> (ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool)
-> (ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool)
-> (ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits)
-> Ord ExternalMemoryFeatureFlagBits
ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Ordering
ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
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 :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Ordering
compare :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Ordering
$c< :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
< :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
$c<= :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
<= :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
$c> :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
> :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
$c>= :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
>= :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
$cmax :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
max :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
$cmin :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
min :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
Ord, Ptr ExternalMemoryFeatureFlagBits
-> IO ExternalMemoryFeatureFlagBits
Ptr ExternalMemoryFeatureFlagBits
-> Int -> IO ExternalMemoryFeatureFlagBits
Ptr ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits -> IO ()
Ptr ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> IO ()
ExternalMemoryFeatureFlagBits -> Int
(ExternalMemoryFeatureFlagBits -> Int)
-> (ExternalMemoryFeatureFlagBits -> Int)
-> (Ptr ExternalMemoryFeatureFlagBits
-> Int -> IO ExternalMemoryFeatureFlagBits)
-> (Ptr ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits -> IO ())
-> (forall b. Ptr b -> Int -> IO ExternalMemoryFeatureFlagBits)
-> (forall b.
Ptr b -> Int -> ExternalMemoryFeatureFlagBits -> IO ())
-> (Ptr ExternalMemoryFeatureFlagBits
-> IO ExternalMemoryFeatureFlagBits)
-> (Ptr ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> IO ())
-> Storable ExternalMemoryFeatureFlagBits
forall b. Ptr b -> Int -> IO ExternalMemoryFeatureFlagBits
forall b. Ptr b -> Int -> ExternalMemoryFeatureFlagBits -> 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 :: ExternalMemoryFeatureFlagBits -> Int
sizeOf :: ExternalMemoryFeatureFlagBits -> Int
$calignment :: ExternalMemoryFeatureFlagBits -> Int
alignment :: ExternalMemoryFeatureFlagBits -> Int
$cpeekElemOff :: Ptr ExternalMemoryFeatureFlagBits
-> Int -> IO ExternalMemoryFeatureFlagBits
peekElemOff :: Ptr ExternalMemoryFeatureFlagBits
-> Int -> IO ExternalMemoryFeatureFlagBits
$cpokeElemOff :: Ptr ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits -> IO ()
pokeElemOff :: Ptr ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ExternalMemoryFeatureFlagBits
peekByteOff :: forall b. Ptr b -> Int -> IO ExternalMemoryFeatureFlagBits
$cpokeByteOff :: forall b. Ptr b -> Int -> ExternalMemoryFeatureFlagBits -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> ExternalMemoryFeatureFlagBits -> IO ()
$cpeek :: Ptr ExternalMemoryFeatureFlagBits
-> IO ExternalMemoryFeatureFlagBits
peek :: Ptr ExternalMemoryFeatureFlagBits
-> IO ExternalMemoryFeatureFlagBits
$cpoke :: Ptr ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> IO ()
poke :: Ptr ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> IO ()
Storable, ExternalMemoryFeatureFlagBits
ExternalMemoryFeatureFlagBits -> Zero ExternalMemoryFeatureFlagBits
forall a. a -> Zero a
$czero :: ExternalMemoryFeatureFlagBits
zero :: ExternalMemoryFeatureFlagBits
Zero, Eq ExternalMemoryFeatureFlagBits
ExternalMemoryFeatureFlagBits
Eq ExternalMemoryFeatureFlagBits =>
(ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits)
-> ExternalMemoryFeatureFlagBits
-> (Int -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits -> Int -> Bool)
-> (ExternalMemoryFeatureFlagBits -> Maybe Int)
-> (ExternalMemoryFeatureFlagBits -> Int)
-> (ExternalMemoryFeatureFlagBits -> Bool)
-> (ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits)
-> (ExternalMemoryFeatureFlagBits -> Int)
-> Bits ExternalMemoryFeatureFlagBits
Int -> ExternalMemoryFeatureFlagBits
ExternalMemoryFeatureFlagBits -> Bool
ExternalMemoryFeatureFlagBits -> Int
ExternalMemoryFeatureFlagBits -> Maybe Int
ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
ExternalMemoryFeatureFlagBits -> Int -> Bool
ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
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.&. :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
.&. :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
$c.|. :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
.|. :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
$cxor :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
xor :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
$ccomplement :: ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
complement :: ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
$cshift :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
shift :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$crotate :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
rotate :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$czeroBits :: ExternalMemoryFeatureFlagBits
zeroBits :: ExternalMemoryFeatureFlagBits
$cbit :: Int -> ExternalMemoryFeatureFlagBits
bit :: Int -> ExternalMemoryFeatureFlagBits
$csetBit :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
setBit :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$cclearBit :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
clearBit :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$ccomplementBit :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
complementBit :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$ctestBit :: ExternalMemoryFeatureFlagBits -> Int -> Bool
testBit :: ExternalMemoryFeatureFlagBits -> Int -> Bool
$cbitSizeMaybe :: ExternalMemoryFeatureFlagBits -> Maybe Int
bitSizeMaybe :: ExternalMemoryFeatureFlagBits -> Maybe Int
$cbitSize :: ExternalMemoryFeatureFlagBits -> Int
bitSize :: ExternalMemoryFeatureFlagBits -> Int
$cisSigned :: ExternalMemoryFeatureFlagBits -> Bool
isSigned :: ExternalMemoryFeatureFlagBits -> Bool
$cshiftL :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
shiftL :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$cunsafeShiftL :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
unsafeShiftL :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$cshiftR :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
shiftR :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$cunsafeShiftR :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
unsafeShiftR :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$crotateL :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
rotateL :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$crotateR :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
rotateR :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$cpopCount :: ExternalMemoryFeatureFlagBits -> Int
popCount :: ExternalMemoryFeatureFlagBits -> Int
Bits, Bits ExternalMemoryFeatureFlagBits
Bits ExternalMemoryFeatureFlagBits =>
(ExternalMemoryFeatureFlagBits -> Int)
-> (ExternalMemoryFeatureFlagBits -> Int)
-> (ExternalMemoryFeatureFlagBits -> Int)
-> FiniteBits ExternalMemoryFeatureFlagBits
ExternalMemoryFeatureFlagBits -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: ExternalMemoryFeatureFlagBits -> Int
finiteBitSize :: ExternalMemoryFeatureFlagBits -> Int
$ccountLeadingZeros :: ExternalMemoryFeatureFlagBits -> Int
countLeadingZeros :: ExternalMemoryFeatureFlagBits -> Int
$ccountTrailingZeros :: ExternalMemoryFeatureFlagBits -> Int
countTrailingZeros :: ExternalMemoryFeatureFlagBits -> Int
FiniteBits)
pattern $bEXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: ExternalMemoryFeatureFlagBits
$mEXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: forall {r}.
ExternalMemoryFeatureFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = ExternalMemoryFeatureFlagBits 0x00000001
pattern $bEXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: ExternalMemoryFeatureFlagBits
$mEXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: forall {r}.
ExternalMemoryFeatureFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = ExternalMemoryFeatureFlagBits 0x00000002
pattern $bEXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: ExternalMemoryFeatureFlagBits
$mEXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: forall {r}.
ExternalMemoryFeatureFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = ExternalMemoryFeatureFlagBits 0x00000004
conNameExternalMemoryFeatureFlagBits :: String
conNameExternalMemoryFeatureFlagBits :: String
conNameExternalMemoryFeatureFlagBits = String
"ExternalMemoryFeatureFlagBits"
enumPrefixExternalMemoryFeatureFlagBits :: String
enumPrefixExternalMemoryFeatureFlagBits :: String
enumPrefixExternalMemoryFeatureFlagBits = String
"EXTERNAL_MEMORY_FEATURE_"
showTableExternalMemoryFeatureFlagBits :: [(ExternalMemoryFeatureFlagBits, String)]
showTableExternalMemoryFeatureFlagBits :: [(ExternalMemoryFeatureFlagBits, String)]
showTableExternalMemoryFeatureFlagBits =
[
( ExternalMemoryFeatureFlagBits
EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT
, String
"DEDICATED_ONLY_BIT"
)
,
( ExternalMemoryFeatureFlagBits
EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT
, String
"EXPORTABLE_BIT"
)
,
( ExternalMemoryFeatureFlagBits
EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT
, String
"IMPORTABLE_BIT"
)
]
instance Show ExternalMemoryFeatureFlagBits where
showsPrec :: Int -> ExternalMemoryFeatureFlagBits -> ShowS
showsPrec =
String
-> [(ExternalMemoryFeatureFlagBits, String)]
-> String
-> (ExternalMemoryFeatureFlagBits -> Flags)
-> (Flags -> ShowS)
-> Int
-> ExternalMemoryFeatureFlagBits
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixExternalMemoryFeatureFlagBits
[(ExternalMemoryFeatureFlagBits, String)]
showTableExternalMemoryFeatureFlagBits
String
conNameExternalMemoryFeatureFlagBits
(\(ExternalMemoryFeatureFlagBits 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 ExternalMemoryFeatureFlagBits where
readPrec :: ReadPrec ExternalMemoryFeatureFlagBits
readPrec =
String
-> [(ExternalMemoryFeatureFlagBits, String)]
-> String
-> (Flags -> ExternalMemoryFeatureFlagBits)
-> ReadPrec ExternalMemoryFeatureFlagBits
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixExternalMemoryFeatureFlagBits
[(ExternalMemoryFeatureFlagBits, String)]
showTableExternalMemoryFeatureFlagBits
String
conNameExternalMemoryFeatureFlagBits
Flags -> ExternalMemoryFeatureFlagBits
ExternalMemoryFeatureFlagBits