packages feed

vulkan-3.27: src/Vulkan/Core10/Enums/SparseMemoryBindFlagBits.hs

{-# language CPP #-}
-- No documentation found for Chapter "SparseMemoryBindFlagBits"
module Vulkan.Core10.Enums.SparseMemoryBindFlagBits  ( SparseMemoryBindFlags
                                                     , SparseMemoryBindFlagBits( SPARSE_MEMORY_BIND_METADATA_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 SparseMemoryBindFlags = SparseMemoryBindFlagBits

-- | VkSparseMemoryBindFlagBits - Bitmask specifying usage of a sparse memory
-- binding operation
--
-- = Description
--
-- -   'SPARSE_MEMORY_BIND_METADATA_BIT' specifies that the memory being
--     bound is only for the metadata aspect.
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
-- 'SparseMemoryBindFlags'
newtype SparseMemoryBindFlagBits = SparseMemoryBindFlagBits Flags
  deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)

-- No documentation found for Nested "VkSparseMemoryBindFlagBits" "VK_SPARSE_MEMORY_BIND_METADATA_BIT"
pattern SPARSE_MEMORY_BIND_METADATA_BIT = SparseMemoryBindFlagBits 0x00000001

conNameSparseMemoryBindFlagBits :: String
conNameSparseMemoryBindFlagBits = "SparseMemoryBindFlagBits"

enumPrefixSparseMemoryBindFlagBits :: String
enumPrefixSparseMemoryBindFlagBits = "SPARSE_MEMORY_BIND_METADATA_BIT"

showTableSparseMemoryBindFlagBits :: [(SparseMemoryBindFlagBits, String)]
showTableSparseMemoryBindFlagBits = [(SPARSE_MEMORY_BIND_METADATA_BIT, "")]

instance Show SparseMemoryBindFlagBits where
  showsPrec =
    enumShowsPrec
      enumPrefixSparseMemoryBindFlagBits
      showTableSparseMemoryBindFlagBits
      conNameSparseMemoryBindFlagBits
      (\(SparseMemoryBindFlagBits x) -> x)
      (\x -> showString "0x" . showHex x)

instance Read SparseMemoryBindFlagBits where
  readPrec =
    enumReadPrec
      enumPrefixSparseMemoryBindFlagBits
      showTableSparseMemoryBindFlagBits
      conNameSparseMemoryBindFlagBits
      SparseMemoryBindFlagBits