https://vulkan.lunarg.com/doc/view/1.0.26.0/linux/vkspec.chunked/index.html
Vulkan 1.0.26 - A Specification (with WSI extensions)
Revision History | ||
---|---|---|
Revision 1.0.26 | Fri, 09 Sep 2016 15:20:45 +0000 | T |
from git branch: 1.0 commit: e29c2489e238509c41aeb8c7bce9d669a496344b |
Table of Contents
-
1. Introduction
- 2. Fundamentals
- 3. Initialization
- 4. Devices and Queues
- 5. Command Buffers
- 6. Synchronization and Cache Control
- 7. Render Pass
- 8. Shaders
-
-
8.1. Shader Modules
8.2. Shader Execution
8.3. Shader Memory Access Ordering
8.4. Shader Inputs and Outputs
8.5. Vertex Shaders
- 8.6. Tessellation Control Shaders
- 8.7. Tessellation Evaluation Shaders
- 8.8. Geometry Shaders
- 8.9. Fragment Shaders
- 8.10. Compute Shaders 8.11. Interpolation Decorations 8.12. Static Use 8.13. Invocation and Derivative Groups
9. Pipelines
- 10. Memory Allocation
- 11. Resource Creation
- 12. Samplers 13. Resource Descriptors
- 14. Shader Interfaces
- 15. Image Operations
-
-
15.1. Image Operations Overview
- 15.2. Conversion Formulas
- 15.3. Texel Input Operations
- 15.4. Texel Output Operations
- 15.5. Derivative Operations 15.6. Normalized Texel Coordinate Operations
-
-
15.6.1. Projection Operation
15.6.2. Derivative Image Operations
15.6.3. Cube Map Face Selection and Transformations
15.6.4. Cube Map Face Selection
15.6.5. Cube Map Coordinate Transformation
15.6.6. Cube Map Derivative Transformation
15.6.7. Scale Factor Operation, Level-of-Detail Operation and Image Level(s) Selection
15.6.8. (s,t,r,q,a) to (u,v,w,a) Transformation
15.7. Unnormalized Texel Coordinate Operations
- 15.8. Image Sample Operations
- 15.9. Image Operation Steps
16. Queries
- 17. Clear Commands
- 18. Copy Commands
- 19. Drawing Commands
-
-
19.1. Primitive Topologies
-
-
19.1.1. Points
19.1.2. Separate Lines
19.1.3. Line Strips
19.1.4. Triangle Strips
19.1.5. Triangle Fans
19.1.6. Separate Triangles
19.1.7. Lines With Adjacency
19.1.8. Line Strips With Adjacency
19.1.9. Triangle List With Adjacency
19.1.10. Triangle Strips With Adjacency
19.1.11. Separate Patches
19.1.12. General Considerations For Polygon Primitives
19.2. Programmable Primitive Shading
20. Fixed-Function Vertex Processing
-
- 21. Tessellation
- 22. Geometry Shading
- 23. Fixed-Function Vertex Post-Processing
- 24. Rasterization
- 25. Fragment Operations
- 26. The Framebuffer
- 27. Dispatching Commands 28. Sparse Resources
- 29. Window System Integration (WSI)
- 30. Extended Functionality
- 31. Features, Limits, and Formats
- A. Vulkan Environment for SPIR-V
- B. Compressed Image Formats
- C. Layers & Extensions
- D. API Boilerplate
- E. Invariance
- Glossary Common Abbreviations Prefixes F. Credits
List of Figures
-
9.1.
Block diagram of the Vulkan pipeline
19.1.
Triangle strips, fans, and lists
19.2.
Lines with adjacency
19.3.
Triangles with adjacency
19.4.
Triangle strips with adjacency
21.1.
Domain parameterization for tessellation primitive modes
21.2.
Inner Triangle Tessellation
21.3.
Inner Quad Tessellation
24.1.
Non strict lines
28.1.
Sparse Image
28.2.
Sparse Image with Single Mip Tail
28.3.
Sparse Image with Aligned Mip Size
28.4.
Sparse Image with Aligned Mip Size and Single Mip Tail
28.5.
Multiple Aspect Sparse Image
List of Tables
-
3.1.
vkGetInstanceProcAddr behavior
3.2.
vkGetDeviceProcAddr behavior
6.1.
Event Object Status Codes
6.2.
Supported pipeline stage flags
6.3.
Supported access flags
9.1.
Layout for pipeline cache header version
VK_PIPELINE_CACHE_HEADER_VERSION_ONE
11.1.
Image and image view parameter compatibility requirements
11.2.
Component Mappings Equivalent To VK_COMPONENT_SWIZZLE_IDENTITY
13.1.
Pipeline Layout Resource Limits
14.1.
Shader Input and Output Locations
14.2.
Shader Resource and Descriptor Type Correspondence
14.3.
Shader Resource and Storage Class Correspondence
14.4.
Shader Resource Limits
15.1.
Border Color BB
15.2.
Border Texel Components After Replacement
15.3.
Texel Color After Conversion To RGBA
15.4.
Cube map face and coordinate selection
15.5.
Cube map derivative selection
19.1.
Triangles generated by triangle strips with adjacency.
20.1.
Input attribute components accessed by 32-bit input variables
20.2.
Input attributes accessed by 32-bit input matrix variables
20.3.
Input attribute locations and components accessed by 64-bit input variables
23.1.
Provoking vertex selection
24.1.
Standard sample locations
26.1.
Blend Factors
26.2.
Blend Operations
26.3.
Logical Operations
28.1.
Standard Sparse Image Block Shapes (Single Sample)
28.2.
Standard Sparse Image Block Shapes (MSAA)
31.1.
Required Limit Types
31.2.
Required Limits
31.3.
Interpretation of Numeric Format
31.4.
Interpretation of Compression Scheme
31.5.
Byte mappings for non-packed/compressed color formats
31.6.
Bit mappings for packed 8-bit formats
31.7.
Bit mappings for packed 16-bit formats
31.8.
Bit mappings for packed 32-bit formats
31.9.
Compatible formats
31.10.
Key for format feature tables
31.11.
Feature bits in optimalTilingFeatures
31.12.
Feature bits in bufferFeatures
31.13.
Mandatory format support: sub-byte channels
31.14.
Mandatory format support: 1-3 byte-sized channels
31.15.
Mandatory format support: 4 byte-sized channels
31.16.
Mandatory format support: 10-bit channels
31.17.
Mandatory format support: 16-bit channels
31.18.
Mandatory format support: 32-bit channels
31.19.
Mandatory format support: 64-bit/uneven channels and depth/stencil
31.20.
Mandatory format support: BC compressed formats with VkImageType VK_IMAGE_TYPE_2D
and VK_IMAGE_TYPE_3D
31.21.
Mandatory format support: ETC2 and EAC compressed formats with VkImageType VK_IMAGE_TYPE_2D
31.22.
Mandatory format support: ASTC LDR compressed formats with VkImageType VK_IMAGE_TYPE_2D
A.1.
SPIR-V Capabilities which are not required, and corresponding feature names
A.2.
Precision of core SPIR-V Instructions
A.3.
Precision of GLSL.std.450 Instructions
A.4.
SPIR-V and Vulkan Image Format Compatibility
B.1.
Mapping of Vulkan BC formats to descriptions
B.2.
Mapping of Vulkan ETC formats to descriptions
B.3.
Mapping of Vulkan ASTC formats to descriptions
D.1.
Window System Extensions and Required Compile-Time Symbol Definitions
List of Equations