Class VkExternalMemoryProperties

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkExternalMemoryProperties>
org.lwjgl.vulkan.VkExternalMemoryProperties
All Implemented Interfaces:
org.lwjgl.system.Pointer
Direct Known Subclasses:
VkExternalMemoryPropertiesKHR

public class VkExternalMemoryProperties extends org.lwjgl.system.Struct<VkExternalMemoryProperties>
Structure specifying external memory handle type capabilities.
Description

compatibleHandleTypes must include at least handleType. Inclusion of a handle type in compatibleHandleTypes does not imply the values returned in VkImageFormatProperties2 will be the same when VkPhysicalDeviceExternalImageFormatInfo::handleType is 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, VkExternalImageFormatProperties

Layout


 struct VkExternalMemoryProperties {
     VkExternalMemoryFeatureFlags externalMemoryFeatures();
     VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes();
     VkExternalMemoryHandleTypeFlags compatibleHandleTypes();
 }
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • EXTERNALMEMORYFEATURES

      public static final int EXTERNALMEMORYFEATURES
      The struct member offsets.
    • EXPORTFROMIMPORTEDHANDLETYPES

      public static final int EXPORTFROMIMPORTEDHANDLETYPES
      The struct member offsets.
    • COMPATIBLEHANDLETYPES

      public static final int COMPATIBLEHANDLETYPES
      The struct member offsets.
  • Constructor Details

    • VkExternalMemoryProperties

      public VkExternalMemoryProperties(ByteBuffer container)
      Creates a VkExternalMemoryProperties instance at the current position of the specified ByteBuffer container. 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:
      sizeof in class org.lwjgl.system.Struct<VkExternalMemoryProperties>
    • externalMemoryFeatures

      public int externalMemoryFeatures()
      a bitmask of VkExternalMemoryFeatureFlagBits specifying the features of handleType.
    • exportFromImportedHandleTypes

      public int exportFromImportedHandleTypes()
      a bitmask of VkExternalMemoryHandleTypeFlagBits specifying which types of imported handle handleType can be exported from.
    • compatibleHandleTypes

      public int compatibleHandleTypes()
      a bitmask of VkExternalMemoryHandleTypeFlagBits specifying handle types which can be specified at the same time as handleType when creating an image compatible with external memory.
    • create

      public static VkExternalMemoryProperties create(long address)
      Returns a new VkExternalMemoryProperties instance for the specified memory address.
    • createSafe

      public static @Nullable VkExternalMemoryProperties createSafe(long address)
      Like create, but returns null if address is NULL.
    • create

      public static VkExternalMemoryProperties.Buffer create(long address, int capacity)
      Create a VkExternalMemoryProperties.Buffer instance at the specified memory.
      Parameters:
      address - the memory address
      capacity - the buffer capacity
    • createSafe

      public static @Nullable VkExternalMemoryProperties.Buffer createSafe(long address, int capacity)
      Like create, but returns null if address is NULL.
    • nexternalMemoryFeatures

      public static int nexternalMemoryFeatures(long struct)
      Unsafe version of externalMemoryFeatures().
    • nexportFromImportedHandleTypes

      public static int nexportFromImportedHandleTypes(long struct)
    • ncompatibleHandleTypes

      public static int ncompatibleHandleTypes(long struct)
      Unsafe version of compatibleHandleTypes().