{-# 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 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)
-- No documentation found for TopLevel "VK_SUBMIT_PROTECTED_BIT_KHR"
pattern $bSUBMIT_PROTECTED_BIT_KHR :: SubmitFlagBits
$mSUBMIT_PROTECTED_BIT_KHR :: forall {r}. SubmitFlagBits -> ((# #) -> r) -> ((# #) -> 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
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
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
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
forall a. a -> Zero a
zero :: SubmitFlagBits
$czero :: SubmitFlagBits
Zero, Eq SubmitFlagBits
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
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 -> ((# #) -> r) -> ((# #) -> 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 =
    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" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)

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