{-# 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
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
$c/= :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
== :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
$c== :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
Eq, Eq 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
min :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
$cmin :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
max :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
$cmax :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
>= :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Bool
$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
compare :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Ordering
$ccompare :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> Ordering
Ord, Ptr ExternalMemoryFeatureFlagBits
-> IO ExternalMemoryFeatureFlagBits
Ptr ExternalMemoryFeatureFlagBits
-> Int -> IO ExternalMemoryFeatureFlagBits
Ptr ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits -> IO ()
Ptr ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> IO ()
ExternalMemoryFeatureFlagBits -> Int
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
poke :: Ptr ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> IO ()
$cpoke :: Ptr ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> IO ()
peek :: Ptr ExternalMemoryFeatureFlagBits
-> IO ExternalMemoryFeatureFlagBits
$cpeek :: Ptr ExternalMemoryFeatureFlagBits
-> IO ExternalMemoryFeatureFlagBits
pokeByteOff :: forall b. Ptr b -> Int -> ExternalMemoryFeatureFlagBits -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ExternalMemoryFeatureFlagBits -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO ExternalMemoryFeatureFlagBits
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ExternalMemoryFeatureFlagBits
pokeElemOff :: Ptr ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits -> IO ()
$cpokeElemOff :: Ptr ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits -> IO ()
peekElemOff :: Ptr ExternalMemoryFeatureFlagBits
-> Int -> IO ExternalMemoryFeatureFlagBits
$cpeekElemOff :: Ptr ExternalMemoryFeatureFlagBits
-> Int -> IO ExternalMemoryFeatureFlagBits
alignment :: ExternalMemoryFeatureFlagBits -> Int
$calignment :: ExternalMemoryFeatureFlagBits -> Int
sizeOf :: ExternalMemoryFeatureFlagBits -> Int
$csizeOf :: ExternalMemoryFeatureFlagBits -> Int
Storable, ExternalMemoryFeatureFlagBits
forall a. a -> Zero a
zero :: ExternalMemoryFeatureFlagBits
$czero :: ExternalMemoryFeatureFlagBits
Zero, Eq ExternalMemoryFeatureFlagBits
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
popCount :: ExternalMemoryFeatureFlagBits -> Int
$cpopCount :: ExternalMemoryFeatureFlagBits -> Int
rotateR :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$crotateR :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
rotateL :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$crotateL :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
unsafeShiftR :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$cunsafeShiftR :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
shiftR :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$cshiftR :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
unsafeShiftL :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$cunsafeShiftL :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
shiftL :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$cshiftL :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
isSigned :: ExternalMemoryFeatureFlagBits -> Bool
$cisSigned :: ExternalMemoryFeatureFlagBits -> Bool
bitSize :: ExternalMemoryFeatureFlagBits -> Int
$cbitSize :: ExternalMemoryFeatureFlagBits -> Int
bitSizeMaybe :: ExternalMemoryFeatureFlagBits -> Maybe Int
$cbitSizeMaybe :: ExternalMemoryFeatureFlagBits -> Maybe Int
testBit :: ExternalMemoryFeatureFlagBits -> Int -> Bool
$ctestBit :: ExternalMemoryFeatureFlagBits -> Int -> Bool
complementBit :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$ccomplementBit :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
clearBit :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$cclearBit :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
setBit :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$csetBit :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
bit :: Int -> ExternalMemoryFeatureFlagBits
$cbit :: Int -> ExternalMemoryFeatureFlagBits
zeroBits :: ExternalMemoryFeatureFlagBits
$czeroBits :: ExternalMemoryFeatureFlagBits
rotate :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$crotate :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
shift :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
$cshift :: ExternalMemoryFeatureFlagBits
-> Int -> ExternalMemoryFeatureFlagBits
complement :: ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
$ccomplement :: ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
xor :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
$cxor :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
.|. :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
$c.|. :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
.&. :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
$c.&. :: ExternalMemoryFeatureFlagBits
-> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits
Bits, Bits ExternalMemoryFeatureFlagBits
ExternalMemoryFeatureFlagBits -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: ExternalMemoryFeatureFlagBits -> Int
$ccountTrailingZeros :: ExternalMemoryFeatureFlagBits -> Int
countLeadingZeros :: ExternalMemoryFeatureFlagBits -> Int
$ccountLeadingZeros :: ExternalMemoryFeatureFlagBits -> Int
finiteBitSize :: ExternalMemoryFeatureFlagBits -> Int
$cfiniteBitSize :: 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 =
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" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)
instance Read ExternalMemoryFeatureFlagBits where
readPrec :: ReadPrec ExternalMemoryFeatureFlagBits
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixExternalMemoryFeatureFlagBits
[(ExternalMemoryFeatureFlagBits, String)]
showTableExternalMemoryFeatureFlagBits
String
conNameExternalMemoryFeatureFlagBits
Flags -> ExternalMemoryFeatureFlagBits
ExternalMemoryFeatureFlagBits