packages feed

vulkan-3.27: src/Vulkan/Core13/Enums/SubmitFlagBits.hs

{-# language CPP #-}
-- No documentation found for Chapter "SubmitFlagBits"
module Vulkan.Core13.Enums.SubmitFlagBits  ( 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)
type SubmitFlags = SubmitFlagBits

-- | VkSubmitFlagBits - Bitmask specifying behavior of a submission
--
-- = Description
--
-- -   'SUBMIT_PROTECTED_BIT' specifies that this batch is a protected
--     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 (Eq, Ord, Storable, Zero, Bits, FiniteBits)

-- No documentation found for Nested "VkSubmitFlagBits" "VK_SUBMIT_PROTECTED_BIT"
pattern SUBMIT_PROTECTED_BIT = SubmitFlagBits 0x00000001

conNameSubmitFlagBits :: String
conNameSubmitFlagBits = "SubmitFlagBits"

enumPrefixSubmitFlagBits :: String
enumPrefixSubmitFlagBits = "SUBMIT_PROTECTED_BIT"

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

instance Show SubmitFlagBits where
  showsPrec =
    enumShowsPrec
      enumPrefixSubmitFlagBits
      showTableSubmitFlagBits
      conNameSubmitFlagBits
      (\(SubmitFlagBits x) -> x)
      (\x -> showString "0x" . showHex x)

instance Read SubmitFlagBits where
  readPrec =
    enumReadPrec
      enumPrefixSubmitFlagBits
      showTableSubmitFlagBits
      conNameSubmitFlagBits
      SubmitFlagBits