Vulkan
®
1.4.326 - A Specification (with all registered extensions)
The Khronos
®
Vulkan Working Group
version 1.4.326,
2025-08-29 19:07:58Z
from git branch: github-main commit: 9c6d565f72ba6929c239c3e20f90b6375acad3bd
Table of Contents
1. Preamble
2. Introduction
2.1. Document Conventions
3. Fundamentals
3.1. Host and Device Environment
3.2. Execution Model
3.3. Object Model
3.4. Application Binary Interface
3.5. Command Syntax and Duration
3.6. Threading Behavior
3.7. Valid Usage
3.8.
VkResult
Return Codes
3.9. Numeric Representation and Computation
3.10. Fixed-Point Data Conversions
3.11. String Representation
3.12. Common Object Types
3.13. API Name Aliases
4. Initialization
4.1. Command Function Pointers
4.2. Instances
5. Devices and Queues
5.1. Physical Devices
5.2. Devices
5.3. Queues
6. Command Buffers
6.1. Command Buffer Lifecycle
6.2. Command Pools
6.3. Command Buffer Allocation and Management
6.4. Command Buffer Recording
6.5. Command Buffer Submission
6.6. Queue Forward Progress
6.7. Secondary Command Buffer Execution
6.8. Nested Command Buffers
6.9. Command Buffer Device Mask
7. Synchronization and Cache Control
7.1. Execution and Memory Dependencies
7.2. Implicit Synchronization Guarantees
7.3. Fences
7.4. Semaphores
7.5. Events
7.6. Pipeline Barriers
7.7. Memory Barriers
7.8. Wait Idle Operations
7.9. Host Write Ordering Guarantees
7.10. Synchronization and Multiple Physical Devices
7.11. Calibrated Timestamps
8. Render Pass
8.1. Render Pass Objects
8.2. Render Pass Creation
8.3. Render Pass Compatibility
8.4. Framebuffers
8.5. Render Pass Load Operations
8.6. Render Pass Store Operations
8.7. Render Pass Multisample Resolve Operations
8.8. Render Pass Commands
8.9. Render Pass Creation Feedback
8.10. Common Render Pass Data Races (Informative)
8.11. Tile Shading Render Pass
9. Shaders
9.1. Shader Objects
9.2. Shader Modules
9.3. Shader Module Identifiers
9.4. Binding Shaders
9.5. Shader Execution
9.6. Shader Out-of-Bounds Memory Access
9.7. Shader Memory Access Ordering
9.8. Shader Inputs and Outputs
9.9. Task Shaders
9.10. Mesh Shaders
9.11. Cluster Culling Shaders
9.12. Vertex Shaders
9.13. Tessellation Control Shaders
9.14. Tessellation Evaluation Shaders
9.15. Geometry Shaders
9.16. Fragment Shaders
9.17. Compute Shaders
9.18. Ray Generation Shaders
9.19. Intersection Shaders
9.20. Any-Hit Shaders
9.21. Closest Hit Shaders
9.22. Miss Shaders
9.23. Callable Shaders
9.24. Interpolation Decorations
9.25. Static Use
9.26. Scope
9.27. Group Operations
9.28. Quad Group Operations
9.29. Derivative Operations
9.30. Helper Invocations
9.31. Cooperative Matrices
9.32. Cooperative Vectors
9.33. Validation Cache
9.34. CUDA Modules
10. Pipelines
10.1. Multiple Pipeline Creation
10.2. Pipeline Creation Flags
10.3. Compute Pipelines
10.4. Graphics Pipelines
10.5. Ray Tracing Pipelines
10.6. Pipeline Destruction
10.7. Pipeline Derivatives
10.8. Pipeline Cache
10.9. Pipeline Binaries
10.10. Specialization Constants
10.11. Pipeline Libraries
10.12. Pipeline Binding
10.13. Dynamic State
10.14. Pipeline Properties and Shader Information
10.15. Pipeline Compiler Control
10.16. Pipeline Creation Feedback
11. Memory Allocation
11.1. Host Memory
11.2. Device Memory
12. Resource Creation
12.1. Buffers
12.2. Buffer Views
12.3. Buffer Device Addresses
12.4. Images
12.5. Image Layouts
12.6. Image Views
12.7. Acceleration Structures
12.8. Micromaps
12.9. Resource Memory Association
12.10. Resource Sharing Mode
12.11. Memory Aliasing
12.12. Buffer Collections
12.13. Tensors
12.14. Tensor Views
13. Samplers
13.1. Sampler Y′C
B
C
R
Conversion
14. Resource Descriptors
14.1. Descriptor Types
14.2. Descriptor Sets
14.3. Physical Storage Buffer Access
14.4. Descriptor Buffers
15. Shader Interfaces
15.1. Shader Input and Output Interfaces
15.2. Vertex Input Interface
15.3. Fragment Output Interface
15.4. Legacy Dithering
15.5. Fragment Tile Image Interface
15.6. Tile Attachment Interface
15.7. Fragment Input Attachment Interface
15.8. Ray Tracing Pipeline Interface
15.9. Shader Resource Interface
15.10. Built-In Variables
16. Image Operations
16.1. Image Operations Overview
16.2. Conversion Formulas
16.3. Texel Input Operations
16.4. Texel Output Operations
16.5. Normalized Texel Coordinate Operations
16.6. Unnormalized Texel Coordinate Operations
16.7. Integer Texel Coordinate Operations
16.8. Image Sample Operations
16.9. Texel Footprint Evaluation
16.10. Weight Image Sampling
16.11. Block Matching
16.12. Box Filter Sampling
16.13. Image Operation Steps
16.14. Image Query Instructions
17. Fragment Density Map Operations
17.1. Fragment Density Map Operations Overview
17.2. Fetch Density Value
17.3. Fragment Area Conversion
18. Tensor Operations
18.1. Tensor Operations Overview
18.2. Tensor Element Input Operations
18.3. Tensor Element Output Operations
18.4. Tensor Query Instructions
19. Queries
19.1. Query Pools
19.2. Query Operation
19.3. Occlusion Queries
19.4. Pipeline Statistics Queries
19.5. Timestamp Queries
19.6. Performance Queries
19.7. Transform Feedback Queries
19.8. Primitives Generated Queries
19.9. Mesh Shader Queries
19.10. Intel Performance Queries
19.11. Result Status Queries
19.12. Video Encode Feedback Queries
20. Clear Commands
20.1. Clearing Images Outside a Render Pass Instance
20.2. Clearing Images Inside a Render Pass Instance
20.3. Clear Values
20.4. Filling Buffers
20.5. Updating Buffers
21. Copy Commands
21.1. Copying Data Between Buffers
21.2. Copying Data Between Images
21.3. Copying Data Between Buffers and Images
21.4. Indirect Copies
21.5. Image Copies With Scaling
21.6. Resolving Multisample Images
21.7. Buffer Markers
21.8. Copying Data Between Tensors
22. Drawing Commands
22.1. Primitive Topologies
22.2. Effective Primitive Topology
22.3. Primitive Order
22.4. Programmable Primitive Shading
22.5. Conditional Rendering
22.6. Programmable Mesh Shading
22.7. Programmable Cluster Culling Shading
23. Fixed-Function Vertex Processing
23.1. Vertex Attributes
23.2. Vertex Input Description
23.3. Vertex Attribute Divisor in Instanced Rendering
23.4. Vertex Input Address Calculation
24. Tessellation
24.1. Tessellator
24.2. Tessellator Patch Discard
24.3. Tessellator Spacing
24.4. Tessellation Primitive Ordering
24.5. Tessellator Vertex Winding Order
24.6. Triangle Tessellation
24.7. Quad Tessellation
24.8. Isoline Tessellation
24.9. Tessellation Point Mode
24.10. Tessellation Pipeline State
25. Geometry Shading
25.1. Geometry Shader Input Primitives
25.2. Geometry Shader Output Primitives
25.3. Multiple Invocations of Geometry Shaders
25.4. Geometry Shader Primitive Ordering
25.5. Geometry Shader Passthrough
26. Mesh Shading
26.1. Task Shader Input
26.2. Task Shader Output
26.3. Mesh Generation
26.4. Mesh Shader Input
26.5. Mesh Shader Output
26.6. Mesh Shader Per-View Outputs
26.7. Mesh Shader Primitive Ordering
27. Cluster Culling Shading
27.1. Cluster Culling Shader Input
27.2. Cluster Culling Shader Output
27.3. Cluster Culling Shader Cluster Ordering
27.4. Cluster Culling Shader Primitive Ordering
28. Fixed-Function Vertex Post-Processing
28.1. Transform Feedback
28.2. Viewport Swizzle