vulkan-3.27: src/Vulkan/Core11/Enums/ExternalSemaphoreFeatureFlagBits.hs
{-# language CPP #-}
-- No documentation found for Chapter "ExternalSemaphoreFeatureFlagBits"
module Vulkan.Core11.Enums.ExternalSemaphoreFeatureFlagBits ( ExternalSemaphoreFeatureFlags
, ExternalSemaphoreFeatureFlagBits( EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT
, EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_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 ExternalSemaphoreFeatureFlags = ExternalSemaphoreFeatureFlagBits
-- | VkExternalSemaphoreFeatureFlagBits - Bitfield describing features of an
-- external semaphore handle type
--
-- = Description
--
-- - 'EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT' specifies that handles
-- of this type /can/ be exported from Vulkan semaphore objects.
--
-- - 'EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT' specifies that handles
-- of this type /can/ be imported as Vulkan semaphore objects.
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_semaphore_capabilities VK_KHR_external_semaphore_capabilities>,
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
-- 'ExternalSemaphoreFeatureFlags'
newtype ExternalSemaphoreFeatureFlagBits = ExternalSemaphoreFeatureFlagBits Flags
deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
-- No documentation found for Nested "VkExternalSemaphoreFeatureFlagBits" "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT"
pattern EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = ExternalSemaphoreFeatureFlagBits 0x00000001
-- No documentation found for Nested "VkExternalSemaphoreFeatureFlagBits" "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT"
pattern EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = ExternalSemaphoreFeatureFlagBits 0x00000002
conNameExternalSemaphoreFeatureFlagBits :: String
conNameExternalSemaphoreFeatureFlagBits = "ExternalSemaphoreFeatureFlagBits"
enumPrefixExternalSemaphoreFeatureFlagBits :: String
enumPrefixExternalSemaphoreFeatureFlagBits = "EXTERNAL_SEMAPHORE_FEATURE_"
showTableExternalSemaphoreFeatureFlagBits :: [(ExternalSemaphoreFeatureFlagBits, String)]
showTableExternalSemaphoreFeatureFlagBits =
[
( EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT
, "EXPORTABLE_BIT"
)
,
( EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT
, "IMPORTABLE_BIT"
)
]
instance Show ExternalSemaphoreFeatureFlagBits where
showsPrec =
enumShowsPrec
enumPrefixExternalSemaphoreFeatureFlagBits
showTableExternalSemaphoreFeatureFlagBits
conNameExternalSemaphoreFeatureFlagBits
(\(ExternalSemaphoreFeatureFlagBits x) -> x)
(\x -> showString "0x" . showHex x)
instance Read ExternalSemaphoreFeatureFlagBits where
readPrec =
enumReadPrec
enumPrefixExternalSemaphoreFeatureFlagBits
showTableExternalSemaphoreFeatureFlagBits
conNameExternalSemaphoreFeatureFlagBits
ExternalSemaphoreFeatureFlagBits