Package org.lwjgl.vulkan
Class VkExternalMemoryProperties
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkExternalMemoryProperties
-
- All Implemented Interfaces:
org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkExternalMemoryPropertiesKHR
public class VkExternalMemoryProperties extends org.lwjgl.system.StructStructure specifying external memory handle type capabilities.Description
compatibleHandleTypesmust include at leasthandleType. Inclusion of a handle type incompatibleHandleTypesdoes not imply the values returned inVkImageFormatProperties2will be the same whenVkPhysicalDeviceExternalImageFormatInfo::handleTypeis set to that type. The application is responsible for querying the capabilities of all handle types intended for concurrent use in a single image and intersecting them to obtain the compatible set of capabilities.See Also
VkExternalBufferProperties,VkExternalImageFormatPropertiesMember documentation
externalMemoryFeatures– a bitmask ofVkExternalMemoryFeatureFlagBitsspecifying the features ofhandleType.exportFromImportedHandleTypes– a bitmask ofVkExternalMemoryHandleTypeFlagBitsspecifying which types of imported handlehandleTypecan be exported from.compatibleHandleTypes– a bitmask ofVkExternalMemoryHandleTypeFlagBitsspecifying handle types which can be specified at the same time ashandleTypewhen creating an image compatible with external memory.
Layout
struct VkExternalMemoryProperties { VkExternalMemoryFeatureFlags externalMemoryFeatures; VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; VkExternalMemoryHandleTypeFlags compatibleHandleTypes; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkExternalMemoryProperties.BufferAn array ofVkExternalMemoryPropertiesstructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intCOMPATIBLEHANDLETYPES
EXPORTFROMIMPORTEDHANDLETYPES
EXTERNALMEMORYFEATURESThe struct member offsets.static intSIZEOFThe struct size in bytes.
-
Constructor Summary
Constructors Constructor Description VkExternalMemoryProperties(java.nio.ByteBuffer container)Creates aVkExternalMemoryPropertiesinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompatibleHandleTypes()Returns the value of thecompatibleHandleTypesfield.static VkExternalMemoryPropertiescreate(long address)Returns a newVkExternalMemoryPropertiesinstance for the specified memory address.static VkExternalMemoryProperties.Buffercreate(long address, int capacity)Create aVkExternalMemoryProperties.Bufferinstance at the specified memory.static VkExternalMemoryPropertiescreateSafe(long address)static VkExternalMemoryProperties.BuffercreateSafe(long address, int capacity)intexportFromImportedHandleTypes()Returns the value of theexportFromImportedHandleTypesfield.intexternalMemoryFeatures()Returns the value of theexternalMemoryFeaturesfield.static intncompatibleHandleTypes(long struct)Unsafe version ofcompatibleHandleTypes().static intnexportFromImportedHandleTypes(long struct)Unsafe version ofexportFromImportedHandleTypes().static intnexternalMemoryFeatures(long struct)Unsafe version ofexternalMemoryFeatures().intsizeof()
-
-
-
Constructor Detail
-
VkExternalMemoryProperties
public VkExternalMemoryProperties(java.nio.ByteBuffer container)
Creates aVkExternalMemoryPropertiesinstance 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 Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
externalMemoryFeatures
public int externalMemoryFeatures()
Returns the value of theexternalMemoryFeaturesfield.
-
exportFromImportedHandleTypes
public int exportFromImportedHandleTypes()
Returns the value of theexportFromImportedHandleTypesfield.
-
compatibleHandleTypes
public int compatibleHandleTypes()
Returns the value of thecompatibleHandleTypesfield.
-
create
public static VkExternalMemoryProperties create(long address)
Returns a newVkExternalMemoryPropertiesinstance for the specified memory address.
-
createSafe
@Nullable public static VkExternalMemoryProperties createSafe(long address)
-
create
public static VkExternalMemoryProperties.Buffer create(long address, int capacity)
Create aVkExternalMemoryProperties.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkExternalMemoryProperties.Buffer createSafe(long address, int capacity)
-
nexternalMemoryFeatures
public static int nexternalMemoryFeatures(long struct)
Unsafe version ofexternalMemoryFeatures().
-
nexportFromImportedHandleTypes
public static int nexportFromImportedHandleTypes(long struct)
Unsafe version ofexportFromImportedHandleTypes().
-
ncompatibleHandleTypes
public static int ncompatibleHandleTypes(long struct)
Unsafe version ofcompatibleHandleTypes().
-
-