Top Description Fields Constructors Methods
org.lwjgl.vulkan

public Class EXTMetalObjects

extends Object
Class Inheritance
Imports
org.lwjgl.system.*

In a Vulkan implementation that is layered on top of Metal on Apple device platforms, this extension provides the ability to import and export the underlying Metal objects associated with specific Vulkan objects.

As detailed in the extension proposal document, this extension adds one new Vulkan command, ExportMetalObjectsEXT, to export underlying Metal objects from Vulkan objects, and supports importing the appropriate existing Metal objects when creating Vulkan objects of types VkDeviceMemory, VkImage, VkSemaphore, and VkEvent,

The intent is that this extension will be advertised and supported only on implementations that are layered on top of Metal on Apple device platforms.

VK_EXT_metal_objects
Name String
VK_EXT_metal_objects
Extension Type
Device extension
Registered Extension Number
312
Revision
1
Contact
Extension Proposal
VK_EXT_metal_objects
Other Extension Metadata
Last Modified Date
2022-05-28
IP Status
No known IP claims.
Contributors
  • Bill Hollings, The Brenwill Workshop Ltd.
  • Dzmitry Malyshau, Mozilla Corp.

Field Summary

Modifier and TypeField and Description
public static final int
VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT

VkExportMetalObjectTypeFlagBitsEXT - Bitmask specifying Metal object types that can be exported from a Vulkan object Description

public static final int
VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT

VkExportMetalObjectTypeFlagBitsEXT - Bitmask specifying Metal object types that can be exported from a Vulkan object Description

public static final int
VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT

VkExportMetalObjectTypeFlagBitsEXT - Bitmask specifying Metal object types that can be exported from a Vulkan object Description

public static final int
VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT

VkExportMetalObjectTypeFlagBitsEXT - Bitmask specifying Metal object types that can be exported from a Vulkan object Description

public static final int
VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT

VkExportMetalObjectTypeFlagBitsEXT - Bitmask specifying Metal object types that can be exported from a Vulkan object Description

public static final int
VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT

VkExportMetalObjectTypeFlagBitsEXT - Bitmask specifying Metal object types that can be exported from a Vulkan object Description

public static final String
public static final int
VK_EXT_METAL_OBJECTS_SPEC_VERSION

The extension specification version.

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static void
nvkExportMetalObjectsEXT(VkDevice device, long pMetalObjectsInfo)

Unsafe version of: ExportMetalObjectsEXT

public static void
vkExportMetalObjectsEXT(VkDevice
the device that created the Vulkan objects.
device
,
VkExportMetalObjectsInfoEXT
a pointer to a VkExportMetalObjectsInfoEXT structure whose pNext chain contains structures, each identifying a Vulkan object and providing a pointer through which the Metal object will be returned.
pMetalObjectsInfo
)

Export Metal objects from the corresponding Vulkan objects.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXTback to summary
public static final int VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT

VkExportMetalObjectTypeFlagBitsEXT - Bitmask specifying Metal object types that can be exported from a Vulkan object

Description
See Also

VkExportMetalObjectCreateInfoEXT

VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXTback to summary
public static final int VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT

VkExportMetalObjectTypeFlagBitsEXT - Bitmask specifying Metal object types that can be exported from a Vulkan object

Description
See Also

VkExportMetalObjectCreateInfoEXT

VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXTback to summary
public static final int VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT

VkExportMetalObjectTypeFlagBitsEXT - Bitmask specifying Metal object types that can be exported from a Vulkan object

Description
See Also

VkExportMetalObjectCreateInfoEXT

VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXTback to summary
public static final int VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT

VkExportMetalObjectTypeFlagBitsEXT - Bitmask specifying Metal object types that can be exported from a Vulkan object

Description
See Also

VkExportMetalObjectCreateInfoEXT

VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXTback to summary
public static final int VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT

VkExportMetalObjectTypeFlagBitsEXT - Bitmask specifying Metal object types that can be exported from a Vulkan object

Description
See Also

VkExportMetalObjectCreateInfoEXT

VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXTback to summary
public static final int VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT

VkExportMetalObjectTypeFlagBitsEXT - Bitmask specifying Metal object types that can be exported from a Vulkan object

Description
See Also

VkExportMetalObjectCreateInfoEXT

VK_EXT_METAL_OBJECTS_EXTENSION_NAMEback to summary
public static final String VK_EXT_METAL_OBJECTS_EXTENSION_NAME

The extension name.

VK_EXT_METAL_OBJECTS_SPEC_VERSIONback to summary
public static final int VK_EXT_METAL_OBJECTS_SPEC_VERSION

The extension specification version.

VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT

Extends VkStructureType.

Enum values:

Constructor Detail

EXTMetalObjectsback to summary
protected EXTMetalObjects()

Method Detail

nvkExportMetalObjectsEXTback to summary
public static void nvkExportMetalObjectsEXT(VkDevice device, long pMetalObjectsInfo)

Unsafe version of: ExportMetalObjectsEXT

vkExportMetalObjectsEXTback to summary
public static void vkExportMetalObjectsEXT(VkDevice device, VkExportMetalObjectsInfoEXT pMetalObjectsInfo)

Export Metal objects from the corresponding Vulkan objects.

C Specification

To export Metal objects that underlie Vulkan objects, call:


void vkExportMetalObjectsEXT(
    VkDevice                                    device,
    VkExportMetalObjectsInfoEXT*                pMetalObjectsInfo);
Valid Usage (Implicit)
See Also

VkExportMetalObjectsInfoEXT

Parameters
device:VkDevice

the device that created the Vulkan objects.

pMetalObjectsInfo:VkExportMetalObjectsInfoEXT

a pointer to a VkExportMetalObjectsInfoEXT structure whose pNext chain contains structures, each identifying a Vulkan object and providing a pointer through which the Metal object will be returned.