Interface VkBindings


public interface VkBindings
Abstraction over Vulkan functions and constants.

Implementations delegate to a concrete Vulkan loader (e.g. LWJGL). The interface hides struct allocation, MemoryStack, and pointer-based out parameters — callers work with plain longs and records.

All Vulkan object handles are represented as long. Command buffers are also long handles.

  • Field Details

    • VK_NULL_HANDLE

      static final long VK_NULL_HANDLE
      See Also:
    • VK_FALSE

      static final int VK_FALSE
      See Also:
    • VK_TRUE

      static final int VK_TRUE
      See Also:
    • VK_SUCCESS

      static final int VK_SUCCESS
      See Also:
    • VK_SUBOPTIMAL_KHR

      static final int VK_SUBOPTIMAL_KHR
      See Also:
    • VK_ERROR_OUT_OF_DATE_KHR

      static final int VK_ERROR_OUT_OF_DATE_KHR
      See Also:
    • VK_QUEUE_GRAPHICS_BIT

      static final int VK_QUEUE_GRAPHICS_BIT
      See Also:
    • VK_BUFFER_USAGE_VERTEX_BUFFER_BIT

      static final int VK_BUFFER_USAGE_VERTEX_BUFFER_BIT
      See Also:
    • VK_BUFFER_USAGE_INDEX_BUFFER_BIT

      static final int VK_BUFFER_USAGE_INDEX_BUFFER_BIT
      See Also:
    • VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT

      static final int VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT
      See Also:
    • VK_BUFFER_USAGE_STORAGE_BUFFER_BIT

      static final int VK_BUFFER_USAGE_STORAGE_BUFFER_BIT
      See Also:
    • VK_BUFFER_USAGE_TRANSFER_SRC_BIT

      static final int VK_BUFFER_USAGE_TRANSFER_SRC_BIT
      See Also:
    • VK_BUFFER_USAGE_TRANSFER_DST_BIT

      static final int VK_BUFFER_USAGE_TRANSFER_DST_BIT
      See Also:
    • VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT

      static final int VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
      See Also:
    • VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT

      static final int VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
      See Also:
    • VK_MEMORY_PROPERTY_HOST_COHERENT_BIT

      static final int VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
      See Also:
    • VK_IMAGE_TYPE_2D

      static final int VK_IMAGE_TYPE_2D
      See Also:
    • VK_IMAGE_TYPE_3D

      static final int VK_IMAGE_TYPE_3D
      See Also:
    • VK_IMAGE_VIEW_TYPE_2D

      static final int VK_IMAGE_VIEW_TYPE_2D
      See Also:
    • VK_IMAGE_VIEW_TYPE_3D

      static final int VK_IMAGE_VIEW_TYPE_3D
      See Also:
    • VK_IMAGE_VIEW_TYPE_CUBE

      static final int VK_IMAGE_VIEW_TYPE_CUBE
      See Also:
    • VK_IMAGE_VIEW_TYPE_2D_ARRAY

      static final int VK_IMAGE_VIEW_TYPE_2D_ARRAY
      See Also:
    • VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT

      static final int VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT
      See Also:
    • VK_IMAGE_USAGE_TRANSFER_SRC_BIT

      static final int VK_IMAGE_USAGE_TRANSFER_SRC_BIT
      See Also:
    • VK_IMAGE_USAGE_TRANSFER_DST_BIT

      static final int VK_IMAGE_USAGE_TRANSFER_DST_BIT
      See Also:
    • VK_IMAGE_USAGE_SAMPLED_BIT

      static final int VK_IMAGE_USAGE_SAMPLED_BIT
      See Also:
    • VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT

      static final int VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
      See Also:
    • VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT

      static final int VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
      See Also:
    • VK_IMAGE_LAYOUT_UNDEFINED

      static final int VK_IMAGE_LAYOUT_UNDEFINED
      See Also:
    • VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL

      static final int VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
      See Also:
    • VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL

      static final int VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
      See Also:
    • VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL

      static final int VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
      See Also:
    • VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL

      static final int VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
      See Also:
    • VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL

      static final int VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
      See Also:
    • VK_IMAGE_LAYOUT_PRESENT_SRC_KHR

      static final int VK_IMAGE_LAYOUT_PRESENT_SRC_KHR
      See Also:
    • VK_IMAGE_ASPECT_COLOR_BIT

      static final int VK_IMAGE_ASPECT_COLOR_BIT
      See Also:
    • VK_IMAGE_ASPECT_DEPTH_BIT

      static final int VK_IMAGE_ASPECT_DEPTH_BIT
      See Also:
    • VK_IMAGE_ASPECT_STENCIL_BIT

      static final int VK_IMAGE_ASPECT_STENCIL_BIT
      See Also:
    • VK_FORMAT_R8_UNORM

      static final int VK_FORMAT_R8_UNORM
      See Also:
    • VK_FORMAT_R8G8B8_UNORM

      static final int VK_FORMAT_R8G8B8_UNORM
      See Also:
    • VK_FORMAT_R8G8B8A8_UNORM

      static final int VK_FORMAT_R8G8B8A8_UNORM
      See Also:
    • VK_FORMAT_B8G8R8A8_UNORM

      static final int VK_FORMAT_B8G8R8A8_UNORM
      See Also:
    • VK_FORMAT_R8G8B8A8_SRGB

      static final int VK_FORMAT_R8G8B8A8_SRGB
      See Also:
    • VK_FORMAT_B8G8R8A8_SRGB

      static final int VK_FORMAT_B8G8R8A8_SRGB
      See Also:
    • VK_FORMAT_R16_SFLOAT

      static final int VK_FORMAT_R16_SFLOAT
      See Also:
    • VK_FORMAT_R16G16_SFLOAT

      static final int VK_FORMAT_R16G16_SFLOAT
      See Also:
    • VK_FORMAT_R16G16B16A16_SFLOAT

      static final int VK_FORMAT_R16G16B16A16_SFLOAT
      See Also:
    • VK_FORMAT_R32_UINT

      static final int VK_FORMAT_R32_UINT
      See Also:
    • VK_FORMAT_R32_SINT

      static final int VK_FORMAT_R32_SINT
      See Also:
    • VK_FORMAT_R32_SFLOAT

      static final int VK_FORMAT_R32_SFLOAT
      See Also:
    • VK_FORMAT_R32G32_SINT

      static final int VK_FORMAT_R32G32_SINT
      See Also:
    • VK_FORMAT_R32G32_SFLOAT

      static final int VK_FORMAT_R32G32_SFLOAT
      See Also:
    • VK_FORMAT_R32G32B32_SINT

      static final int VK_FORMAT_R32G32B32_SINT
      See Also:
    • VK_FORMAT_R32G32B32_SFLOAT

      static final int VK_FORMAT_R32G32B32_SFLOAT
      See Also:
    • VK_FORMAT_R32G32B32A32_SINT

      static final int VK_FORMAT_R32G32B32A32_SINT
      See Also:
    • VK_FORMAT_R32G32B32A32_SFLOAT

      static final int VK_FORMAT_R32G32B32A32_SFLOAT
      See Also:
    • VK_FORMAT_D16_UNORM

      static final int VK_FORMAT_D16_UNORM
      See Also:
    • VK_FORMAT_D32_SFLOAT

      static final int VK_FORMAT_D32_SFLOAT
      See Also:
    • VK_FORMAT_D24_UNORM_S8_UINT

      static final int VK_FORMAT_D24_UNORM_S8_UINT
      See Also:
    • VK_FORMAT_D32_SFLOAT_S8_UINT

      static final int VK_FORMAT_D32_SFLOAT_S8_UINT
      See Also:
    • VK_FORMAT_R32_SINT_V

      static final int VK_FORMAT_R32_SINT_V
      See Also:
    • VK_SHADER_STAGE_VERTEX_BIT

      static final int VK_SHADER_STAGE_VERTEX_BIT
      See Also:
    • VK_SHADER_STAGE_FRAGMENT_BIT

      static final int VK_SHADER_STAGE_FRAGMENT_BIT
      See Also:
    • VK_SHADER_STAGE_GEOMETRY_BIT

      static final int VK_SHADER_STAGE_GEOMETRY_BIT
      See Also:
    • VK_SHADER_STAGE_COMPUTE_BIT

      static final int VK_SHADER_STAGE_COMPUTE_BIT
      See Also:
    • VK_PIPELINE_BIND_POINT_GRAPHICS

      static final int VK_PIPELINE_BIND_POINT_GRAPHICS
      See Also:
    • VK_PIPELINE_BIND_POINT_COMPUTE

      static final int VK_PIPELINE_BIND_POINT_COMPUTE
      See Also:
    • VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER

      static final int VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
      See Also:
    • VK_DESCRIPTOR_TYPE_STORAGE_BUFFER

      static final int VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
      See Also:
    • VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER

      static final int VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
      See Also:
    • VK_INDEX_TYPE_UINT16

      static final int VK_INDEX_TYPE_UINT16
      See Also:
    • VK_INDEX_TYPE_UINT32

      static final int VK_INDEX_TYPE_UINT32
      See Also:
    • VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT

      static final int VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT
      See Also:
    • VK_PIPELINE_STAGE_VERTEX_SHADER_BIT

      static final int VK_PIPELINE_STAGE_VERTEX_SHADER_BIT
      See Also:
    • VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT

      static final int VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT
      See Also:
    • VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT

      static final int VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT
      See Also:
    • VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT

      static final int VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
      See Also:
    • VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT

      static final int VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT
      See Also:
    • VK_PIPELINE_STAGE_TRANSFER_BIT

      static final int VK_PIPELINE_STAGE_TRANSFER_BIT
      See Also:
    • VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT

      static final int VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT
      See Also:
    • VK_PIPELINE_STAGE_ALL_COMMANDS_BIT

      static final int VK_PIPELINE_STAGE_ALL_COMMANDS_BIT
      See Also:
    • VK_ACCESS_SHADER_READ_BIT

      static final int VK_ACCESS_SHADER_READ_BIT
      See Also:
    • VK_ACCESS_SHADER_WRITE_BIT

      static final int VK_ACCESS_SHADER_WRITE_BIT
      See Also:
    • VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT

      static final int VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT
      See Also:
    • VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT

      static final int VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT
      See Also:
    • VK_ACCESS_TRANSFER_READ_BIT

      static final int VK_ACCESS_TRANSFER_READ_BIT
      See Also:
    • VK_ACCESS_TRANSFER_WRITE_BIT

      static final int VK_ACCESS_TRANSFER_WRITE_BIT
      See Also:
    • VK_ACCESS_MEMORY_READ_BIT

      static final int VK_ACCESS_MEMORY_READ_BIT
      See Also:
    • VK_ACCESS_MEMORY_WRITE_BIT

      static final int VK_ACCESS_MEMORY_WRITE_BIT
      See Also:
    • VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT

      static final int VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT
      See Also:
    • VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT

      static final int VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
      See Also:
    • VK_BLEND_FACTOR_ZERO

      static final int VK_BLEND_FACTOR_ZERO
      See Also:
    • VK_BLEND_FACTOR_ONE

      static final int VK_BLEND_FACTOR_ONE
      See Also:
    • VK_BLEND_FACTOR_SRC_ALPHA

      static final int VK_BLEND_FACTOR_SRC_ALPHA
      See Also:
    • VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA

      static final int VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA
      See Also:
    • VK_BLEND_FACTOR_DST_COLOR

      static final int VK_BLEND_FACTOR_DST_COLOR
      See Also:
    • VK_BLEND_FACTOR_DST_ALPHA

      static final int VK_BLEND_FACTOR_DST_ALPHA
      See Also:
    • VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA

      static final int VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA
      See Also:
    • VK_COMPARE_OP_NEVER

      static final int VK_COMPARE_OP_NEVER
      See Also:
    • VK_COMPARE_OP_LESS

      static final int VK_COMPARE_OP_LESS
      See Also:
    • VK_COMPARE_OP_EQUAL

      static final int VK_COMPARE_OP_EQUAL
      See Also:
    • VK_COMPARE_OP_LESS_OR_EQUAL

      static final int VK_COMPARE_OP_LESS_OR_EQUAL
      See Also:
    • VK_COMPARE_OP_GREATER

      static final int VK_COMPARE_OP_GREATER
      See Also:
    • VK_COMPARE_OP_NOT_EQUAL

      static final int VK_COMPARE_OP_NOT_EQUAL
      See Also:
    • VK_COMPARE_OP_GREATER_OR_EQUAL

      static final int VK_COMPARE_OP_GREATER_OR_EQUAL
      See Also:
    • VK_COMPARE_OP_ALWAYS

      static final int VK_COMPARE_OP_ALWAYS
      See Also:
    • VK_STENCIL_OP_KEEP

      static final int VK_STENCIL_OP_KEEP
      See Also:
    • VK_STENCIL_OP_ZERO

      static final int VK_STENCIL_OP_ZERO
      See Also:
    • VK_STENCIL_OP_REPLACE

      static final int VK_STENCIL_OP_REPLACE
      See Also:
    • VK_STENCIL_OP_INCREMENT_AND_CLAMP

      static final int VK_STENCIL_OP_INCREMENT_AND_CLAMP
      See Also:
    • VK_STENCIL_OP_DECREMENT_AND_CLAMP

      static final int VK_STENCIL_OP_DECREMENT_AND_CLAMP
      See Also:
    • VK_STENCIL_OP_INVERT

      static final int VK_STENCIL_OP_INVERT
      See Also:
    • VK_STENCIL_OP_INCREMENT_AND_WRAP

      static final int VK_STENCIL_OP_INCREMENT_AND_WRAP
      See Also:
    • VK_STENCIL_OP_DECREMENT_AND_WRAP

      static final int VK_STENCIL_OP_DECREMENT_AND_WRAP
      See Also:
    • VK_STENCIL_FACE_FRONT_AND_BACK

      static final int VK_STENCIL_FACE_FRONT_AND_BACK
      See Also:
    • VK_CULL_MODE_NONE

      static final int VK_CULL_MODE_NONE
      See Also:
    • VK_CULL_MODE_FRONT_BIT

      static final int VK_CULL_MODE_FRONT_BIT
      See Also:
    • VK_CULL_MODE_BACK_BIT

      static final int VK_CULL_MODE_BACK_BIT
      See Also:
    • VK_FRONT_FACE_COUNTER_CLOCKWISE

      static final int VK_FRONT_FACE_COUNTER_CLOCKWISE
      See Also:
    • VK_FRONT_FACE_CLOCKWISE

      static final int VK_FRONT_FACE_CLOCKWISE
      See Also:
    • VK_FILTER_NEAREST

      static final int VK_FILTER_NEAREST
      See Also:
    • VK_FILTER_LINEAR

      static final int VK_FILTER_LINEAR
      See Also:
    • VK_SAMPLER_MIPMAP_MODE_NEAREST

      static final int VK_SAMPLER_MIPMAP_MODE_NEAREST
      See Also:
    • VK_SAMPLER_MIPMAP_MODE_LINEAR

      static final int VK_SAMPLER_MIPMAP_MODE_LINEAR
      See Also:
    • VK_SAMPLER_ADDRESS_MODE_REPEAT

      static final int VK_SAMPLER_ADDRESS_MODE_REPEAT
      See Also:
    • VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT

      static final int VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT
      See Also:
    • VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE

      static final int VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
      See Also:
    • VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER

      static final int VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER
      See Also:
    • VK_POLYGON_MODE_FILL

      static final int VK_POLYGON_MODE_FILL
      See Also:
    • VK_POLYGON_MODE_LINE

      static final int VK_POLYGON_MODE_LINE
      See Also:
    • VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST

      static final int VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST
      See Also:
    • VK_SAMPLE_COUNT_1_BIT

      static final int VK_SAMPLE_COUNT_1_BIT
      See Also:
    • VK_SHARING_MODE_EXCLUSIVE

      static final int VK_SHARING_MODE_EXCLUSIVE
      See Also:
    • VK_IMAGE_TILING_OPTIMAL

      static final int VK_IMAGE_TILING_OPTIMAL
      See Also:
    • VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT

      static final int VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
      See Also:
    • VK_FENCE_CREATE_SIGNALED_BIT

      static final int VK_FENCE_CREATE_SIGNALED_BIT
      See Also:
    • VK_SUBPASS_EXTERNAL

      static final int VK_SUBPASS_EXTERNAL
      See Also:
    • VK_DEPENDENCY_BY_REGION_BIT

      static final int VK_DEPENDENCY_BY_REGION_BIT
      See Also:
    • VK_ATTACHMENT_LOAD_OP_CLEAR

      static final int VK_ATTACHMENT_LOAD_OP_CLEAR
      See Also:
    • VK_ATTACHMENT_LOAD_OP_DONT_CARE

      static final int VK_ATTACHMENT_LOAD_OP_DONT_CARE
      See Also:
    • VK_ATTACHMENT_STORE_OP_STORE

      static final int VK_ATTACHMENT_STORE_OP_STORE
      See Also:
    • VK_ATTACHMENT_STORE_OP_DONT_CARE

      static final int VK_ATTACHMENT_STORE_OP_DONT_CARE
      See Also:
    • VK_DYNAMIC_STATE_VIEWPORT

      static final int VK_DYNAMIC_STATE_VIEWPORT
      See Also:
    • VK_DYNAMIC_STATE_SCISSOR

      static final int VK_DYNAMIC_STATE_SCISSOR
      See Also:
    • VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE

      static final int VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE
      See Also:
    • VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE

      static final int VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE
      See Also:
    • VK_DYNAMIC_STATE_DEPTH_COMPARE_OP

      static final int VK_DYNAMIC_STATE_DEPTH_COMPARE_OP
      See Also:
    • VK_DYNAMIC_STATE_CULL_MODE

      static final int VK_DYNAMIC_STATE_CULL_MODE
      See Also:
    • VK_DYNAMIC_STATE_FRONT_FACE

      static final int VK_DYNAMIC_STATE_FRONT_FACE
      See Also:
    • VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK

      static final int VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK
      See Also:
    • VK_DYNAMIC_STATE_STENCIL_WRITE_MASK

      static final int VK_DYNAMIC_STATE_STENCIL_WRITE_MASK
      See Also:
    • VK_DYNAMIC_STATE_STENCIL_REFERENCE

      static final int VK_DYNAMIC_STATE_STENCIL_REFERENCE
      See Also:
    • VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE

      static final int VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE
      See Also:
    • VK_DYNAMIC_STATE_STENCIL_OP

      static final int VK_DYNAMIC_STATE_STENCIL_OP
      See Also:
    • VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR

      static final int VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
      See Also:
    • VK_PRESENT_MODE_IMMEDIATE_KHR

      static final int VK_PRESENT_MODE_IMMEDIATE_KHR
      See Also:
    • VK_PRESENT_MODE_MAILBOX_KHR

      static final int VK_PRESENT_MODE_MAILBOX_KHR
      See Also:
    • VK_PRESENT_MODE_FIFO_KHR

      static final int VK_PRESENT_MODE_FIFO_KHR
      See Also:
    • VK_COLOR_SPACE_SRGB_NONLINEAR_KHR

      static final int VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
      See Also:
    • VK_QUEUE_FAMILY_IGNORED

      static final int VK_QUEUE_FAMILY_IGNORED
      See Also:
    • VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK

      static final int VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK
      See Also:
    • VK_BORDER_COLOR_INT_TRANSPARENT_BLACK

      static final int VK_BORDER_COLOR_INT_TRANSPARENT_BLACK
      See Also:
    • VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK

      static final int VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK
      See Also:
    • VK_BORDER_COLOR_INT_OPAQUE_BLACK

      static final int VK_BORDER_COLOR_INT_OPAQUE_BLACK
      See Also:
    • VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE

      static final int VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE
      See Also:
    • VK_BORDER_COLOR_INT_OPAQUE_WHITE

      static final int VK_BORDER_COLOR_INT_OPAQUE_WHITE
      See Also:
    • VK_BLEND_OP_ADD

      static final int VK_BLEND_OP_ADD
      See Also:
    • VK_COLOR_COMPONENT_R_BIT

      static final int VK_COLOR_COMPONENT_R_BIT
      See Also:
    • VK_COLOR_COMPONENT_G_BIT

      static final int VK_COLOR_COMPONENT_G_BIT
      See Also:
    • VK_COLOR_COMPONENT_B_BIT

      static final int VK_COLOR_COMPONENT_B_BIT
      See Also:
    • VK_COLOR_COMPONENT_A_BIT

      static final int VK_COLOR_COMPONENT_A_BIT
      See Also:
    • VK_COMPONENT_SWIZZLE_IDENTITY

      static final int VK_COMPONENT_SWIZZLE_IDENTITY
      See Also:
    • VK_VERTEX_INPUT_RATE_VERTEX

      static final int VK_VERTEX_INPUT_RATE_VERTEX
      See Also:
  • Method Details

    • createInstance

      long createInstance(boolean validationEnabled, String[] requiredExtensions, BiConsumer<Integer,String> debugCallback)
      Creates a VkInstance.
      Parameters:
      validationEnabled - whether to enable validation layers
      requiredExtensions - instance extensions (e.g. surface extensions)
      debugCallback - if non-null, sets up debug messenger; receives (severity, message)
      Returns:
      instance handle
    • enumeratePhysicalDevices

      long[] enumeratePhysicalDevices(long instance)
    • getDeviceName

      String getDeviceName(long instance, long physicalDevice)
    • getApiVersion

      int[] getApiVersion(long instance, long physicalDevice)
    • findGraphicsQueueFamily

      int findGraphicsQueueFamily(long instance, long physicalDevice, long surface)
      Finds a graphics queue family that also supports presentation to the given surface. Returns -1 if none found.
    • createDevice

      long createDevice(long instance, long physicalDevice, int queueFamily, String[] extensions)
      Creates a logical device with one graphics queue.
      Returns:
      device handle
    • getDeviceQueue

      long getDeviceQueue(long device, long physicalDevice, int queueFamily)
    • deviceWaitIdle

      void deviceWaitIdle(long device)
    • destroySurface

      void destroySurface(long instance, long surface)
    • createSwapchain

      VkBindings.SwapchainResult createSwapchain(long device, long physicalDevice, long surface, int requestedWidth, int requestedHeight, long oldSwapchain)
      Creates (or recreates) a swapchain. If oldSwapchain is not VK_NULL_HANDLE, the old swapchain is used as the basis and its image views are destroyed.
      Returns:
      swapchain result with format, dimensions, images, and image views
    • createSwapchain

      default VkBindings.SwapchainResult createSwapchain(long device, long physicalDevice, long surface, int requestedWidth, int requestedHeight, long oldSwapchain, int preferredFormat, int preferredPresentMode)
      Creates a swapchain with preferred format and present mode. Falls back to available options if preferences aren't supported.
    • acquireNextImage

      int acquireNextImage(long device, long swapchain, long semaphore)
      Acquires the next swapchain image.
      Returns:
      image index, or -1 if out of date
    • queuePresent

      int queuePresent(long queue, long swapchain, int imageIndex, long waitSemaphore)
      Presents a swapchain image.
      Returns:
      VK result code
    • destroySwapchain

      void destroySwapchain(long device, long swapchain)
    • createBuffer

      VkBindings.BufferAlloc createBuffer(long device, long physicalDevice, long size, int usage, int memProps)
    • destroyBuffer

      void destroyBuffer(long device, long buffer)
    • freeMemory

      void freeMemory(long device, long memory)
    • mapMemory

      long mapMemory(long device, long memory, long offset, long size)
      Maps device memory and returns the native address pointer.
    • unmapMemory

      void unmapMemory(long device, long memory)
    • bindBufferMemory

      void bindBufferMemory(long device, long buffer, long memory, long offset)
    • createImage

      VkBindings.ImageAlloc createImage(long device, long physicalDevice, int width, int height, int depth, int arrayLayers, int mipLevels, int format, int usage, int imageType, int viewType, int aspectMask, int createFlags)
    • createImageNoView

      VkBindings.ImageNoView createImageNoView(long device, long physicalDevice, int width, int height, int depth, int arrayLayers, int mipLevels, int format, int usage, int imageType, int createFlags)
    • createImageView

      long createImageView(long device, long image, int format, int viewType, int aspectMask, int baseMipLevel, int levelCount, int baseArrayLayer, int layerCount)
    • destroyImage

      void destroyImage(long device, long image)
    • destroyImageView

      void destroyImageView(long device, long imageView)
    • bindImageMemory

      void bindImageMemory(long device, long image, long memory, long offset)
    • createSampler

      long createSampler(long device, int magFilter, int minFilter, int mipmapMode, int addressModeU, int addressModeV, int addressModeW, float minLod, float maxLod, float lodBias, boolean anisotropyEnable, float maxAnisotropy, boolean compareEnable, int compareOp, int borderColor)
    • destroySampler

      void destroySampler(long device, long sampler)
    • createShaderModule

      long createShaderModule(long device, byte[] spirv)
    • destroyShaderModule

      void destroyShaderModule(long device, long module)
    • createRenderPass

      long createRenderPass(long device, VkBindings.AttachmentDesc[] colorAttachments, VkBindings.AttachmentDesc depthAttachment, VkBindings.SubpassDependencyDesc[] dependencies)
      Creates a render pass with the given attachment descriptions. Color attachments come first, then an optional depth attachment.
    • destroyRenderPass

      void destroyRenderPass(long device, long renderPass)
    • findDepthFormat

      int findDepthFormat(long instance, long physicalDevice)
    • createFramebuffer

      long createFramebuffer(long device, long renderPass, long[] attachments, int width, int height)
    • destroyFramebuffer

      void destroyFramebuffer(long device, long framebuffer)
    • createGraphicsPipeline

      long createGraphicsPipeline(long device, long renderPass, long pipelineLayout, long pipelineCache, long[] shaderModules, int[] shaderStages, int[] vertexAttribLocations, int[] vertexAttribFormats, int[] vertexAttribOffsets, int vertexStride, boolean blendEnabled, int srcColorFactor, int dstColorFactor, int srcAlphaFactor, int dstAlphaFactor, boolean wireframe, int[] dynamicStates)
      Creates a graphics pipeline.
      Parameters:
      shaderModules - shader module handles
      shaderStages - corresponding VK_SHADER_STAGE_xxx flags
      vertexAttribLocations - attribute locations
      vertexAttribFormats - VK format per attribute
      vertexAttribOffsets - byte offset per attribute
      vertexStride - total vertex stride in bytes
      blendEnabled - whether color blending is enabled
      srcColorFactor - blend src color factor
      dstColorFactor - blend dst color factor
      srcAlphaFactor - blend src alpha factor
      dstAlphaFactor - blend dst alpha factor
      wireframe - if true, polygon mode = LINE
      dynamicStates - VK_DYNAMIC_STATE_xxx values
    • createComputePipeline

      long createComputePipeline(long device, long pipelineLayout, long pipelineCache, long shaderModule)
    • destroyPipeline

      void destroyPipeline(long device, long pipeline)
    • createPipelineCache

      long createPipelineCache(long device, byte[] initialData)
    • getPipelineCacheData

      byte[] getPipelineCacheData(long device, long pipelineCache)
    • destroyPipelineCache

      void destroyPipelineCache(long device, long pipelineCache)
    • createDescriptorSetLayout

      long createDescriptorSetLayout(long device, int[] bindings, int[] types, int[] stageFlags, int[] counts)
      Creates a descriptor set layout with the given bindings.
      Parameters:
      bindings - binding indices
      types - VK_DESCRIPTOR_TYPE_xxx per binding
      stageFlags - VK_SHADER_STAGE_xxx per binding
      counts - descriptor count per binding
    • createPipelineLayout

      long createPipelineLayout(long device, long descriptorSetLayout, int pushConstantSize, int pushConstantStages)
      Creates a pipeline layout.
      Parameters:
      pushConstantSize - size in bytes (0 for none)
      pushConstantStages - VK_SHADER_STAGE flags for push constants
    • createDescriptorPool

      long createDescriptorPool(long device, int[] types, int[] descriptorCounts, int maxSets)
    • allocateDescriptorSet

      long allocateDescriptorSet(long device, long pool, long layout)
    • resetDescriptorPool

      void resetDescriptorPool(long device, long pool)
    • updateDescriptorSets

      void updateDescriptorSets(long device, long set, int[] bufferBindings, int[] bufferTypes, long[] buffers, long[] bufferOffsets, long[] bufferRanges, int[] imageBindings, long[] imageViews, long[] imageSamplers, int[] imageLayouts)
      Updates descriptor bindings in bulk.
      Parameters:
      set - descriptor set
      bufferBindings - binding index for each buffer write
      bufferTypes - VK_DESCRIPTOR_TYPE for each buffer write
      buffers - buffer handles
      bufferOffsets - offsets
      bufferRanges - ranges
      imageBindings - binding index for each image write
      imageViews - image view handles
      imageSamplers - sampler handles
      imageLayouts - image layouts
    • destroyDescriptorPool

      void destroyDescriptorPool(long device, long pool)
    • destroyDescriptorSetLayout

      void destroyDescriptorSetLayout(long device, long layout)
    • destroyPipelineLayout

      void destroyPipelineLayout(long device, long pipelineLayout)
    • createCommandPool

      long createCommandPool(long device, int queueFamily, int flags)
    • allocateCommandBuffer

      long allocateCommandBuffer(long device, long commandPool)
    • beginCommandBuffer

      void beginCommandBuffer(long cmd, int flags)
    • endCommandBuffer

      void endCommandBuffer(long cmd)
    • resetCommandBuffer

      void resetCommandBuffer(long cmd)
    • freeCommandBuffer

      void freeCommandBuffer(long device, long pool, long cmd)
    • destroyCommandPool

      void destroyCommandPool(long device, long commandPool)
    • cmdBeginRenderPass

      void cmdBeginRenderPass(long cmd, long renderPass, long framebuffer, int x, int y, int width, int height, float[] colorClearValues, float clearDepth, int clearStencil)
    • cmdEndRenderPass

      void cmdEndRenderPass(long cmd)
    • cmdBindPipeline

      void cmdBindPipeline(long cmd, int bindPoint, long pipeline)
    • cmdBindVertexBuffers

      void cmdBindVertexBuffers(long cmd, long buffer)
    • cmdBindIndexBuffer

      void cmdBindIndexBuffer(long cmd, long buffer, int indexType)
    • cmdBindDescriptorSets

      void cmdBindDescriptorSets(long cmd, int bindPoint, long pipelineLayout, int firstSet, long set)
    • cmdDraw

      void cmdDraw(long cmd, int vertexCount, int instanceCount, int firstVertex, int firstInstance)
    • cmdDrawIndexed

      void cmdDrawIndexed(long cmd, int indexCount, int instanceCount, int firstIndex, int vertexOffset, int firstInstance)
    • cmdDrawIndirect

      void cmdDrawIndirect(long cmd, long buffer, long offset, int drawCount, int stride)
    • cmdDrawIndexedIndirect

      void cmdDrawIndexedIndirect(long cmd, long buffer, long offset, int drawCount, int stride)
    • cmdDispatch

      void cmdDispatch(long cmd, int groupCountX, int groupCountY, int groupCountZ)
    • cmdSetViewport

      void cmdSetViewport(long cmd, float x, float y, float width, float height, float minDepth, float maxDepth)
    • cmdSetScissor

      void cmdSetScissor(long cmd, int x, int y, int width, int height)
    • cmdPushConstants

      void cmdPushConstants(long cmd, long pipelineLayout, int stageFlags, int offset, ByteBuffer data)
    • cmdPipelineBarrier

      void cmdPipelineBarrier(long cmd, int srcStageMask, int dstStageMask, int srcAccessMask, int dstAccessMask)
    • cmdImageBarrier

      void cmdImageBarrier(long cmd, long image, int oldLayout, int newLayout, int srcStageMask, int dstStageMask, int srcAccessMask, int dstAccessMask, int aspectMask, int baseMipLevel, int levelCount)
    • cmdCopyBufferToImage

      void cmdCopyBufferToImage(long cmd, long buffer, long image, int imageLayout, int width, int height, int aspectMask, int mipLevel)
    • cmdCopyImageToBuffer

      void cmdCopyImageToBuffer(long cmd, long image, int imageLayout, long buffer, int x, int y, int width, int height, int aspectMask, int mipLevel)
    • cmdCopyBuffer

      void cmdCopyBuffer(long cmd, long src, long dst, long srcOffset, long dstOffset, long size)
    • cmdBlitImage

      void cmdBlitImage(long cmd, long srcImage, long dstImage, int srcWidth, int srcHeight, int dstWidth, int dstHeight, int srcMip, int dstMip, int filter)
    • cmdSetDepthTestEnable

      void cmdSetDepthTestEnable(long cmd, boolean enabled)
    • cmdSetDepthWriteEnable

      void cmdSetDepthWriteEnable(long cmd, boolean enabled)
    • cmdSetDepthCompareOp

      void cmdSetDepthCompareOp(long cmd, int compareOp)
    • cmdSetCullMode

      void cmdSetCullMode(long cmd, int cullMode)
    • cmdSetFrontFace

      void cmdSetFrontFace(long cmd, int frontFace)
    • cmdSetStencilTestEnable

      void cmdSetStencilTestEnable(long cmd, boolean enabled)
    • cmdSetStencilOp

      void cmdSetStencilOp(long cmd, int faceMask, int failOp, int passOp, int depthFailOp, int compareOp)
    • cmdSetStencilCompareMask

      void cmdSetStencilCompareMask(long cmd, int faceMask, int mask)
    • cmdSetStencilWriteMask

      void cmdSetStencilWriteMask(long cmd, int faceMask, int mask)
    • cmdSetStencilReference

      void cmdSetStencilReference(long cmd, int faceMask, int reference)
    • createSemaphore

      long createSemaphore(long device)
    • createFence

      long createFence(long device, boolean signaled)
    • waitForFences

      void waitForFences(long device, long fence, long timeout)
    • resetFences

      void resetFences(long device, long fence)
    • destroySemaphore

      void destroySemaphore(long device, long semaphore)
    • destroyFence

      void destroyFence(long device, long fence)
    • queueSubmit

      void queueSubmit(long queue, long cmd, long waitSemaphore, int waitStageMask, long signalSemaphore, long fence)
    • queueSubmitSimple

      void queueSubmitSimple(long queue, long cmd, long fence)
      Submit with no wait/signal semaphores.
    • queueWaitIdle

      void queueWaitIdle(long queue)
    • destroyDevice

      void destroyDevice(long device)
    • destroyInstance

      void destroyInstance(long instance)
    • findMemoryType

      int findMemoryType(long physicalDevice, int typeFilter, int properties)
    • getMaxImageDimension2D

      int getMaxImageDimension2D(long instance, long physicalDevice)
    • getMaxFramebufferWidth

      int getMaxFramebufferWidth(long instance, long physicalDevice)
    • getMaxFramebufferHeight

      int getMaxFramebufferHeight(long instance, long physicalDevice)
    • getMaxSamplerAnisotropy

      float getMaxSamplerAnisotropy(long instance, long physicalDevice)
    • getMaxUniformBufferRange

      int getMaxUniformBufferRange(long instance, long physicalDevice)
    • getMaxStorageBufferRange

      int getMaxStorageBufferRange(long instance, long physicalDevice)