vulkan
| Kind | ffi-zig |
|---|---|
| Capabilities | ffi |
| Categories | graphics gpu ffi |
| Keywords | vulkan gpu graphics compute gpgpu zig-ffi |
Vulkan graphics API bindings for Kit - low-level GPU compute and graphics
Files
| File | Description |
|---|---|
.editorconfig | Editor formatting configuration |
.gitignore | Git ignore rules for build artifacts and dependencies |
.tool-versions | asdf tool versions (Zig, Kit) |
LICENSE | MIT license file |
README.md | This file |
examples/basic-usage.kit | Basic usage example |
examples/buffer-memory.kit | Buffer and memory management example |
examples/compute-pipeline.kit | Compute pipeline example |
examples/device-enumeration.kit | Device enumeration and query example |
examples/graphics-pipeline.kit | Graphics pipeline example |
examples/synchronization.kit | Synchronization primitives example |
kit.toml | Package manifest with metadata and dependencies |
src/vulkan.kit | Main Vulkan FFI wrapper with 401 functions |
tests/vulkan.test.kit | Comprehensive tests for Vulkan bindings |
zig/kit_vulkan.zig | Zig FFI implementation with 35 unit tests |
zig/kit_ffi.zig | FFI infrastructure with KitValue types |
Dependencies
No Kit package dependencies.
Installation
kit add gitlab.com/kit-lang/packages/kit-vulkan.gitUsage
import Kit.Vulkan as V
main = fn =>
println "=== KitVulkan Example ==="
# Create instance - defer ensures cleanup even if errors occur
println "Creating Vulkan instance…"
instance = V.create-instance "MyKitApp"
if Result.is-ok? instance then
println "Instance created successfully"
defer V.destroy-instance
# Get Vulkan version
println "Querying Vulkan version…"
version = V.get-version
if Result.is-ok? version then
println "Version retrieved"
# Enumerate available devices
println "Enumerating devices…"
devices = V.enumerate-devices
if Result.is-ok? devices then
println "Devices enumerated"
# Get device properties
println "Querying device properties…"
props = V.get-device-properties 0
if Result.is-ok? props then
println "Device properties retrieved"
else
println "Failed to create Vulkan instance"
println "=== Example Complete ==="
println "Instance will be automatically destroyed by defer"
mainDevelopment
Running Examples
Run examples with the interpreter:
kit run examples/basic-usage.kit --allow=ffiCompile examples to a native binary:
kit build examples/basic-usage.kit -o basic-usage --allow=ffi && ./basic-usageRunning Tests
Run the test suite:
kit test tests/vulkan.test.kit --allow=ffiRun the test suite with coverage:
kit test tests/vulkan.test.kit --allow=ffi --coverageRunning kit dev
Run the standard development workflow (format, check, test):
kit dev --no-spinnerThis will:
- Format and check source files in
src/ - Run tests in
tests/with coverage
Checking Examples
Verify all examples work with both interpreter and compiler:
kit check examples --allow=ffi --no-spinnerThis will:
- Run each example with
kit run - Compile each example with
kit build - Execute compiled binaries
- Compare outputs
Generating Documentation
Generate API documentation from doc comments:
kit docNote: Kit sources with doc comments (##) will generate HTML documents in docs/*.html
Cleaning Build Artifacts
Remove generated files, caches, and build artifacts:
kit task cleanNote: Defined in kit.toml.
Local Installation
To install this package locally for development:
kit install .This installs the package to ~/.kit/packages/@kit/vulkan/, making it available for import as Kit.Vulkan in other projects.
API Coverage
The kit-vulkan package provides comprehensive Vulkan 1.3 API coverage with 401 functions including:
- Instance and Device Management:
create-instance,create-device,destroy-instance,destroy-device - Command Buffers:
create-command-pool,allocate-command-buffer,begin-command-buffer,end-command-buffer - Shader Modules:
create-shader-module,create-shader-stage - Pipelines:
create-graphics-pipeline,create-compute-pipeline,create-pipeline-layout - Descriptors:
create-descriptor-set-layout,create-descriptor-pool,allocate-descriptor-set - Render Pass:
create-render-pass,create-framebuffer - Synchronization:
create-fence,create-semaphore,create-event,create-timeline-semaphore - Memory and Buffers:
create-buffer,allocate-memory,map-memory,unmap-memory - Ray Tracing:
create-ray-tracing-pipeline,build-acceleration-structure - Advanced Features: Video encoding/decoding, optical flow, cooperative matrices, mesh shaders
All resource-creating functions have @defer-required attributes specifying their cleanup functions for proper resource management.
License
This package is released under the MIT License - see LICENSE for details.
Vulkan and the Vulkan API specification are released under the Apache License 2.0.
Exported Functions & Types
get-version
Get the Vulkan API version information
create-instance
Create a Vulkan instance with the given application name
destroy-instance
Destroy the current Vulkan instance and clean up resources
enumerate-instance-layers
Enumerate available Vulkan instance layers
enumerate-instance-extensions
Enumerate available Vulkan instance extensions
is-layer-available
Check if a specific layer is available
is-extension-available
Check if a specific extension is available
create-instance-with-version
Create instance with specific API version
create-instance-with-validation
Create instance with validation layers
get-instance-proc-addr
Get instance procedure address
get-device-proc-addr
Get device procedure address
get-instance-version
Get instance version
get-physical-device-present-support
Get physical device present support
enumerate-physical-device-groups
Enumerate physical device groups
get-tool-properties
Get physical device tool properties
enumerate-devices
Returns a JSON array of device information
get-device-properties
Returns a JSON object with device capabilities
get-queue-family-properties
Returns JSON array of queue family info
find-queue-family
Returns queue family index as Int
get-memory-properties
Returns JSON object with memory types and heaps
get-device-features
Get physical device features
get-format-properties
Get physical device format properties
get-image-format-properties
Get physical device image format properties
enumerate-device-extensions
Enumerate physical device extensions
get-subgroup-properties
Get physical device subgroup properties
get-external-buffer-properties
Get physical device external buffer properties
get-external-fence-properties
Get physical device external fence properties
get-external-semaphore-properties
Get physical device external semaphore properties
create-device
Create a logical device for a physical device with specified queue family
destroy-device
Destroy the current logical device
get-device-queue
Get device queue handle
get-device-memory-commitment
Get device memory commitment
get-device-queue-family-count
Get device queue family count
get-device-memory-heap-count
Get device memory heap count
get-sparse-memory-requirements-count
Get device sparse memory requirements count
create-command-pool
Create a command pool for a queue family
destroy-command-pool
Destroy the current command pool
allocate-command-buffer
Allocate a command buffer from the pool
begin-command-buffer
Begin recording a command buffer
end-command-buffer
End recording a command buffer
reset-command-buffer
Reset a command buffer
allocate-secondary-command-buffer
Allocate secondary command buffers (for render pass subpasses)
begin-secondary-command-buffer
Begin recording a secondary command buffer
cmd-execute-secondary-commands
Execute secondary command buffers within primary
free-command-buffers
Free command buffers
trim-command-pool
Trim command pool (free unused memory)
reset-command-pool
Reset command pool
get-command-buffer-opaque-capture-address
Get command buffer opaque capture address
set-command-buffer-device-mask
Set command buffer device mask (for device groups)
create-buffer
Create a buffer with specified size and usage flags
destroy-buffer
Destroy the current buffer
create-buffer-dedicated
Create buffer with dedicated memory allocation
create-buffer-view
Create buffer view (typed buffer access)
destroy-buffer-view
Destroy buffer view
cmd-copy-buffer-to-image-regions
Copy buffer to image with specific regions
allocate-memory
Allocate device memory
free-memory
Free allocated device memory
bind-buffer-memory
Bind buffer to device memory
map-memory
Map device memory for CPU access
unmap-memory
Unmap device memory
flush-memory
Flush mapped memory ranges
invalidate-memory
Invalidate mapped memory ranges
get-buffer-memory-requirements
Get buffer memory requirements
get-image-sparse-memory-requirements
Get image sparse memory requirements
flush-mapped-memory-ranges
Flush mapped memory ranges
invalidate-mapped-memory-ranges
Invalidate mapped memory ranges with list
allocate-memory-dedicated
Allocate memory with dedicated requirements
bind-buffer-memory-offset
Bind buffer to device memory with offset
bind-image-memory-offset
Bind image to device memory with offset
map-memory-range
Map memory range (specific offset and size)
import-memory
Import device memory from external handle
export-memory
Export device memory to external handle
get-memory-win32-handle
Get memory win32 handle (Windows)
get-memory-fd
Get memory fd handle (Linux/Unix)
allocate-memory-with-priority
Allocate device memory with priorities
get-device-memory-opaque-capture-address
Get device memory opaque capture address
get-buffer-opaque-capture-address
Get buffer opaque capture address
get-buffer-device-address
Get buffer device address
create-image
Create a 2D image
destroy-image
Destroy the current image
create-image-view
Create an image view
destroy-image-view
Destroy the current image view
bind-image-memory
Bind image memory
get-image-memory-requirements
Get image memory requirements
get-image-subresource-layout
Get image subresource layout
create-image-view-with-type
Create image view with specific type
create-image-view-with-components
Create image view with component mapping
create-image-view-3d
Create 3D image view from 3D image
get-image-view-handle
Get image view handle
cmd-copy-image-array-layers
Copy image 2D array layers
create-image-with-layout
Create image with initial layout
create-fence
Create a fence (signaled = true for initial signaled state)
destroy-fence
Destroy the current fence
wait-for-fence
Wait for fence with timeout in nanoseconds
reset-fence
Reset fence to unsignaled state
create-semaphore
Create a semaphore
destroy-semaphore
Destroy the current semaphore
create-event
Create an event
destroy-event
Destroy the current event
set-event
Set an event
reset-event
Reset an event
wait-for-fences
Wait for multiple fences
reset-fences
Reset multiple fences
create-timeline-semaphore
Create a timeline semaphore
signal-timeline-semaphore
Signal a timeline semaphore
wait-timeline-semaphore
Wait for timeline semaphore
create-semaphore-win32
Create semaphore with win32 handle (Windows external)
create-fence-win32
Create fence with win32 handle (Windows external)
import-semaphore
Import semaphore from external handle
import-fence
Import fence from external handle
get-fence-win32-handle
Get fence win32 handle (Windows external)
get-fence-fd
Get fence fd (Linux/Unix external)
get-semaphore-win32-handle
Get semaphore win32 handle (Windows external)
get-semaphore-fd
Get semaphore fd (Linux/Unix external)
signal-event
Signal event
get-event-status
Get event status
queue-submit
Submit command buffer to queue with optional semaphores
queue-wait-idle
Wait for queue to become idle
device-wait-idle
Wait for device to become idle
get-queue-family-index
Get queue family index from queue
queue-bind-sparse
Bind sparse memory in queue
queue-submit-list
Queue submit with command buffer list
get-queue-timestamp-pool
Get queue timestamp pool results
create-shader-module
Create a shader module from SPIR-V bytecode
destroy-shader-module
Destroy the current shader module
create-shader-module-from-file
Create shader module from spirv file
create-shader-stage
Create shader stage info (vertex/fragment/compute)
get-shader-module-status
Get shader module compilation status
validate-spirv
Validate SPIR-V shader code
create-shader-module-from-glsl
Create shader module from GLSL source
compile-glsl-to-spirv
Compile GLSL to SPIR-V
get-shader-compilation-log
Get shader module compilation log
set-shader-module-handle
Set shader module capture replay handle
create-compute-pipeline
Create a compute pipeline
destroy-pipeline
Destroy the current pipeline
create-pipeline-layout
Create a pipeline layout
destroy-pipeline-layout
Destroy the current pipeline layout
cmd-bind-pipeline
Bind compute pipeline to command buffer
cmd-dispatch
Dispatch compute workgroups
cmd-dispatch-indirect
Dispatch compute with indirect buffer
cmd-dispatch-base-compute
Dispatch compute with base (device group)
compute-queue-wait-idle
Wait for compute queue idle
get-compute-queue-timestamp
Get compute queue timestamp
cmd-dispatch-base-instance
Dispatch compute with base instance
get-compute-workgroup-size
Get compute shader workgroup size
set-compute-pipeline-state
Set compute pipeline dynamic state
get-compute-queue-family-index
Get compute queue family index
create-pipeline-cache
Create a pipeline cache for storing compiled pipeline data
destroy-pipeline-cache
Destroy the current pipeline cache
get-pipeline-cache-data
Get pipeline cache data for serialization
merge-pipeline-caches
Merge pipeline cache data from another cache
create-graphics-pipeline-cached
Create a pipeline using a pipeline cache
create-pipeline-library-vertex-input
Create graphics pipeline library (vertex input)
create-pipeline-library-fragment-output
Create graphics pipeline library (fragment output)
create-pipeline-from-libraries
Create graphics pipeline from libraries
merge-pipeline-cache-from
Merge pipeline caches
create-compute-pipeline-cached
Create compute pipeline with cache
destroy-pipeline-cache-with-data
Destroy pipeline cache with data retrieval
get-pipeline-executable-properties
Get pipeline executable properties
get-pipeline-executable-stats
Get pipeline executable statistics
create-descriptor-set-layout
Create a descriptor set layout
destroy-descriptor-set-layout
Destroy the current descriptor set layout
create-descriptor-pool
Create a descriptor pool
destroy-descriptor-pool
Destroy the current descriptor pool
allocate-descriptor-set
Allocate a descriptor set
update-descriptor-set-buffer
Update descriptor set with buffer info
cmd-bind-descriptor-sets
Bind descriptor sets to command buffer
cmd-push-constants
Push constants to command buffer
free-descriptor-sets
Free descriptor sets
update-descriptor-set-with-bindings
Update descriptor set with multiple bindings
create-descriptor-set-layout-with-flags
Create descriptor set layout with binding flags
reset-descriptor-pool
Reset descriptor pool
cmd-push-descriptor-set
Push descriptor set (immediate descriptor update)
cmd-push-descriptor-set-with-template
Push descriptor set with template
create-descriptor-update-template
Create descriptor update template
update-descriptor-set-with-template
Update descriptor set with template
destroy-descriptor-update-template
Destroy descriptor update template
reset-descriptor-pool-flags
Reset descriptor pool with flags
allocate-descriptor-sets-variable
Allocate descriptor sets with variable counts
get-descriptor-set-layout-support
Get descriptor set layout support
create-render-pass
Create a render pass
destroy-render-pass
Destroy the current render pass
create-framebuffer
Create a framebuffer
destroy-framebuffer
Destroy the current framebuffer
cmd-begin-render-pass
Begin a render pass
cmd-end-render-pass
End a render pass
cmd-next-subpass
Next render pass subpass (advance to next subpass)
cmd-begin-render-pass-inline
Begin render pass with inline contents
cmd-begin-render-pass-secondary
Begin render pass with secondary command buffers
cmd-begin-render-pass-attachments
Begin render pass with explicit attachments
cmd-begin-render-pass-device-group
Begin render pass with device group render areas
cmd-end-render-pass-resolve
End render pass with resolve attachments
cmd-next-subpass-contents
Next subpass with contents (inline or secondary)
cmd-begin-render-pass-transform-feedback
Begin render pass with transform feedback
cmd-copy-buffer
Copy data between buffers
cmd-fill-buffer
Fill buffer with 32-bit value
cmd-update-buffer
Update buffer with data
cmd-copy-buffer-to-image
Copy buffer to image
cmd-copy-image-to-buffer
Copy image to buffer
cmd-blit-image
Blit image (copy with scaling/filtering)
cmd-copy-image
Copy image (direct copy without scaling)
cmd-copy-query-pool-results
Copy query pool results to buffer
cmd-execute-commands
Execute secondary command buffers
cmd-copy-buffer-regions
Copy buffer regions (multiple regions)
cmd-resolve-image-multisample
Resolve image multisampled to single-sampled
cmd-update-buffer-array
Update buffer with data array
cmd-fill-buffer-regions
Fill buffer regions with different values
cmd-pipeline-barrier
Insert memory barrier
cmd-buffer-memory-barrier
Insert buffer memory barrier
cmd-image-memory-barrier
Insert image memory barrier
cmd-pipeline-barrier-multiple
Insert memory barrier with multiple buffers
cmd-wait-events
Wait for events in command buffer
cmd-set-event
Set event in command buffer
cmd-reset-event-cmd
Reset event in command buffer
cmd-full-pipeline-barrier
Full pipeline barrier (all stages)
cmd-all-memory-barrier
Memory barrier for all memory
cmd-global-memory-barrier
Global memory barrier (device-wide)
cmd-pipeline-barrier-dependency
Dependency info barrier (Vulkan 1.3 style)
create-query-pool
Create a query pool for timestamps
destroy-query-pool
Destroy the current query pool
cmd-reset-query-pool
Reset query pool
cmd-begin-query
Begin query
cmd-end-query
End query
cmd-write-timestamp
Write timestamp
get-query-results
Get query results
create-query-pool-with-stats
Create a query pool with statistics
copy-query-pool-results-with-flags
Copy query results with availability status
create-query-pool-pipeline-stats
Create query pool for pipeline statistics
get-query-results-64bit
Get query pool results with 64-bit values
cmd-write-timestamp-64bit
Write timestamp with 64-bit precision
cmd-begin-query-flags
Begin query with specific flags
cmd-begin-transform-feedback
Begin transform feedback (geometry shader output capture)
cmd-end-transform-feedback
End transform feedback
cmd-bind-transform-feedback-buffers
Bind transform feedback buffers
cmd-draw-indirect-byte-count
Draw indirect byte count (transform feedback)
create-swapchain
Create a swapchain for presenting
destroy-swapchain
Destroy the current swapchain
acquire-next-image
Acquire next swapchain image
queue-present
Queue presentation
get-swapchain-images
Get swapchain images
get-surface-capabilities
Get swapchain surface capabilities
get-surface-formats
Get swapchain surface formats
get-present-modes
Get swapchain present modes
recreate-swapchain
Recreate swapchain with new size
create-xcb-surface
Create surface from XCB window (Linux)
create-xlib-surface
Create surface from Xlib window (Linux)
create-wayland-surface
Create surface from Wayland window (Linux)
create-win32-surface
Create surface from Win32 window (Windows)
destroy-surface
Destroy surface
get-physical-device-surface-support
Get physical device surface support
set-object-name
Set debug object name (for validation layers)
cmd-begin-debug-label
Begin debug label region
cmd-end-debug-label
End debug label region
cmd-insert-debug-marker
Insert debug marker
set-object-tag
Set debug object tag (for validation layers)
get-object-name
Get debug object name (query)
cmd-insert-debug-label-color
Cmd insert debug label with color
set-debug-utils-object-name
Set debug utils object name
queue-begin-debug-label
Queue begin debug label
queue-end-debug-label
Queue end debug label
queue-insert-debug-label
Queue insert debug label
create-sampler
Create a sampler for texture sampling
destroy-sampler
Destroy the current sampler
update-descriptor-set-image
Update descriptor set with image sampler
create-sampler-anisotropic
Create sampler with anisotropy
create-sampler-with-border
Create sampler with border color
create-sampler-ycbcr
Create sampler YCbCr conversion
update-descriptor-set-immutable-sampler
Update descriptor set with immutable sampler
create-graphics-pipeline
Create a graphics pipeline with vertex and fragment shaders
set-vertex-input
Set vertex input format (binding, location, format, offset)
set-primitive-topology
Set primitive topology (triangles, lines, points)
set-primitive-restart
Enable/disable primitive restart
set-viewport
Set viewport (x, y, width, height, min_depth, max_depth)
set-scissor
Set scissor rectangle (x, y, width, height)
set-rasterizer-discard
Enable rasterizer discard
set-polygon-mode
Set polygon mode (fill, line, point)
set-line-width
Set line width
set-cull-mode
Set cull mode (none, front, back, front_and_back)
set-front-face
Set front face winding order (cw, ccw)
set-depth-clamp
Enable depth clamp
set-depth-bias
Set depth bias (constant_factor, clamp, slope_factor)
set-depth-test
Enable depth test
set-depth-compare-op
Set depth compare operation (never, less, equal, less_or_equal, greater, not_equal, greater_or_equal, always)
set-depth-write
Enable depth write
set-depth-bounds
Set depth bounds (min, max)
set-depth-bounds-test
Enable depth bounds test
set-stencil-test
Enable stencil test
set-stencil-ops
Set stencil operations (fail_op, pass_op, depth_fail_op, compare_op)
set-color-blend-enable
Enable blending for color attachment
set-color-blend-factors
Set color blend factors (src_color_blend_factor, dst_color_blend_factor, src_alpha_blend_factor, dst_alpha_blend_factor)
set-color-blend-op
Set color blend operation (add, subtract, reverse_subtract, min, max)
set-color-write-mask
Set color write mask (r, g, b, a)
set-blend-constants
Set blend constants (r, g, b, a)
set-logic-op-enable
Enable logic operations
set-logic-op
Set logic operation (clear, and, copy, etc.)
set-patch-control-points
Set tessellation patch control points
set-tessellation-domain-origin
Set tessellation domain origin
set-rasterization-samples
Set rasterization samples count
set-sample-shading
Set sample shading enable
cmd-set-viewport
Set viewport dynamically in command buffer
cmd-set-scissor
Set scissor dynamically in command buffer
cmd-set-line-width
Set line width dynamically in command buffer
cmd-set-depth-bias
Set depth bias dynamically in command buffer
cmd-set-blend-constants
Set blend constants dynamically in command buffer
cmd-set-depth-bounds
Set depth bounds dynamically in command buffer
cmd-set-stencil-compare-mask
Set stencil compare mask dynamically
cmd-set-stencil-write-mask
Set stencil write mask dynamically
cmd-set-stencil-reference
Set stencil reference dynamically
cmd-set-primitive-topology
Set primitive topology dynamically
cmd-set-cull-mode
Set cull mode dynamically
cmd-set-front-face
Set front face dynamically
cmd-set-vertex-input
Set vertex input dynamically
cmd-draw
Draw vertices (vertex_count, instance_count, first_vertex, first_instance)
cmd-draw-indexed
Draw indexed (index_count, instance_count, first_index, vertex_offset, first_instance)
cmd-draw-indirect
Draw indirect (buffer_offset, draw_count, stride)
cmd-draw-indexed-indirect
Draw indexed indirect (buffer_offset, draw_count, stride)
cmd-bind-vertex-buffer
Bind vertex buffer (binding, offset)
cmd-bind-index-buffer
Bind index buffer (offset, index_type)
cmd-draw-indirect-count
Draw indirect count (with draw count from buffer)
cmd-draw-indexed-indirect-count
Draw indexed indirect count
cmd-draw-multi
Draw multi-instance (instanced rendering with first instance)
cmd-draw-indexed-multi
Draw indexed multi-instance
cmd-draw-indirect-task
Draw indirect task (task shader indirect)
cmd-draw-indexed-indirect-task
Draw indexed indirect task (task shader indexed indirect)
cmd-dispatch-indirect-buffer
Dispatch compute indirect (with workgroup count from buffer)
cmd-dispatch-workgroup-memory
Dispatch compute with workgroup memory
cmd-clear-color-image
Clear color image (r, g, b, a)
cmd-clear-depth-stencil-image
Clear depth stencil image (depth, stencil)
cmd-clear-attachments
Clear attachments (color, depth, stencil)
cmd-resolve-image
Resolve multisampled image to single sample
cmd-generate-mipmaps
Generate mipmaps for an image
get-memory-properties
Returns JSON object with memory types and heaps
get-memory-properties
Returns JSON object with memory types and heaps
create-ray-tracing-pipeline
Create ray tracing pipeline
destroy-ray-tracing-pipeline
Destroy ray tracing pipeline
build-acceleration-structure
Build acceleration structure (TLAS/BLAS)
destroy-acceleration-structure
Destroy acceleration structure
cmd-trace-rays
Trace rays (command buffer recording)
get-ray-tracing-shader-group-handles
Get ray tracing shader group handles
create-shader-binding-table
Create shader binding table
destroy-shader-binding-table
Destroy shader binding table
copy-acceleration-structure
Copy acceleration structure (clone)
write-acceleration-structure-properties
Write acceleration structure properties to buffer
compact-acceleration-structure
Compact acceleration structure (reduce memory)
get-ray-tracing-properties
Get ray tracing pipeline properties
create-ray-tracing-pipeline-libraries
Create ray tracing pipeline with libraries
get-ray-tracing-capture-replay-handles
Get ray tracing capture replay shader group handles
build-acceleration-structure-scratch
Build acceleration structure with scratch buffer
build-acceleration-structure-indirect
Build acceleration structure indirect
create-video-session-decode
Create video session (decode)
create-video-session-encode
Create video session (encode)
destroy-video-session
Destroy video session
cmd-decode-video
Video decode operation
cmd-encode-video
Video encode operation
create-optical-flow-session
Create optical flow session
destroy-optical-flow-session
Destroy optical flow session
cmd-optical-flow-execute
Execute optical flow operation
bind-optical-flow-image
Bind optical flow image
get-cooperative-matrix-properties
Get cooperative matrix properties
create-cooperative-matrix-pipeline
Create cooperative matrix pipeline
cmd-cooperative-matrix-multiply
Execute cooperative matrix multiply
cmd-cooperative-matrix-load
Load cooperative matrix tile
create-mesh-pipeline
Create mesh pipeline (task + mesh shaders)
destroy-mesh-pipeline
Destroy mesh pipeline
cmd-draw-mesh-tasks
Draw mesh tasks (task shader dispatch)
cmd-draw-mesh-tasks-indirect
Draw mesh tasks indirect
cmd-draw-mesh-tasks-indirect-count
Draw mesh tasks indirect count (with count buffer)
cmd-set-mesh-pipeline
Set mesh shader pipeline
set-task-workgroup-size
Set task shader workgroup size
set-mesh-workgroup-size
Set mesh shader workgroup size
set-fragment-shading-rate
Set fragment shading rate
cmd-set-fragment-shading-rate
Set fragment shading rate dynamically in command buffer
set-multiview-view-mask
Set multiview configuration
set-multiview-correlation-mask
Set multiview correlation mask
set-fragment-density-map
Set fragment density map attachment
cmd-set-fragment-density-map-size
Set fragment density map size dynamically
set-memory-priority
Set memory priority (0.0 - 1.0)
get-memory-budget
Get memory budget info
set-device-memory-pageable
Set device memory as pageable
set-validation-features
Set validation features (best practices, sync validation)
create-debug-utils-messenger
Set debug utils messenger
destroy-debug-utils-messenger
Destroy debug utils messenger
submit-debug-message
Submit debug utils message
set-profiling-lock
Set profiling lock (for GPU profilers like RenderDoc, Nsight)
cmd-begin-conditional-rendering
Begin conditional rendering
cmd-end-conditional-rendering
End conditional rendering
release-display
Release display from headless swapchain
acquire-profiling-lock
Acquire profiling lock for profiling tools
calibrate-device-timestamp
Calibrate device timestamp (sync CPU/GPU timestamps)
get-calibrateable-time-domains
Get calibrateable time domains
bind-sparse-buffer-memory
Bind sparse buffer memory (sparse binding queue)
bind-sparse-image-memory
Bind sparse image memory
bind-sparse-image-opaque-memory
Bind sparse image opaque memory
queue-sparse-bind-submit
Queue sparse binding submit
get-device-group-peer-memory-features
Get device group peer memory features
bind-buffer-memory-device-group
Bind buffer memory to device group
bind-image-memory-device-group
Bind image memory to device group
set-device-group-render-pass-begin
Set device group render pass begin info
set-device-group-command-buffer-begin
Set device group command buffer begin info
cmd-dispatch-base
Dispatch base (device group)
get-device-group-present-capabilities
Get device group present capabilities
acquire-next-image-device-group
Acquire next image for device group
queue-present-device-group
Queue present for device group