Package org.lwjgl.vulkan
Class NVExternalMemoryCapabilities
java.lang.Object
org.lwjgl.vulkan.NVExternalMemoryCapabilities
Applications may wish to import memory from the Direct 3D API, or export memory to other Vulkan instances. This extension provides a set of capability queries that allow applications determine what types of win32 memory handles an implementation supports for a given set of use cases.
- Name String
VK_NV_external_memory_capabilities- Extension Type
- Instance extension
- Registered Extension Number
- 56
- Revision
- 1
- Deprecation State
- Deprecated by
VK_KHR_external_memory_capabilitiesextension- Which in turn was promoted to Vulkan 1.1
- Deprecated by
- Contact
- James Jones cubanismo
Other Extension Metadata
- Last Modified Date
- 2016-08-19
- IP Status
- No known IP claims.
- Interactions and External Dependencies
- Interacts with Vulkan 1.1.
- Interacts with
VK_KHR_dedicated_allocation. - Interacts with
VK_NV_dedicated_allocation.
- Contributors
- James Jones, NVIDIA
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intVkExternalMemoryFeatureFlagBitsNV - Bitmask specifying external memory featuresstatic final intVkExternalMemoryFeatureFlagBitsNV - Bitmask specifying external memory featuresstatic final intVkExternalMemoryFeatureFlagBitsNV - Bitmask specifying external memory featuresstatic final intVkExternalMemoryHandleTypeFlagBitsNV - Bitmask specifying external memory handle typesstatic final intVkExternalMemoryHandleTypeFlagBitsNV - Bitmask specifying external memory handle typesstatic final intVkExternalMemoryHandleTypeFlagBitsNV - Bitmask specifying external memory handle typesstatic final intVkExternalMemoryHandleTypeFlagBitsNV - Bitmask specifying external memory handle typesstatic final StringThe extension name.static final intThe extension specification version. -
Method Summary
Modifier and TypeMethodDescriptionstatic intnvkGetPhysicalDeviceExternalImageFormatPropertiesNV(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int format, int type, int tiling, int usage, int flags, int externalHandleType, long pExternalImageFormatProperties) Unsafe version of:GetPhysicalDeviceExternalImageFormatPropertiesNVstatic intvkGetPhysicalDeviceExternalImageFormatPropertiesNV(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int format, int type, int tiling, int usage, int flags, int externalHandleType, VkExternalImageFormatPropertiesNV pExternalImageFormatProperties) Determine image capabilities compatible with external memory handle types.
-
Field Details
-
VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION
public static final int VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME
The extension name.- See Also:
-
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV
public static final int VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NVVkExternalMemoryHandleTypeFlagBitsNV - Bitmask specifying external memory handle typesDescription
EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NVspecifies a handle to memory returned byGetMemoryWin32HandleNV.EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NVspecifies a handle to memory returned byGetMemoryWin32HandleNV, or one duplicated from such a handle usingDuplicateHandle().EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NVspecifies a valid NT handle to memory returned byIDXGIResource1::CreateSharedHandle, or a handle duplicated from such a handle usingDuplicateHandle().EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NVspecifies a handle to memory returned byIDXGIResource::GetSharedHandle().
- See Also:
-
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV
public static final int VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NVVkExternalMemoryHandleTypeFlagBitsNV - Bitmask specifying external memory handle typesDescription
EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NVspecifies a handle to memory returned byGetMemoryWin32HandleNV.EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NVspecifies a handle to memory returned byGetMemoryWin32HandleNV, or one duplicated from such a handle usingDuplicateHandle().EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NVspecifies a valid NT handle to memory returned byIDXGIResource1::CreateSharedHandle, or a handle duplicated from such a handle usingDuplicateHandle().EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NVspecifies a handle to memory returned byIDXGIResource::GetSharedHandle().
- See Also:
-
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV
public static final int VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NVVkExternalMemoryHandleTypeFlagBitsNV - Bitmask specifying external memory handle typesDescription
EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NVspecifies a handle to memory returned byGetMemoryWin32HandleNV.EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NVspecifies a handle to memory returned byGetMemoryWin32HandleNV, or one duplicated from such a handle usingDuplicateHandle().EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NVspecifies a valid NT handle to memory returned byIDXGIResource1::CreateSharedHandle, or a handle duplicated from such a handle usingDuplicateHandle().EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NVspecifies a handle to memory returned byIDXGIResource::GetSharedHandle().
- See Also:
-
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV
public static final int VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NVVkExternalMemoryHandleTypeFlagBitsNV - Bitmask specifying external memory handle typesDescription
EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NVspecifies a handle to memory returned byGetMemoryWin32HandleNV.EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NVspecifies a handle to memory returned byGetMemoryWin32HandleNV, or one duplicated from such a handle usingDuplicateHandle().EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NVspecifies a valid NT handle to memory returned byIDXGIResource1::CreateSharedHandle, or a handle duplicated from such a handle usingDuplicateHandle().EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NVspecifies a handle to memory returned byIDXGIResource::GetSharedHandle().
- See Also:
-
VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV
public static final int VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NVVkExternalMemoryFeatureFlagBitsNV - Bitmask specifying external memory featuresDescription
EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NVspecifies that external memory of the specified type must be created as a dedicated allocation when used in the manner specified.EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NVspecifies that the implementation supports exporting handles of the specified type.EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NVspecifies that the implementation supports importing handles of the specified type.
See Also
VkExternalImageFormatPropertiesNV,GetPhysicalDeviceExternalImageFormatPropertiesNV- See Also:
-
VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV
public static final int VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NVVkExternalMemoryFeatureFlagBitsNV - Bitmask specifying external memory featuresDescription
EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NVspecifies that external memory of the specified type must be created as a dedicated allocation when used in the manner specified.EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NVspecifies that the implementation supports exporting handles of the specified type.EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NVspecifies that the implementation supports importing handles of the specified type.
See Also
VkExternalImageFormatPropertiesNV,GetPhysicalDeviceExternalImageFormatPropertiesNV- See Also:
-
VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV
public static final int VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NVVkExternalMemoryFeatureFlagBitsNV - Bitmask specifying external memory featuresDescription
EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NVspecifies that external memory of the specified type must be created as a dedicated allocation when used in the manner specified.EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NVspecifies that the implementation supports exporting handles of the specified type.EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NVspecifies that the implementation supports importing handles of the specified type.
See Also
VkExternalImageFormatPropertiesNV,GetPhysicalDeviceExternalImageFormatPropertiesNV- See Also:
-
-
Method Details
-
nvkGetPhysicalDeviceExternalImageFormatPropertiesNV
public static int nvkGetPhysicalDeviceExternalImageFormatPropertiesNV(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int format, int type, int tiling, int usage, int flags, int externalHandleType, long pExternalImageFormatProperties) Unsafe version of:GetPhysicalDeviceExternalImageFormatPropertiesNV -
vkGetPhysicalDeviceExternalImageFormatPropertiesNV
public static int vkGetPhysicalDeviceExternalImageFormatPropertiesNV(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int format, int type, int tiling, int usage, int flags, int externalHandleType, VkExternalImageFormatPropertiesNV pExternalImageFormatProperties) Determine image capabilities compatible with external memory handle types.C Specification
To determine the image capabilities compatible with an external memory handle type, call:
VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV( VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);Description
If
externalHandleTypeis 0,pExternalImageFormatProperties→imageFormatPropertieswill return the same values as a call toGetPhysicalDeviceImageFormatProperties, and the other members ofpExternalImageFormatPropertieswill all be 0. Otherwise, they are filled in as described forVkExternalImageFormatPropertiesNV.Valid Usage
externalHandleTypemust not have more than one bit set
Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandleformatmust be a validVkFormatvaluetypemust be a validVkImageTypevaluetilingmust be a validVkImageTilingvalueusagemust be a valid combination ofVkImageUsageFlagBitsvaluesusagemust not be 0flagsmust be a valid combination ofVkImageCreateFlagBitsvaluesexternalHandleTypemust be a valid combination ofVkExternalMemoryHandleTypeFlagBitsNVvaluespExternalImageFormatPropertiesmust be a valid pointer to aVkExternalImageFormatPropertiesNVstructure
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
physicalDevice- the physical device from which to query the image capabilitiesformat- the image format, corresponding toVkImageCreateInfo::format.type- the image type, corresponding toVkImageCreateInfo::imageType.tiling- the image tiling, corresponding toVkImageCreateInfo::tiling.usage- the intended usage of the image, corresponding toVkImageCreateInfo::usage.flags- a bitmask describing additional parameters of the image, corresponding toVkImageCreateInfo::flags.externalHandleType- either one of the bits fromVkExternalMemoryHandleTypeFlagBitsNV, or 0.pExternalImageFormatProperties- a pointer to aVkExternalImageFormatPropertiesNVstructure in which capabilities are returned.
-