Class VulkanBackendImage

java.lang.Object
icyllis.arc3d.engine.BackendImage
icyllis.arc3d.vulkan.VulkanBackendImage

public final class VulkanBackendImage extends BackendImage
When importing external memory, mMemoryHandle is POSIX file descriptor or Win32 NT handle (though HANDLE is defined as void*, we can safely truncate it because Win32 handles are 32-bit significant). If it is an NT handle, it must be released manually by the memory exporter (e.g. Vulkan).
  • Field Details

    • mLevelCount

      public int mLevelCount
    • mMemoryHandle

      public long mMemoryHandle
  • Constructor Details

    • VulkanBackendImage

      public VulkanBackendImage(int width, int height, VulkanImageDesc desc)
  • Method Details

    • getBackend

      public int getBackend()
      Specified by:
      getBackend in class BackendImage
      Returns:
      see Engine.BackendApi
    • isExternal

      public boolean isExternal()
      Specified by:
      isExternal in class BackendImage
      Returns:
      external texture
    • setVkImageLayout

      public void setVkImageLayout(int layout)
      Description copied from class: BackendImage
      Anytime the client changes the VkImageLayout of the VkImage captured by this BackendImage, they must call this function to notify pipeline of the changed layout.
      Overrides:
      setVkImageLayout in class BackendImage
    • setVkQueueFamilyIndex

      public void setVkQueueFamilyIndex(int queueFamilyIndex)
      Description copied from class: BackendImage
      Anytime the client changes the QueueFamilyIndex of the VkImage captured by this BackendImage, they must call this function to notify pipeline of the changed layout.
      Overrides:
      setVkQueueFamilyIndex in class BackendImage
    • getBackendFormat

      @Nonnull public BackendFormat getBackendFormat()
      Description copied from class: BackendImage
      Get the BackendFormat for this image/texture.
      Specified by:
      getBackendFormat in class BackendImage
    • isProtected

      public boolean isProtected()
      Description copied from class: BackendImage
      Returns true if we are working with protected content.
      Specified by:
      isProtected in class BackendImage
    • isSameImage

      public boolean isSameImage(BackendImage image)
      Description copied from class: BackendImage
      Returns true if both images are valid and refer to the same API image handle.
      Specified by:
      isSameImage in class BackendImage