# Interface VulkanQueueType

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

All Known Implementing Classes:
  `VulkanLWJGLQueue`

public interface VulkanQueueType extends VulkanHandleDispatchableType
A queue on a logical device.

See Also:
  - "VkQueue"

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default VulkanQueueFamilyIndex`
  `queueFamilyIndex()`
  `VulkanQueueFamilyProperties`
  `queueFamilyProperties()`
  `VulkanQueueIndex`
  `queueIndex()`
  `default void`
  `submit(List<VulkanSubmitInfo> submissions)`
  Submit the given list of queue submissions.
  `void`
  `submit(List<VulkanSubmitInfo> submissions, Optional<VulkanFenceType> fence)`
  Submit the given list of queue submissions.
  `void`
  `waitIdle()`
  Wait until all items in the given queue have finished executing.

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

  `isClosed`

  ### Methods inherited from interface VulkanHandleType

  `close`

- ## Method Details

  - ### queueFamilyProperties

    VulkanQueueFamilyProperties queueFamilyProperties()
    Returns:
      The properties for the queue family to which this queue belongs

  - ### queueIndex

    VulkanQueueIndex queueIndex()
    Returns:
      The index of the queue within the queue family to which it belongs

  - ### queueFamilyIndex

    default VulkanQueueFamilyIndex queueFamilyIndex()
    Returns:
      The queue family index
    See Also:
      - `VulkanQueueFamilyProperties.queueFamilyIndex()`

  - ### submit

    void submit(List<VulkanSubmitInfo> submissions, Optional<VulkanFenceType> fence) throws VulkanException
    Submit the given list of queue submissions. If a fence is provided, the fence is signalled when all of the command buffers have finished executing.
    Parameters:
      `submissions` - The queue submissions
      `fence` - A fence
    Throws:
      `VulkanException` - On errors

  - ### submit

    default void submit(List<VulkanSubmitInfo> submissions) throws VulkanException
    Submit the given list of queue submissions.
    Parameters:
      `submissions` - The queue submissions
    Throws:
      `VulkanException` - On errors

  - ### waitIdle

    void waitIdle() throws VulkanException
    Wait until all items in the given queue have finished executing.
    Throws:
      `VulkanException` - On errors