vulkan-2.0.0.1: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Extensions.VK_NV_external_memory_capabilities

Synopsis

Documentation

newtype VkExternalMemoryHandleTypeFlagBitsNV Source #

VkExternalMemoryHandleTypeFlagBitsNV - Bitmask specifying external memory handle types

See Also

VkExternalMemoryHandleTypeFlagsNV

Instances
Eq VkExternalMemoryHandleTypeFlagBitsNV Source # 
Instance details
Ord VkExternalMemoryHandleTypeFlagBitsNV Source # 
Instance details
Read VkExternalMemoryHandleTypeFlagBitsNV Source # 
Instance details
Show VkExternalMemoryHandleTypeFlagBitsNV Source # 
Instance details
Storable VkExternalMemoryHandleTypeFlagBitsNV Source # 
Instance details
Bits VkExternalMemoryHandleTypeFlagBitsNV Source # 
Instance details

Methods

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

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

xor :: VkExternalMemoryHandleTypeFlagBitsNV -> VkExternalMemoryHandleTypeFlagBitsNV -> VkExternalMemoryHandleTypeFlagBitsNV #

complement :: VkExternalMemoryHandleTypeFlagBitsNV -> VkExternalMemoryHandleTypeFlagBitsNV #

shift :: VkExternalMemoryHandleTypeFlagBitsNV -> Int -> VkExternalMemoryHandleTypeFlagBitsNV #

rotate :: VkExternalMemoryHandleTypeFlagBitsNV -> Int -> VkExternalMemoryHandleTypeFlagBitsNV #

zeroBits :: VkExternalMemoryHandleTypeFlagBitsNV #

bit :: Int -> VkExternalMemoryHandleTypeFlagBitsNV #

setBit :: VkExternalMemoryHandleTypeFlagBitsNV -> Int -> VkExternalMemoryHandleTypeFlagBitsNV #

clearBit :: VkExternalMemoryHandleTypeFlagBitsNV -> Int -> VkExternalMemoryHandleTypeFlagBitsNV #

complementBit :: VkExternalMemoryHandleTypeFlagBitsNV -> Int -> VkExternalMemoryHandleTypeFlagBitsNV #

testBit :: VkExternalMemoryHandleTypeFlagBitsNV -> Int -> Bool #

bitSizeMaybe :: VkExternalMemoryHandleTypeFlagBitsNV -> Maybe Int #

bitSize :: VkExternalMemoryHandleTypeFlagBitsNV -> Int #

isSigned :: VkExternalMemoryHandleTypeFlagBitsNV -> Bool #

shiftL :: VkExternalMemoryHandleTypeFlagBitsNV -> Int -> VkExternalMemoryHandleTypeFlagBitsNV #

unsafeShiftL :: VkExternalMemoryHandleTypeFlagBitsNV -> Int -> VkExternalMemoryHandleTypeFlagBitsNV #

shiftR :: VkExternalMemoryHandleTypeFlagBitsNV -> Int -> VkExternalMemoryHandleTypeFlagBitsNV #

unsafeShiftR :: VkExternalMemoryHandleTypeFlagBitsNV -> Int -> VkExternalMemoryHandleTypeFlagBitsNV #

rotateL :: VkExternalMemoryHandleTypeFlagBitsNV -> Int -> VkExternalMemoryHandleTypeFlagBitsNV #

rotateR :: VkExternalMemoryHandleTypeFlagBitsNV -> Int -> VkExternalMemoryHandleTypeFlagBitsNV #

popCount :: VkExternalMemoryHandleTypeFlagBitsNV -> Int #

FiniteBits VkExternalMemoryHandleTypeFlagBitsNV Source # 
Instance details

pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: VkExternalMemoryHandleTypeFlagBitsNV Source #

VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV specifies a handle to memory returned by vkGetMemoryWin32HandleNV, or one duplicated from such a handle using DuplicateHandle().

pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: VkExternalMemoryHandleTypeFlagBitsNV Source #

VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV specifies a handle to memory returned by vkGetMemoryWin32HandleNV.

pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: VkExternalMemoryHandleTypeFlagBitsNV Source #

VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV specifies a valid NT handle to memory returned by IDXGIResource1::CreateSharedHandle(), or a handle duplicated from such a handle using DuplicateHandle().

pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: VkExternalMemoryHandleTypeFlagBitsNV Source #

VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV specifies a handle to memory returned by IDXGIResource::GetSharedHandle().

newtype VkExternalMemoryFeatureFlagBitsNV Source #

VkExternalMemoryFeatureFlagBitsNV - Bitmask specifying external memory features

See Also

VkExternalImageFormatPropertiesNV, VkExternalMemoryFeatureFlagsNV, vkGetPhysicalDeviceExternalImageFormatPropertiesNV

Instances
Eq VkExternalMemoryFeatureFlagBitsNV Source # 
Instance details
Ord VkExternalMemoryFeatureFlagBitsNV Source # 
Instance details
Read VkExternalMemoryFeatureFlagBitsNV Source # 
Instance details
Show VkExternalMemoryFeatureFlagBitsNV Source # 
Instance details
Storable VkExternalMemoryFeatureFlagBitsNV Source # 
Instance details
Bits VkExternalMemoryFeatureFlagBitsNV Source # 
Instance details

Methods

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

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

xor :: VkExternalMemoryFeatureFlagBitsNV -> VkExternalMemoryFeatureFlagBitsNV -> VkExternalMemoryFeatureFlagBitsNV #

complement :: VkExternalMemoryFeatureFlagBitsNV -> VkExternalMemoryFeatureFlagBitsNV #

shift :: VkExternalMemoryFeatureFlagBitsNV -> Int -> VkExternalMemoryFeatureFlagBitsNV #

rotate :: VkExternalMemoryFeatureFlagBitsNV -> Int -> VkExternalMemoryFeatureFlagBitsNV #

zeroBits :: VkExternalMemoryFeatureFlagBitsNV #

bit :: Int -> VkExternalMemoryFeatureFlagBitsNV #

setBit :: VkExternalMemoryFeatureFlagBitsNV -> Int -> VkExternalMemoryFeatureFlagBitsNV #

clearBit :: VkExternalMemoryFeatureFlagBitsNV -> Int -> VkExternalMemoryFeatureFlagBitsNV #

complementBit :: VkExternalMemoryFeatureFlagBitsNV -> Int -> VkExternalMemoryFeatureFlagBitsNV #

testBit :: VkExternalMemoryFeatureFlagBitsNV -> Int -> Bool #

bitSizeMaybe :: VkExternalMemoryFeatureFlagBitsNV -> Maybe Int #

bitSize :: VkExternalMemoryFeatureFlagBitsNV -> Int #

isSigned :: VkExternalMemoryFeatureFlagBitsNV -> Bool #

shiftL :: VkExternalMemoryFeatureFlagBitsNV -> Int -> VkExternalMemoryFeatureFlagBitsNV #

unsafeShiftL :: VkExternalMemoryFeatureFlagBitsNV -> Int -> VkExternalMemoryFeatureFlagBitsNV #

shiftR :: VkExternalMemoryFeatureFlagBitsNV -> Int -> VkExternalMemoryFeatureFlagBitsNV #

unsafeShiftR :: VkExternalMemoryFeatureFlagBitsNV -> Int -> VkExternalMemoryFeatureFlagBitsNV #

rotateL :: VkExternalMemoryFeatureFlagBitsNV -> Int -> VkExternalMemoryFeatureFlagBitsNV #

rotateR :: VkExternalMemoryFeatureFlagBitsNV -> Int -> VkExternalMemoryFeatureFlagBitsNV #

popCount :: VkExternalMemoryFeatureFlagBitsNV -> Int #

FiniteBits VkExternalMemoryFeatureFlagBitsNV Source # 
Instance details

pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: VkExternalMemoryFeatureFlagBitsNV Source #

VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV specifies that external memory of the specified type must be created as a dedicated allocation when used in the manner specified.

pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: VkExternalMemoryFeatureFlagBitsNV Source #

VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV specifies that the implementation supports exporting handles of the specified type.

pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: VkExternalMemoryFeatureFlagBitsNV Source #

VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV specifies that the implementation supports importing handles of the specified type.

vkGetPhysicalDeviceExternalImageFormatPropertiesNV :: ("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("externalHandleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr VkExternalImageFormatPropertiesNV) -> IO VkResult Source #

vkGetPhysicalDeviceExternalImageFormatPropertiesNV - determine image capabilities compatible with external memory handle types

Parameters

  • physicalDevice is the physical device from which to query the image capabilities

Description

If externalHandleType is 0, pExternalImageFormatProperties::imageFormatProperties will return the same values as a call to vkGetPhysicalDeviceImageFormatProperties, and the other members of pExternalImageFormatProperties will all be 0. Otherwise, they are filled in as described for VkExternalImageFormatPropertiesNV.

Valid Usage (Implicit)

  • physicalDevice must be a valid VkPhysicalDevice handle

Return Codes

[Success] - VK_SUCCESS

[Failure] - VK_ERROR_OUT_OF_HOST_MEMORY

  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_FORMAT_NOT_SUPPORTED

See Also

VkExternalImageFormatPropertiesNV, VkExternalMemoryHandleTypeFlagsNV, VkFormat, VkImageCreateFlags, VkImageTiling, VkImageType, VkImageUsageFlags, VkPhysicalDevice

data VkExternalImageFormatPropertiesNV Source #

VkExternalImageFormatPropertiesNV - Structure specifying external image format properties

See Also

VkExternalMemoryFeatureFlagsNV, VkExternalMemoryHandleTypeFlagsNV, VkImageFormatProperties, vkGetPhysicalDeviceExternalImageFormatPropertiesNV

Constructors

VkExternalImageFormatPropertiesNV 

Fields

type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureFlagBitsNV Source #

VkExternalMemoryFeatureFlagsNV - Bitmask of VkExternalMemoryFeatureFlagBitsNV

Description

VkExternalMemoryFeatureFlagsNV is a bitmask type for setting a mask of zero or more VkExternalMemoryFeatureFlagBitsNV.

See Also

VkExternalImageFormatPropertiesNV, VkExternalMemoryFeatureFlagBitsNV