vulkan-3.3.1: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_NV_external_memory_capabilities

Synopsis

Documentation

getPhysicalDeviceExternalImageFormatPropertiesNV Source #

Arguments

:: forall io. MonadIO io 
=> PhysicalDevice

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

physicalDevice must be a valid PhysicalDevice handle

-> Format

format is the image format, corresponding to ImageCreateInfo::format.

format must be a valid Format value

-> ImageType

type is the image type, corresponding to ImageCreateInfo::imageType.

type must be a valid ImageType value

-> ImageTiling

tiling is the image tiling, corresponding to ImageCreateInfo::tiling.

tiling must be a valid ImageTiling value

-> ImageUsageFlags

usage is the intended usage of the image, corresponding to ImageCreateInfo::usage.

usage must be a valid combination of ImageUsageFlagBits values

usage must not be 0

-> ImageCreateFlags

flags is a bitmask describing additional parameters of the image, corresponding to ImageCreateInfo::flags.

flags must be a valid combination of ImageCreateFlagBits values

-> ("externalHandleType" ::: ExternalMemoryHandleTypeFlagsNV)

externalHandleType is either one of the bits from ExternalMemoryHandleTypeFlagBitsNV, or 0.

externalHandleType must be a valid combination of ExternalMemoryHandleTypeFlagBitsNV values

-> io ExternalImageFormatPropertiesNV 

vkGetPhysicalDeviceExternalImageFormatPropertiesNV - determine image capabilities compatible with external memory handle types

Description

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

Return Codes

Success
Failure

See Also

ExternalImageFormatPropertiesNV, ExternalMemoryHandleTypeFlagsNV, Format, ImageCreateFlags, ImageTiling, ImageType, ImageUsageFlags, PhysicalDevice

data ExternalImageFormatPropertiesNV Source #

VkExternalImageFormatPropertiesNV - Structure specifying external image format properties

See Also

ExternalMemoryFeatureFlagsNV, ExternalMemoryHandleTypeFlagsNV, ImageFormatProperties, getPhysicalDeviceExternalImageFormatPropertiesNV

Constructors

ExternalImageFormatPropertiesNV 

Fields

Instances

Instances details
Show ExternalImageFormatPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Generic ExternalImageFormatPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Associated Types

type Rep ExternalImageFormatPropertiesNV :: Type -> Type #

FromCStruct ExternalImageFormatPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

ToCStruct ExternalImageFormatPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Zero ExternalImageFormatPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

type Rep ExternalImageFormatPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

type Rep ExternalImageFormatPropertiesNV = D1 ('MetaData "ExternalImageFormatPropertiesNV" "Vulkan.Extensions.VK_NV_external_memory_capabilities" "vulkan-3.3.1-inplace" 'False) (C1 ('MetaCons "ExternalImageFormatPropertiesNV" 'PrefixI 'True) ((S1 ('MetaSel ('Just "imageFormatProperties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ImageFormatProperties) :*: S1 ('MetaSel ('Just "externalMemoryFeatures") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExternalMemoryFeatureFlagsNV)) :*: (S1 ('MetaSel ('Just "exportFromImportedHandleTypes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExternalMemoryHandleTypeFlagsNV) :*: S1 ('MetaSel ('Just "compatibleHandleTypes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExternalMemoryHandleTypeFlagsNV))))

newtype ExternalMemoryHandleTypeFlagBitsNV Source #

VkExternalMemoryHandleTypeFlagBitsNV - Bitmask specifying external memory handle types

See Also

ExternalMemoryHandleTypeFlagsNV

Bundled Patterns

pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV

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

pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV

EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV specifies a handle to memory returned by getMemoryWin32HandleNV.

pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV

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 EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV

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

Instances

Instances details
Eq ExternalMemoryHandleTypeFlagBitsNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Ord ExternalMemoryHandleTypeFlagBitsNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Read ExternalMemoryHandleTypeFlagBitsNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Show ExternalMemoryHandleTypeFlagBitsNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Storable ExternalMemoryHandleTypeFlagBitsNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Bits ExternalMemoryHandleTypeFlagBitsNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Methods

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

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

xor :: ExternalMemoryHandleTypeFlagBitsNV -> ExternalMemoryHandleTypeFlagBitsNV -> ExternalMemoryHandleTypeFlagBitsNV #

complement :: ExternalMemoryHandleTypeFlagBitsNV -> ExternalMemoryHandleTypeFlagBitsNV #

shift :: ExternalMemoryHandleTypeFlagBitsNV -> Int -> ExternalMemoryHandleTypeFlagBitsNV #

rotate :: ExternalMemoryHandleTypeFlagBitsNV -> Int -> ExternalMemoryHandleTypeFlagBitsNV #

zeroBits :: ExternalMemoryHandleTypeFlagBitsNV #

bit :: Int -> ExternalMemoryHandleTypeFlagBitsNV #

setBit :: ExternalMemoryHandleTypeFlagBitsNV -> Int -> ExternalMemoryHandleTypeFlagBitsNV #

clearBit :: ExternalMemoryHandleTypeFlagBitsNV -> Int -> ExternalMemoryHandleTypeFlagBitsNV #

complementBit :: ExternalMemoryHandleTypeFlagBitsNV -> Int -> ExternalMemoryHandleTypeFlagBitsNV #

testBit :: ExternalMemoryHandleTypeFlagBitsNV -> Int -> Bool #

bitSizeMaybe :: ExternalMemoryHandleTypeFlagBitsNV -> Maybe Int #

bitSize :: ExternalMemoryHandleTypeFlagBitsNV -> Int #

isSigned :: ExternalMemoryHandleTypeFlagBitsNV -> Bool #

shiftL :: ExternalMemoryHandleTypeFlagBitsNV -> Int -> ExternalMemoryHandleTypeFlagBitsNV #

unsafeShiftL :: ExternalMemoryHandleTypeFlagBitsNV -> Int -> ExternalMemoryHandleTypeFlagBitsNV #

shiftR :: ExternalMemoryHandleTypeFlagBitsNV -> Int -> ExternalMemoryHandleTypeFlagBitsNV #

unsafeShiftR :: ExternalMemoryHandleTypeFlagBitsNV -> Int -> ExternalMemoryHandleTypeFlagBitsNV #

rotateL :: ExternalMemoryHandleTypeFlagBitsNV -> Int -> ExternalMemoryHandleTypeFlagBitsNV #

rotateR :: ExternalMemoryHandleTypeFlagBitsNV -> Int -> ExternalMemoryHandleTypeFlagBitsNV #

popCount :: ExternalMemoryHandleTypeFlagBitsNV -> Int #

Zero ExternalMemoryHandleTypeFlagBitsNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

newtype ExternalMemoryFeatureFlagBitsNV Source #

VkExternalMemoryFeatureFlagBitsNV - Bitmask specifying external memory features

See Also

ExternalImageFormatPropertiesNV, ExternalMemoryFeatureFlagsNV, getPhysicalDeviceExternalImageFormatPropertiesNV

Bundled Patterns

pattern EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: ExternalMemoryFeatureFlagBitsNV

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 EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: ExternalMemoryFeatureFlagBitsNV

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

pattern EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: ExternalMemoryFeatureFlagBitsNV

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

Instances

Instances details
Eq ExternalMemoryFeatureFlagBitsNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Ord ExternalMemoryFeatureFlagBitsNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Read ExternalMemoryFeatureFlagBitsNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Show ExternalMemoryFeatureFlagBitsNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Storable ExternalMemoryFeatureFlagBitsNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Bits ExternalMemoryFeatureFlagBitsNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

Methods

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

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

xor :: ExternalMemoryFeatureFlagBitsNV -> ExternalMemoryFeatureFlagBitsNV -> ExternalMemoryFeatureFlagBitsNV #

complement :: ExternalMemoryFeatureFlagBitsNV -> ExternalMemoryFeatureFlagBitsNV #

shift :: ExternalMemoryFeatureFlagBitsNV -> Int -> ExternalMemoryFeatureFlagBitsNV #

rotate :: ExternalMemoryFeatureFlagBitsNV -> Int -> ExternalMemoryFeatureFlagBitsNV #

zeroBits :: ExternalMemoryFeatureFlagBitsNV #

bit :: Int -> ExternalMemoryFeatureFlagBitsNV #

setBit :: ExternalMemoryFeatureFlagBitsNV -> Int -> ExternalMemoryFeatureFlagBitsNV #

clearBit :: ExternalMemoryFeatureFlagBitsNV -> Int -> ExternalMemoryFeatureFlagBitsNV #

complementBit :: ExternalMemoryFeatureFlagBitsNV -> Int -> ExternalMemoryFeatureFlagBitsNV #

testBit :: ExternalMemoryFeatureFlagBitsNV -> Int -> Bool #

bitSizeMaybe :: ExternalMemoryFeatureFlagBitsNV -> Maybe Int #

bitSize :: ExternalMemoryFeatureFlagBitsNV -> Int #

isSigned :: ExternalMemoryFeatureFlagBitsNV -> Bool #

shiftL :: ExternalMemoryFeatureFlagBitsNV -> Int -> ExternalMemoryFeatureFlagBitsNV #

unsafeShiftL :: ExternalMemoryFeatureFlagBitsNV -> Int -> ExternalMemoryFeatureFlagBitsNV #

shiftR :: ExternalMemoryFeatureFlagBitsNV -> Int -> ExternalMemoryFeatureFlagBitsNV #

unsafeShiftR :: ExternalMemoryFeatureFlagBitsNV -> Int -> ExternalMemoryFeatureFlagBitsNV #

rotateL :: ExternalMemoryFeatureFlagBitsNV -> Int -> ExternalMemoryFeatureFlagBitsNV #

rotateR :: ExternalMemoryFeatureFlagBitsNV -> Int -> ExternalMemoryFeatureFlagBitsNV #

popCount :: ExternalMemoryFeatureFlagBitsNV -> Int #

Zero ExternalMemoryFeatureFlagBitsNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_external_memory_capabilities

type NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_NV_external_memory_capabilities" Source #