Package org.lwjgl.vulkan
Class VkExportMetalObjectsInfoEXT
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkExportMetalObjectsInfoEXT>
org.lwjgl.vulkan.VkExportMetalObjectsInfoEXT
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkExportMetalObjectsInfoEXT
extends org.lwjgl.system.Struct<VkExportMetalObjectsInfoEXT>
implements org.lwjgl.system.NativeResource
Structure whose pNext chain identifies Vulkan objects and corresponding Metal objects.
Valid Usage
- If the
pNextchain includes aVkExportMetalDeviceInfoEXTstructure, theVkInstancemust have been created withEXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXTin theexportObjectTypemember of aVkExportMetalObjectCreateInfoEXTstructure in thepNextchain of theVkInstanceCreateInfostructure in theCreateInstancecommand - If the
pNextchain includes aVkExportMetalCommandQueueInfoEXTstructure, theVkInstancemust have been created withEXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXTin theexportObjectTypemember of aVkExportMetalObjectCreateInfoEXTstructure in thepNextchain of theVkInstanceCreateInfostructure in theCreateInstancecommand - If the
pNextchain includes aVkExportMetalBufferInfoEXTstructure, theVkDeviceMemoryin itsmemorymember must have been allocated withEXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXTin theexportObjectTypemember of aVkExportMetalObjectCreateInfoEXTstructure in thepNextchain of theVkMemoryAllocateInfostructure in theAllocateMemorycommand - If the
pNextchain includes aVkExportMetalTextureInfoEXTstructure, exactly one of itsimage,imageView, orbufferViewmembers must not beNULL_HANDLE - If the
pNextchain includes aVkExportMetalTextureInfoEXTstructure, and itsimagemember is notNULL_HANDLE, theVkImagein itsimagemember must have been created withEXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXTin theexportObjectTypemember of aVkExportMetalObjectCreateInfoEXTstructure in thepNextchain of theVkImageCreateInfostructure in theCreateImagecommand - If the
pNextchain includes aVkExportMetalTextureInfoEXTstructure, and itsimageViewmember is notNULL_HANDLE, theVkImageViewin itsimageViewmember must have been created withEXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXTin theexportObjectTypemember of aVkExportMetalObjectCreateInfoEXTstructure in thepNextchain of theVkImageViewCreateInfostructure in theCreateImageViewcommand - If the
pNextchain includes aVkExportMetalTextureInfoEXTstructure, and itsbufferViewmember is notNULL_HANDLE, theVkBufferViewin itsbufferViewmember must have been created withEXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXTin theexportObjectTypemember of aVkExportMetalObjectCreateInfoEXTstructure in thepNextchain of theVkBufferViewCreateInfostructure in theCreateBufferViewcommand - If the
pNextchain includes aVkExportMetalTextureInfoEXTstructure, and if either itsimageorimageViewmember is notNULL_HANDLE, thenplanemust beIMAGE_ASPECT_PLANE_0_BIT,IMAGE_ASPECT_PLANE_1_BIT, orIMAGE_ASPECT_PLANE_2_BIT - If the
pNextchain includes aVkExportMetalTextureInfoEXTstructure, and if theVkImagein itsimagemember does not have a multi-planar format, then itsplanemember must beIMAGE_ASPECT_PLANE_0_BIT - If the
pNextchain includes aVkExportMetalTextureInfoEXTstructure, and if theVkImagein itsimagemember has a multi-planar format with only two planes, then itsplanemember must not beIMAGE_ASPECT_PLANE_2_BIT - If the
pNextchain includes aVkExportMetalTextureInfoEXTstructure, and if theVkImageViewin itsimageViewmember does not have a multi-planar format, then itsplanemember must beIMAGE_ASPECT_PLANE_0_BIT - If the
pNextchain includes aVkExportMetalTextureInfoEXTstructure, and if theVkImageViewin itsimageViewmember has a multi-planar format with only two planes, then itsplanemember must not beIMAGE_ASPECT_PLANE_2_BIT - If the
pNextchain includes aVkExportMetalIOSurfaceInfoEXTstructure, theVkImagein itsimagemember must have been created withEXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXTin theexportObjectTypemember of aVkExportMetalObjectCreateInfoEXTstructure in thepNextchain of theVkImageCreateInfostructure in theCreateImagecommand - If the
pNextchain includes aVkExportMetalSharedEventInfoEXTstructure, exactly one of itssemaphoreoreventmembers must not beNULL_HANDLE - If the
pNextchain includes aVkExportMetalSharedEventInfoEXTstructure, and itssemaphoremember is notNULL_HANDLE, theVkSemaphorein itssemaphoremember must have been created withEXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXTin theexportObjectTypemember of aVkExportMetalObjectCreateInfoEXTstructure in thepNextchain of theVkSemaphoreCreateInfostructure in theCreateSemaphorecommand - If the
pNextchain includes aVkExportMetalSharedEventInfoEXTstructure, and itseventmember is notNULL_HANDLE, theVkEventin itseventmember must have been created withEXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXTin theexportObjectTypemember of aVkExportMetalObjectCreateInfoEXTstructure in thepNextchain of theVkEventCreateInfostructure in theCreateEventcommand
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofVkExportMetalBufferInfoEXT,VkExportMetalCommandQueueInfoEXT,VkExportMetalDeviceInfoEXT,VkExportMetalIOSurfaceInfoEXT,VkExportMetalSharedEventInfoEXT, orVkExportMetalTextureInfoEXT - The
sTypevalue of each struct in thepNextchain must be unique, with the exception of structures of typeVkExportMetalBufferInfoEXT,VkExportMetalCommandQueueInfoEXT,VkExportMetalIOSurfaceInfoEXT,VkExportMetalSharedEventInfoEXT, orVkExportMetalTextureInfoEXT
See Also
Layout
struct VkExportMetalObjectsInfoEXT {
VkStructureType sType();
void const * pNext();
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkExportMetalObjectsInfoEXT(ByteBuffer container) Creates aVkExportMetalObjectsInfoEXTinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkExportMetalObjectsInfoEXTcalloc()Returns a newVkExportMetalObjectsInfoEXTinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkExportMetalObjectsInfoEXT.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkExportMetalObjectsInfoEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkExportMetalObjectsInfoEXTcalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkExportMetalObjectsInfoEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkExportMetalObjectsInfoEXTcreate()Returns a newVkExportMetalObjectsInfoEXTinstance allocated withBufferUtils.create(int capacity) Returns a newVkExportMetalObjectsInfoEXT.Bufferinstance allocated withBufferUtils.static VkExportMetalObjectsInfoEXTcreate(long address) Returns a newVkExportMetalObjectsInfoEXTinstance for the specified memory address.create(long address, int capacity) Create aVkExportMetalObjectsInfoEXT.Bufferinstance at the specified memory.static @Nullable VkExportMetalObjectsInfoEXTcreateSafe(long address) static @Nullable VkExportMetalObjectsInfoEXT.BuffercreateSafe(long address, int capacity) static VkExportMetalObjectsInfoEXTmalloc()Returns a newVkExportMetalObjectsInfoEXTinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkExportMetalObjectsInfoEXT.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkExportMetalObjectsInfoEXT.Bufferinstance allocated on the specifiedMemoryStack.static VkExportMetalObjectsInfoEXTmalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkExportMetalObjectsInfoEXTinstance allocated on the specifiedMemoryStack.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.pNext(VkExportMetalBufferInfoEXT value) Prepends the specifiedVkExportMetalBufferInfoEXTvalue to thepNextchain.Prepends the specifiedVkExportMetalCommandQueueInfoEXTvalue to thepNextchain.pNext(VkExportMetalDeviceInfoEXT value) Prepends the specifiedVkExportMetalDeviceInfoEXTvalue to thepNextchain.Prepends the specifiedVkExportMetalIOSurfaceInfoEXTvalue to thepNextchain.Prepends the specifiedVkExportMetalSharedEventInfoEXTvalue to thepNextchain.pNext(VkExportMetalTextureInfoEXT value) Prepends the specifiedVkExportMetalTextureInfoEXTvalue to thepNextchain.set(int sType, long pNext) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXTvalue to thesType()field.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets.
-
-
Constructor Details
-
VkExportMetalObjectsInfoEXT
Creates aVkExportMetalObjectsInfoEXTinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkExportMetalObjectsInfoEXT>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXTvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkExportMetalBufferInfoEXTvalue to thepNextchain. -
pNext
Prepends the specifiedVkExportMetalCommandQueueInfoEXTvalue to thepNextchain. -
pNext
Prepends the specifiedVkExportMetalDeviceInfoEXTvalue to thepNextchain. -
pNext
Prepends the specifiedVkExportMetalIOSurfaceInfoEXTvalue to thepNextchain. -
pNext
Prepends the specifiedVkExportMetalTextureInfoEXTvalue to thepNextchain. -
set
Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkExportMetalObjectsInfoEXTinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkExportMetalObjectsInfoEXTinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkExportMetalObjectsInfoEXTinstance allocated withBufferUtils. -
create
Returns a newVkExportMetalObjectsInfoEXTinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkExportMetalObjectsInfoEXT.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkExportMetalObjectsInfoEXT.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkExportMetalObjectsInfoEXT.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkExportMetalObjectsInfoEXT.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newVkExportMetalObjectsInfoEXTinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkExportMetalObjectsInfoEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkExportMetalObjectsInfoEXT.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkExportMetalObjectsInfoEXT.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkExportMetalObjectsInfoEXT.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkExportMetalObjectsInfoEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext.
-