vulkan-3.26.1: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits

Synopsis

Documentation

newtype ExternalMemoryFeatureFlagBits Source #

VkExternalMemoryFeatureFlagBits - Bitmask specifying features of an external memory handle type

Description

Because their semantics in external APIs roughly align with that of an image or buffer with a dedicated allocation in Vulkan, implementations are required to report EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT for the following external handle types:

Implementations must not report EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT for buffers with external handle type EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID. Implementations must not report EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT for buffers with external handle type EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX. Implementations must not report EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT for images or buffers with external handle type EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT, or EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT.

See Also

VK_VERSION_1_1, ExternalMemoryFeatureFlags

Bundled Patterns

pattern EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: ExternalMemoryFeatureFlagBits

EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT specifies that images or buffers created with the specified parameters and handle type must use the mechanisms defined by MemoryDedicatedRequirements and MemoryDedicatedAllocateInfo to create (or import) a dedicated allocation for the image or buffer.

pattern EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: ExternalMemoryFeatureFlagBits

EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT specifies that handles of this type can be exported from Vulkan memory objects.

pattern EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: ExternalMemoryFeatureFlagBits

EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT specifies that handles of this type can be imported as Vulkan memory objects.

Instances

Instances details
Storable ExternalMemoryFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits

Bits ExternalMemoryFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits

Methods

(.&.) :: ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits #

(.|.) :: ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits #

xor :: ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits #

complement :: ExternalMemoryFeatureFlagBits -> ExternalMemoryFeatureFlagBits #

shift :: ExternalMemoryFeatureFlagBits -> Int -> ExternalMemoryFeatureFlagBits #

rotate :: ExternalMemoryFeatureFlagBits -> Int -> ExternalMemoryFeatureFlagBits #

zeroBits :: ExternalMemoryFeatureFlagBits #

bit :: Int -> ExternalMemoryFeatureFlagBits #

setBit :: ExternalMemoryFeatureFlagBits -> Int -> ExternalMemoryFeatureFlagBits #

clearBit :: ExternalMemoryFeatureFlagBits -> Int -> ExternalMemoryFeatureFlagBits #

complementBit :: ExternalMemoryFeatureFlagBits -> Int -> ExternalMemoryFeatureFlagBits #

testBit :: ExternalMemoryFeatureFlagBits -> Int -> Bool #

bitSizeMaybe :: ExternalMemoryFeatureFlagBits -> Maybe Int #

bitSize :: ExternalMemoryFeatureFlagBits -> Int #

isSigned :: ExternalMemoryFeatureFlagBits -> Bool #

shiftL :: ExternalMemoryFeatureFlagBits -> Int -> ExternalMemoryFeatureFlagBits #

unsafeShiftL :: ExternalMemoryFeatureFlagBits -> Int -> ExternalMemoryFeatureFlagBits #

shiftR :: ExternalMemoryFeatureFlagBits -> Int -> ExternalMemoryFeatureFlagBits #

unsafeShiftR :: ExternalMemoryFeatureFlagBits -> Int -> ExternalMemoryFeatureFlagBits #

rotateL :: ExternalMemoryFeatureFlagBits -> Int -> ExternalMemoryFeatureFlagBits #

rotateR :: ExternalMemoryFeatureFlagBits -> Int -> ExternalMemoryFeatureFlagBits #

popCount :: ExternalMemoryFeatureFlagBits -> Int #

FiniteBits ExternalMemoryFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits

Read ExternalMemoryFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits

Show ExternalMemoryFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits

Eq ExternalMemoryFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits

Ord ExternalMemoryFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits

Zero ExternalMemoryFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits