# Interface VulkanExtKHRSwapChainType.VulkanKHRSwapChainType

All Superinterfaces:
  `AutoCloseable, com.io7m.jmulticlose.core.CloseableType, VulkanHandleType`

Enclosing interface:
  `VulkanExtKHRSwapChainType`

public static interface VulkanExtKHRSwapChainType.VulkanKHRSwapChainType extends VulkanHandleType
A created swap chain.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `VulkanSwapChainAcquisitionResultType`
  `acquireImageWithFence(long timeout, VulkanFenceType fence)`
  Attempt to acquire an image from the swap chain.
  `VulkanSwapChainAcquisitionResultType`
  `acquireImageWithSemaphore(long timeout, VulkanSemaphoreBinaryType semaphore)`
  Attempt to acquire an image from the swap chain.
  `VulkanSwapChainAcquisitionResultType`
  `acquireImageWithSemaphoreAndFence(long timeout, VulkanSemaphoreBinaryType semaphore, VulkanFenceType fence)`
  Attempt to acquire an image from the swap chain.
  `List<VulkanImageType>`
  `images()`

  ### Methods inherited from interface com.io7m.jmulticlose.core.CloseableType

  `isClosed`

  ### Methods inherited from interface VulkanHandleType

  `close`

- ## Method Details

  - ### images

    List<VulkanImageType> images() throws VulkanException
    Returns:
      The list of images associated with the swap chain
    Throws:
      `VulkanException` - On errors

  - ### acquireImageWithSemaphore

    VulkanSwapChainAcquisitionResultType acquireImageWithSemaphore(long timeout, VulkanSemaphoreBinaryType semaphore) throws VulkanException
    Attempt to acquire an image from the swap chain. If `timeout` is `0`, the method will return immediately. If `timeout` is `0xffffffff_ffffffff`, the method will wait indefinitely.
    Parameters:
      `timeout` - A timeout value in nanoseconds.
      `semaphore` - A semaphore that will be signalled when an image is available
    Returns:
      An image acquisition
    Throws:
      `VulkanException` - On errors

  - ### acquireImageWithFence

    VulkanSwapChainAcquisitionResultType acquireImageWithFence(long timeout, VulkanFenceType fence) throws VulkanException
    Attempt to acquire an image from the swap chain. If `timeout` is `0`, the method will return immediately. If `timeout` is `0xffffffff_ffffffff`, the method will wait indefinitely.
    Parameters:
      `timeout` - A timeout value in nanoseconds.
      `fence` - A fence that will be signalled when an image is available
    Returns:
      An image acquisition
    Throws:
      `VulkanException` - On errors

  - ### acquireImageWithSemaphoreAndFence

    VulkanSwapChainAcquisitionResultType acquireImageWithSemaphoreAndFence(long timeout, VulkanSemaphoreBinaryType semaphore, VulkanFenceType fence) throws VulkanException
    Attempt to acquire an image from the swap chain. If `timeout` is `0`, the method will return immediately. If `timeout` is `0xffffffff_ffffffff`, the method will wait indefinitely.
    Parameters:
      `timeout` - A timeout value in nanoseconds.
      `semaphore` - A semaphore that will be signalled when an image is available
      `fence` - A fence that will be signalled when an image is available
    Returns:
      An image acquisition
    Throws:
      `VulkanException` - On errors