Package org.lwjgl.vulkan
Class NVExternalMemoryCapabilities
- java.lang.Object
-
- org.lwjgl.vulkan.NVExternalMemoryCapabilities
-
public class NVExternalMemoryCapabilities extends java.lang.ObjectApplications 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
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Deprecation state
- Deprecated by VK_KHR_external_memory_capabilities extension
- Which in turn was promoted to Vulkan 1.1
- Deprecated by VK_KHR_external_memory_capabilities extension
- Contact
- James Jones cubanismo
- 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
Fields Modifier and Type Field Description static intVK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV
VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV
VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NVVkExternalMemoryFeatureFlagBitsNV - Bitmask specifying external memory featuresstatic intVK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NVVkExternalMemoryHandleTypeFlagBitsNV - Bitmask specifying external memory handle typesstatic java.lang.StringVK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAMEThe extension name.static intVK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSIONThe extension specification version.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intnvkGetPhysicalDeviceExternalImageFormatPropertiesNV(VkPhysicalDevice physicalDevice, int format, int type, int tiling, int usage, int flags, int externalHandleType, long pExternalImageFormatProperties)Unsafe version of:GetPhysicalDeviceExternalImageFormatPropertiesNVstatic intvkGetPhysicalDeviceExternalImageFormatPropertiesNV(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 Detail
-
VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION
The extension specification version.
-
VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME
The extension name.
-
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV, VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV
VkExternalMemoryHandleTypeFlagBitsNV - 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
VkExternalMemoryHandleTypeFlagsNV
-
VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV, VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV, VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV
VkExternalMemoryFeatureFlagBitsNV - 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,VkExternalMemoryFeatureFlagsNV,GetPhysicalDeviceExternalImageFormatPropertiesNV
-
-
Method Detail
-
nvkGetPhysicalDeviceExternalImageFormatPropertiesNV
public static int nvkGetPhysicalDeviceExternalImageFormatPropertiesNV(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(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::imageFormatProperties will 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 (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- points to an instance of theVkExternalImageFormatPropertiesNVstructure in which capabilities are returned.
-
-