{-# language CPP #-}
module Vulkan.Core10.Enums.ImageUsageFlagBits ( ImageUsageFlags
, ImageUsageFlagBits( IMAGE_USAGE_TRANSFER_SRC_BIT
, IMAGE_USAGE_TRANSFER_DST_BIT
, IMAGE_USAGE_SAMPLED_BIT
, IMAGE_USAGE_STORAGE_BIT
, IMAGE_USAGE_COLOR_ATTACHMENT_BIT
, IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
, IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
, IMAGE_USAGE_INPUT_ATTACHMENT_BIT
, IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM
, IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM
, IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI
, IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
, IMAGE_USAGE_HOST_TRANSFER_BIT_EXT
, IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
, IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT
, ..
)
) 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 ImageUsageFlags = ImageUsageFlagBits
newtype ImageUsageFlagBits = ImageUsageFlagBits Flags
deriving newtype (ImageUsageFlagBits -> ImageUsageFlagBits -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImageUsageFlagBits -> ImageUsageFlagBits -> Bool
$c/= :: ImageUsageFlagBits -> ImageUsageFlagBits -> Bool
== :: ImageUsageFlagBits -> ImageUsageFlagBits -> Bool
$c== :: ImageUsageFlagBits -> ImageUsageFlagBits -> Bool
Eq, Eq ImageUsageFlagBits
ImageUsageFlagBits -> ImageUsageFlagBits -> Bool
ImageUsageFlagBits -> ImageUsageFlagBits -> Ordering
ImageUsageFlagBits -> ImageUsageFlagBits -> ImageUsageFlagBits
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 :: ImageUsageFlagBits -> ImageUsageFlagBits -> ImageUsageFlagBits
$cmin :: ImageUsageFlagBits -> ImageUsageFlagBits -> ImageUsageFlagBits
max :: ImageUsageFlagBits -> ImageUsageFlagBits -> ImageUsageFlagBits
$cmax :: ImageUsageFlagBits -> ImageUsageFlagBits -> ImageUsageFlagBits
>= :: ImageUsageFlagBits -> ImageUsageFlagBits -> Bool
$c>= :: ImageUsageFlagBits -> ImageUsageFlagBits -> Bool
> :: ImageUsageFlagBits -> ImageUsageFlagBits -> Bool
$c> :: ImageUsageFlagBits -> ImageUsageFlagBits -> Bool
<= :: ImageUsageFlagBits -> ImageUsageFlagBits -> Bool
$c<= :: ImageUsageFlagBits -> ImageUsageFlagBits -> Bool
< :: ImageUsageFlagBits -> ImageUsageFlagBits -> Bool
$c< :: ImageUsageFlagBits -> ImageUsageFlagBits -> Bool
compare :: ImageUsageFlagBits -> ImageUsageFlagBits -> Ordering
$ccompare :: ImageUsageFlagBits -> ImageUsageFlagBits -> Ordering
Ord, Ptr ImageUsageFlagBits -> IO ImageUsageFlagBits
Ptr ImageUsageFlagBits -> Int -> IO ImageUsageFlagBits
Ptr ImageUsageFlagBits -> Int -> ImageUsageFlagBits -> IO ()
Ptr ImageUsageFlagBits -> ImageUsageFlagBits -> IO ()
ImageUsageFlagBits -> Int
forall b. Ptr b -> Int -> IO ImageUsageFlagBits
forall b. Ptr b -> Int -> ImageUsageFlagBits -> 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 ImageUsageFlagBits -> ImageUsageFlagBits -> IO ()
$cpoke :: Ptr ImageUsageFlagBits -> ImageUsageFlagBits -> IO ()
peek :: Ptr ImageUsageFlagBits -> IO ImageUsageFlagBits
$cpeek :: Ptr ImageUsageFlagBits -> IO ImageUsageFlagBits
pokeByteOff :: forall b. Ptr b -> Int -> ImageUsageFlagBits -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ImageUsageFlagBits -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO ImageUsageFlagBits
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ImageUsageFlagBits
pokeElemOff :: Ptr ImageUsageFlagBits -> Int -> ImageUsageFlagBits -> IO ()
$cpokeElemOff :: Ptr ImageUsageFlagBits -> Int -> ImageUsageFlagBits -> IO ()
peekElemOff :: Ptr ImageUsageFlagBits -> Int -> IO ImageUsageFlagBits
$cpeekElemOff :: Ptr ImageUsageFlagBits -> Int -> IO ImageUsageFlagBits
alignment :: ImageUsageFlagBits -> Int
$calignment :: ImageUsageFlagBits -> Int
sizeOf :: ImageUsageFlagBits -> Int
$csizeOf :: ImageUsageFlagBits -> Int
Storable, ImageUsageFlagBits
forall a. a -> Zero a
zero :: ImageUsageFlagBits
$czero :: ImageUsageFlagBits
Zero, Eq ImageUsageFlagBits
ImageUsageFlagBits
Int -> ImageUsageFlagBits
ImageUsageFlagBits -> Bool
ImageUsageFlagBits -> Int
ImageUsageFlagBits -> Maybe Int
ImageUsageFlagBits -> ImageUsageFlagBits
ImageUsageFlagBits -> Int -> Bool
ImageUsageFlagBits -> Int -> ImageUsageFlagBits
ImageUsageFlagBits -> ImageUsageFlagBits -> ImageUsageFlagBits
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 :: ImageUsageFlagBits -> Int
$cpopCount :: ImageUsageFlagBits -> Int
rotateR :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
$crotateR :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
rotateL :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
$crotateL :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
unsafeShiftR :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
$cunsafeShiftR :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
shiftR :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
$cshiftR :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
unsafeShiftL :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
$cunsafeShiftL :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
shiftL :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
$cshiftL :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
isSigned :: ImageUsageFlagBits -> Bool
$cisSigned :: ImageUsageFlagBits -> Bool
bitSize :: ImageUsageFlagBits -> Int
$cbitSize :: ImageUsageFlagBits -> Int
bitSizeMaybe :: ImageUsageFlagBits -> Maybe Int
$cbitSizeMaybe :: ImageUsageFlagBits -> Maybe Int
testBit :: ImageUsageFlagBits -> Int -> Bool
$ctestBit :: ImageUsageFlagBits -> Int -> Bool
complementBit :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
$ccomplementBit :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
clearBit :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
$cclearBit :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
setBit :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
$csetBit :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
bit :: Int -> ImageUsageFlagBits
$cbit :: Int -> ImageUsageFlagBits
zeroBits :: ImageUsageFlagBits
$czeroBits :: ImageUsageFlagBits
rotate :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
$crotate :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
shift :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
$cshift :: ImageUsageFlagBits -> Int -> ImageUsageFlagBits
complement :: ImageUsageFlagBits -> ImageUsageFlagBits
$ccomplement :: ImageUsageFlagBits -> ImageUsageFlagBits
xor :: ImageUsageFlagBits -> ImageUsageFlagBits -> ImageUsageFlagBits
$cxor :: ImageUsageFlagBits -> ImageUsageFlagBits -> ImageUsageFlagBits
.|. :: ImageUsageFlagBits -> ImageUsageFlagBits -> ImageUsageFlagBits
$c.|. :: ImageUsageFlagBits -> ImageUsageFlagBits -> ImageUsageFlagBits
.&. :: ImageUsageFlagBits -> ImageUsageFlagBits -> ImageUsageFlagBits
$c.&. :: ImageUsageFlagBits -> ImageUsageFlagBits -> ImageUsageFlagBits
Bits, Bits ImageUsageFlagBits
ImageUsageFlagBits -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: ImageUsageFlagBits -> Int
$ccountTrailingZeros :: ImageUsageFlagBits -> Int
countLeadingZeros :: ImageUsageFlagBits -> Int
$ccountLeadingZeros :: ImageUsageFlagBits -> Int
finiteBitSize :: ImageUsageFlagBits -> Int
$cfiniteBitSize :: ImageUsageFlagBits -> Int
FiniteBits)
pattern $bIMAGE_USAGE_TRANSFER_SRC_BIT :: ImageUsageFlagBits
$mIMAGE_USAGE_TRANSFER_SRC_BIT :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_TRANSFER_SRC_BIT = ImageUsageFlagBits 0x00000001
pattern $bIMAGE_USAGE_TRANSFER_DST_BIT :: ImageUsageFlagBits
$mIMAGE_USAGE_TRANSFER_DST_BIT :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_TRANSFER_DST_BIT = ImageUsageFlagBits 0x00000002
pattern $bIMAGE_USAGE_SAMPLED_BIT :: ImageUsageFlagBits
$mIMAGE_USAGE_SAMPLED_BIT :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_SAMPLED_BIT = ImageUsageFlagBits 0x00000004
pattern $bIMAGE_USAGE_STORAGE_BIT :: ImageUsageFlagBits
$mIMAGE_USAGE_STORAGE_BIT :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_STORAGE_BIT = ImageUsageFlagBits 0x00000008
pattern $bIMAGE_USAGE_COLOR_ATTACHMENT_BIT :: ImageUsageFlagBits
$mIMAGE_USAGE_COLOR_ATTACHMENT_BIT :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_COLOR_ATTACHMENT_BIT = ImageUsageFlagBits 0x00000010
pattern $bIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: ImageUsageFlagBits
$mIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = ImageUsageFlagBits 0x00000020
pattern $bIMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: ImageUsageFlagBits
$mIMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = ImageUsageFlagBits 0x00000040
pattern $bIMAGE_USAGE_INPUT_ATTACHMENT_BIT :: ImageUsageFlagBits
$mIMAGE_USAGE_INPUT_ATTACHMENT_BIT :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_INPUT_ATTACHMENT_BIT = ImageUsageFlagBits 0x00000080
pattern $bIMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM :: ImageUsageFlagBits
$mIMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = ImageUsageFlagBits 0x00200000
pattern $bIMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM :: ImageUsageFlagBits
$mIMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = ImageUsageFlagBits 0x00100000
pattern $bIMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI :: ImageUsageFlagBits
$mIMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = ImageUsageFlagBits 0x00040000
pattern $bIMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT :: ImageUsageFlagBits
$mIMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = ImageUsageFlagBits 0x00080000
pattern $bIMAGE_USAGE_HOST_TRANSFER_BIT_EXT :: ImageUsageFlagBits
$mIMAGE_USAGE_HOST_TRANSFER_BIT_EXT :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_HOST_TRANSFER_BIT_EXT = ImageUsageFlagBits 0x00400000
pattern $bIMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: ImageUsageFlagBits
$mIMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = ImageUsageFlagBits 0x00000100
pattern $bIMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT :: ImageUsageFlagBits
$mIMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = ImageUsageFlagBits 0x00000200
conNameImageUsageFlagBits :: String
conNameImageUsageFlagBits :: String
conNameImageUsageFlagBits = String
"ImageUsageFlagBits"
enumPrefixImageUsageFlagBits :: String
enumPrefixImageUsageFlagBits :: String
enumPrefixImageUsageFlagBits = String
"IMAGE_USAGE_"
showTableImageUsageFlagBits :: [(ImageUsageFlagBits, String)]
showTableImageUsageFlagBits :: [(ImageUsageFlagBits, String)]
showTableImageUsageFlagBits =
[
( ImageUsageFlagBits
IMAGE_USAGE_TRANSFER_SRC_BIT
, String
"TRANSFER_SRC_BIT"
)
,
( ImageUsageFlagBits
IMAGE_USAGE_TRANSFER_DST_BIT
, String
"TRANSFER_DST_BIT"
)
, (ImageUsageFlagBits
IMAGE_USAGE_SAMPLED_BIT, String
"SAMPLED_BIT")
, (ImageUsageFlagBits
IMAGE_USAGE_STORAGE_BIT, String
"STORAGE_BIT")
,
( ImageUsageFlagBits
IMAGE_USAGE_COLOR_ATTACHMENT_BIT
, String
"COLOR_ATTACHMENT_BIT"
)
,
( ImageUsageFlagBits
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
, String
"DEPTH_STENCIL_ATTACHMENT_BIT"
)
,
( ImageUsageFlagBits
IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
, String
"TRANSIENT_ATTACHMENT_BIT"
)
,
( ImageUsageFlagBits
IMAGE_USAGE_INPUT_ATTACHMENT_BIT
, String
"INPUT_ATTACHMENT_BIT"
)
,
( ImageUsageFlagBits
IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM
, String
"SAMPLE_BLOCK_MATCH_BIT_QCOM"
)
,
( ImageUsageFlagBits
IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM
, String
"SAMPLE_WEIGHT_BIT_QCOM"
)
,
( ImageUsageFlagBits
IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI
, String
"INVOCATION_MASK_BIT_HUAWEI"
)
,
( ImageUsageFlagBits
IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
, String
"ATTACHMENT_FEEDBACK_LOOP_BIT_EXT"
)
,
( ImageUsageFlagBits
IMAGE_USAGE_HOST_TRANSFER_BIT_EXT
, String
"HOST_TRANSFER_BIT_EXT"
)
,
( ImageUsageFlagBits
IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
, String
"FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"
)
,
( ImageUsageFlagBits
IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT
, String
"FRAGMENT_DENSITY_MAP_BIT_EXT"
)
]
instance Show ImageUsageFlagBits where
showsPrec :: Int -> ImageUsageFlagBits -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixImageUsageFlagBits
[(ImageUsageFlagBits, String)]
showTableImageUsageFlagBits
String
conNameImageUsageFlagBits
(\(ImageUsageFlagBits 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 ImageUsageFlagBits where
readPrec :: ReadPrec ImageUsageFlagBits
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixImageUsageFlagBits
[(ImageUsageFlagBits, String)]
showTableImageUsageFlagBits
String
conNameImageUsageFlagBits
Flags -> ImageUsageFlagBits
ImageUsageFlagBits