Package org.lwjgl.vulkan
Class NVExternalMemoryCapabilities
- java.lang.Object
-
- org.lwjgl.vulkan.NVExternalMemoryCapabilities
-
public class NVExternalMemoryCapabilities extends java.lang.Object
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
- 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 int
VK_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 int
VK_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.String
VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME
The extension name.static int
VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION
The extension specification version.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int
nvkGetPhysicalDeviceExternalImageFormatPropertiesNV(VkPhysicalDevice physicalDevice, int format, int type, int tiling, int usage, int flags, int externalHandleType, long pExternalImageFormatProperties)
Unsafe version of:GetPhysicalDeviceExternalImageFormatPropertiesNV
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.
-
-
-
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_NV
specifies a handle to memory returned byGetMemoryWin32HandleNV
.EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV
specifies a handle to memory returned byGetMemoryWin32HandleNV
, or one duplicated from such a handle usingDuplicateHandle()
.EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV
specifies 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_NV
specifies 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_NV
specifies 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_NV
specifies that the implementation supports exporting handles of the specified type.EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV
specifies 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
externalHandleType
is 0,pExternalImageFormatProperties
::imageFormatProperties will return the same values as a call toGetPhysicalDeviceImageFormatProperties
, and the other members ofpExternalImageFormatProperties
will all be 0. Otherwise, they are filled in as described forVkExternalImageFormatPropertiesNV
.Valid Usage (Implicit)
physicalDevice
must be a validVkPhysicalDevice
handleformat
must be a validVkFormat
valuetype
must be a validVkImageType
valuetiling
must be a validVkImageTiling
valueusage
must be a valid combination ofVkImageUsageFlagBits
valuesusage
must not be 0flags
must be a valid combination ofVkImageCreateFlagBits
valuesexternalHandleType
must be a valid combination ofVkExternalMemoryHandleTypeFlagBitsNV
valuespExternalImageFormatProperties
must be a valid pointer to aVkExternalImageFormatPropertiesNV
structure
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 theVkExternalImageFormatPropertiesNV
structure in which capabilities are returned.
-
-