{-# language CPP #-}
-- No documentation found for Chapter "SubmitFlagBits"
module Vulkan.Core13.Enums.SubmitFlagBits  ( pattern SUBMIT_PROTECTED_BIT_KHR
                                           , SubmitFlags
                                           , SubmitFlagBits( SUBMIT_PROTECTED_BIT
                                                           , ..
                                                           )
                                           ) 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)
-- No documentation found for TopLevel "VK_SUBMIT_PROTECTED_BIT_KHR"
pattern $bSUBMIT_PROTECTED_BIT_KHR :: SubmitFlagBits
$mSUBMIT_PROTECTED_BIT_KHR :: forall {r}. SubmitFlagBits -> (Void# -> r) -> (Void# -> r) -> r
SUBMIT_PROTECTED_BIT_KHR = SUBMIT_PROTECTED_BIT


type SubmitFlags = SubmitFlagBits

-- | VkSubmitFlagBits - Bitmask specifying behavior of a submission
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_3 VK_VERSION_1_3>,
-- 'SubmitFlags'
newtype SubmitFlagBits = SubmitFlagBits Flags
  deriving newtype (SubmitFlagBits -> SubmitFlagBits -> Bool
(SubmitFlagBits -> SubmitFlagBits -> Bool)
-> (SubmitFlagBits -> SubmitFlagBits -> Bool) -> Eq SubmitFlagBits
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubmitFlagBits -> SubmitFlagBits -> Bool
$c/= :: SubmitFlagBits -> SubmitFlagBits -> Bool
== :: SubmitFlagBits -> SubmitFlagBits -> Bool
$c== :: SubmitFlagBits -> SubmitFlagBits -> Bool
Eq, Eq SubmitFlagBits
Eq SubmitFlagBits
-> (SubmitFlagBits -> SubmitFlagBits -> Ordering)
-> (SubmitFlagBits -> SubmitFlagBits -> Bool)
-> (SubmitFlagBits -> SubmitFlagBits -> Bool)
-> (SubmitFlagBits -> SubmitFlagBits -> Bool)
-> (SubmitFlagBits -> SubmitFlagBits -> Bool)
-> (SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits)
-> (SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits)
-> Ord SubmitFlagBits
SubmitFlagBits -> SubmitFlagBits -> Bool
SubmitFlagBits -> SubmitFlagBits -> Ordering
SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits
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 :: SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits
$cmin :: SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits
max :: SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits
$cmax :: SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits
>= :: SubmitFlagBits -> SubmitFlagBits -> Bool
$c>= :: SubmitFlagBits -> SubmitFlagBits -> Bool
> :: SubmitFlagBits -> SubmitFlagBits -> Bool
$c> :: SubmitFlagBits -> SubmitFlagBits -> Bool
<= :: SubmitFlagBits -> SubmitFlagBits -> Bool
$c<= :: SubmitFlagBits -> SubmitFlagBits -> Bool
< :: SubmitFlagBits -> SubmitFlagBits -> Bool
$c< :: SubmitFlagBits -> SubmitFlagBits -> Bool
compare :: SubmitFlagBits -> SubmitFlagBits -> Ordering
$ccompare :: SubmitFlagBits -> SubmitFlagBits -> Ordering
Ord, Ptr SubmitFlagBits -> IO SubmitFlagBits
Ptr SubmitFlagBits -> Int -> IO SubmitFlagBits
Ptr SubmitFlagBits -> Int -> SubmitFlagBits -> IO ()
Ptr SubmitFlagBits -> SubmitFlagBits -> IO ()
SubmitFlagBits -> Int
(SubmitFlagBits -> Int)
-> (SubmitFlagBits -> Int)
-> (Ptr SubmitFlagBits -> Int -> IO SubmitFlagBits)
-> (Ptr SubmitFlagBits -> Int -> SubmitFlagBits -> IO ())
-> (forall b. Ptr b -> Int -> IO SubmitFlagBits)
-> (forall b. Ptr b -> Int -> SubmitFlagBits -> IO ())
-> (Ptr SubmitFlagBits -> IO SubmitFlagBits)
-> (Ptr SubmitFlagBits -> SubmitFlagBits -> IO ())
-> Storable SubmitFlagBits
forall b. Ptr b -> Int -> IO SubmitFlagBits
forall b. Ptr b -> Int -> SubmitFlagBits -> 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 SubmitFlagBits -> SubmitFlagBits -> IO ()
$cpoke :: Ptr SubmitFlagBits -> SubmitFlagBits -> IO ()
peek :: Ptr SubmitFlagBits -> IO SubmitFlagBits
$cpeek :: Ptr SubmitFlagBits -> IO SubmitFlagBits
pokeByteOff :: forall b. Ptr b -> Int -> SubmitFlagBits -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> SubmitFlagBits -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO SubmitFlagBits
$cpeekByteOff :: forall b. Ptr b -> Int -> IO SubmitFlagBits
pokeElemOff :: Ptr SubmitFlagBits -> Int -> SubmitFlagBits -> IO ()
$cpokeElemOff :: Ptr SubmitFlagBits -> Int -> SubmitFlagBits -> IO ()
peekElemOff :: Ptr SubmitFlagBits -> Int -> IO SubmitFlagBits
$cpeekElemOff :: Ptr SubmitFlagBits -> Int -> IO SubmitFlagBits
alignment :: SubmitFlagBits -> Int
$calignment :: SubmitFlagBits -> Int
sizeOf :: SubmitFlagBits -> Int
$csizeOf :: SubmitFlagBits -> Int
Storable, SubmitFlagBits
SubmitFlagBits -> Zero SubmitFlagBits
forall a. a -> Zero a
zero :: SubmitFlagBits
$czero :: SubmitFlagBits
Zero, Eq SubmitFlagBits
SubmitFlagBits
Eq SubmitFlagBits
-> (SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits)
-> (SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits)
-> (SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits)
-> (SubmitFlagBits -> SubmitFlagBits)
-> (SubmitFlagBits -> Int -> SubmitFlagBits)
-> (SubmitFlagBits -> Int -> SubmitFlagBits)
-> SubmitFlagBits
-> (Int -> SubmitFlagBits)
-> (SubmitFlagBits -> Int -> SubmitFlagBits)
-> (SubmitFlagBits -> Int -> SubmitFlagBits)
-> (SubmitFlagBits -> Int -> SubmitFlagBits)
-> (SubmitFlagBits -> Int -> Bool)
-> (SubmitFlagBits -> Maybe Int)
-> (SubmitFlagBits -> Int)
-> (SubmitFlagBits -> Bool)
-> (SubmitFlagBits -> Int -> SubmitFlagBits)
-> (SubmitFlagBits -> Int -> SubmitFlagBits)
-> (SubmitFlagBits -> Int -> SubmitFlagBits)
-> (SubmitFlagBits -> Int -> SubmitFlagBits)
-> (SubmitFlagBits -> Int -> SubmitFlagBits)
-> (SubmitFlagBits -> Int -> SubmitFlagBits)
-> (SubmitFlagBits -> Int)
-> Bits SubmitFlagBits
Int -> SubmitFlagBits
SubmitFlagBits -> Bool
SubmitFlagBits -> Int
SubmitFlagBits -> Maybe Int
SubmitFlagBits -> SubmitFlagBits
SubmitFlagBits -> Int -> Bool
SubmitFlagBits -> Int -> SubmitFlagBits
SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits
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 :: SubmitFlagBits -> Int
$cpopCount :: SubmitFlagBits -> Int
rotateR :: SubmitFlagBits -> Int -> SubmitFlagBits
$crotateR :: SubmitFlagBits -> Int -> SubmitFlagBits
rotateL :: SubmitFlagBits -> Int -> SubmitFlagBits
$crotateL :: SubmitFlagBits -> Int -> SubmitFlagBits
unsafeShiftR :: SubmitFlagBits -> Int -> SubmitFlagBits
$cunsafeShiftR :: SubmitFlagBits -> Int -> SubmitFlagBits
shiftR :: SubmitFlagBits -> Int -> SubmitFlagBits
$cshiftR :: SubmitFlagBits -> Int -> SubmitFlagBits
unsafeShiftL :: SubmitFlagBits -> Int -> SubmitFlagBits
$cunsafeShiftL :: SubmitFlagBits -> Int -> SubmitFlagBits
shiftL :: SubmitFlagBits -> Int -> SubmitFlagBits
$cshiftL :: SubmitFlagBits -> Int -> SubmitFlagBits
isSigned :: SubmitFlagBits -> Bool
$cisSigned :: SubmitFlagBits -> Bool
bitSize :: SubmitFlagBits -> Int
$cbitSize :: SubmitFlagBits -> Int
bitSizeMaybe :: SubmitFlagBits -> Maybe Int
$cbitSizeMaybe :: SubmitFlagBits -> Maybe Int
testBit :: SubmitFlagBits -> Int -> Bool
$ctestBit :: SubmitFlagBits -> Int -> Bool
complementBit :: SubmitFlagBits -> Int -> SubmitFlagBits
$ccomplementBit :: SubmitFlagBits -> Int -> SubmitFlagBits
clearBit :: SubmitFlagBits -> Int -> SubmitFlagBits
$cclearBit :: SubmitFlagBits -> Int -> SubmitFlagBits
setBit :: SubmitFlagBits -> Int -> SubmitFlagBits
$csetBit :: SubmitFlagBits -> Int -> SubmitFlagBits
bit :: Int -> SubmitFlagBits
$cbit :: Int -> SubmitFlagBits
zeroBits :: SubmitFlagBits
$czeroBits :: SubmitFlagBits
rotate :: SubmitFlagBits -> Int -> SubmitFlagBits
$crotate :: SubmitFlagBits -> Int -> SubmitFlagBits
shift :: SubmitFlagBits -> Int -> SubmitFlagBits
$cshift :: SubmitFlagBits -> Int -> SubmitFlagBits
complement :: SubmitFlagBits -> SubmitFlagBits
$ccomplement :: SubmitFlagBits -> SubmitFlagBits
xor :: SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits
$cxor :: SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits
.|. :: SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits
$c.|. :: SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits
.&. :: SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits
$c.&. :: SubmitFlagBits -> SubmitFlagBits -> SubmitFlagBits
Bits, Bits SubmitFlagBits
Bits SubmitFlagBits
-> (SubmitFlagBits -> Int)
-> (SubmitFlagBits -> Int)
-> (SubmitFlagBits -> Int)
-> FiniteBits SubmitFlagBits
SubmitFlagBits -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: SubmitFlagBits -> Int
$ccountTrailingZeros :: SubmitFlagBits -> Int
countLeadingZeros :: SubmitFlagBits -> Int
$ccountLeadingZeros :: SubmitFlagBits -> Int
finiteBitSize :: SubmitFlagBits -> Int
$cfiniteBitSize :: SubmitFlagBits -> Int
FiniteBits)

-- | 'SUBMIT_PROTECTED_BIT' specifies that this batch is a protected
-- submission.
pattern $bSUBMIT_PROTECTED_BIT :: SubmitFlagBits
$mSUBMIT_PROTECTED_BIT :: forall {r}. SubmitFlagBits -> (Void# -> r) -> (Void# -> r) -> r
SUBMIT_PROTECTED_BIT = SubmitFlagBits 0x00000001

conNameSubmitFlagBits :: String
conNameSubmitFlagBits :: String
conNameSubmitFlagBits = String
"SubmitFlagBits"

enumPrefixSubmitFlagBits :: String
enumPrefixSubmitFlagBits :: String
enumPrefixSubmitFlagBits = String
"SUBMIT_PROTECTED_BIT"

showTableSubmitFlagBits :: [(SubmitFlagBits, String)]
showTableSubmitFlagBits :: [(SubmitFlagBits, String)]
showTableSubmitFlagBits = [(SubmitFlagBits
SUBMIT_PROTECTED_BIT, String
"")]

instance Show SubmitFlagBits where
  showsPrec :: Int -> SubmitFlagBits -> ShowS
showsPrec =
    String
-> [(SubmitFlagBits, String)]
-> String
-> (SubmitFlagBits -> Flags)
-> (Flags -> ShowS)
-> Int
-> SubmitFlagBits
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
      String
enumPrefixSubmitFlagBits
      [(SubmitFlagBits, String)]
showTableSubmitFlagBits
      String
conNameSubmitFlagBits
      (\(SubmitFlagBits 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, Show a) => a -> ShowS
showHex Flags
x)

instance Read SubmitFlagBits where
  readPrec :: ReadPrec SubmitFlagBits
readPrec =
    String
-> [(SubmitFlagBits, String)]
-> String
-> (Flags -> SubmitFlagBits)
-> ReadPrec SubmitFlagBits
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
      String
enumPrefixSubmitFlagBits
      [(SubmitFlagBits, String)]
showTableSubmitFlagBits
      String
conNameSubmitFlagBits
      Flags -> SubmitFlagBits
SubmitFlagBits