The Vulkan Guide is designed to help developers get up and going with the world of Vulkan. It is aimed to be a light read that leads to many other useful links depending on what a developer is looking for. All information is intended to help better fill the gaps about the many nuances of Vulkan.
Note | The Vulkan Guide content is also viewable from https://docs.vulkan.org/guide/latest/index.html |
1.1. What is Vulkan?
1.3. Vulkan Spec
1.4. Platforms
1.5. Checking for Support
1.8. What is SPIR-V?
1.10. Vulkan CTS
1.11. Vulkan Development Tools
1.13. Profiling
2.1. Deprecated
2.2. Embedded Programming
2.6. Vulkan Profiles
2.7. Loader
2.8. Layers
2.9.1. Enabling Vulkan Extensions
2.9.2. Enabling Vulkan Features
2.9.3. Using SPIR-V Extension
2.9.4. Formats
2.10. Queues and Queue Family
2.11. WSI
2.12. pNext and sType
2.14.1. Sparse Resources
2.14.2. Protected Memory
2.14.3. Buffer Device Address
VK_KHR_buffer_device_address,VK_EXT_buffer_device_address
2.16. Threading
2.17. Depth
VK_EXT_depth_range_unrestricted,VK_EXT_depth_clip_enable,VK_EXT_depth_clip_control
2.18. Primitive Topology
2.19. Mapping Data to Shaders
2.19.1. Storage Image and Texel Buffers
2.19.2. Vertex Input Data Processing
2.19.3. Descriptor Arrays
2.19.4. Descriptor Dynamic Offset
2.19.7. Location and Component Interface
2.19.8. Push Constants
2.19.9. Ways to Provide SPIR-V
2.19.10. Buffer Array Length (OpArrayLength)
2.20. Robustness
VK_EXT_image_robustness,VK_KHR_robustness2,VK_EXT_pipeline_robustness
2.21. Dynamic State
VK_EXT_extended_dynamic_state,VK_EXT_extended_dynamic_state2,VK_EXT_extended_dynamic_state3,VK_EXT_vertex_input_dynamic_state,VK_EXT_color_write_enable,VK_EXT_attachment_feedback_loop_dynamic_state
2.21.1. Dynamic State Map
2.22. Compute Shaders
2.23. Subgroups
VK_EXT_subgroup_size_control,VK_KHR_shader_subgroup_extended_types,VK_EXT_shader_subgroup_ballot,VK_EXT_shader_subgroup_vote
2.24. Shader Memory Layout
VK_KHR_uniform_buffer_standard_layout,VK_KHR_relaxed_block_layout,VK_EXT_scalar_block_layout
2.25. Atomics
VK_KHR_shader_atomic_int64,VK_EXT_shader_image_atomic_int64,VK_EXT_shader_atomic_float,VK_EXT_shader_atomic_float2
2.26. Image Copies
2.27. Common Pitfalls
2.28. Using HLSL shaders
2.29. Using Slang shaders
Note | These are supplemental references for the various Vulkan Extensions. Please consult the Vulkan Spec for further details on any extension |
3.1. Cleanup Extensions
VK_EXT_4444_formats,VK_KHR_bind_memory2,VK_KHR_create_renderpass2,VK_KHR_dedicated_allocation,VK_KHR_driver_properties,VK_KHR_get_memory_requirements2,VK_KHR_get_physical_device_properties2,VK_EXT_host_query_reset,VK_KHR_maintenance1,VK_KHR_maintenance2,VK_KHR_maintenance3,VK_KHR_maintenance4,VK_KHR_maintenance5,VK_KHR_maintenance6,VK_KHR_separate_depth_stencil_layouts,VK_KHR_depth_stencil_resolve,VK_EXT_separate_stencil_usage,VK_EXT_sampler_filter_minmax,VK_KHR_sampler_mirror_clamp_to_edge,VK_EXT_ycbcr_2plane_444_formats,VK_KHR_format_feature_flags2,VK_EXT_rgba10x6_formats,VK_KHR_copy_commands2
3.2. Device Groups
VK_KHR_device_group,VK_KHR_device_group_creation
VK_KHR_external_fence,VK_KHR_external_memory,VK_KHR_external_semaphore
3.4. Ray Tracing
VK_KHR_acceleration_structure,VK_KHR_ray_tracing_pipeline,VK_KHR_ray_query,VK_KHR_pipeline_library,VK_KHR_deferred_host_operations
3.5. Shader Features
VK_KHR_8bit_storage,VK_KHR_16bit_storage,VK_KHR_shader_clock,VK_EXT_shader_demote_to_helper_invocation,VK_KHR_shader_draw_parameters,VK_KHR_shader_float16_int8,VK_KHR_shader_float_controls,VK_KHR_shader_non_semantic_info,VK_EXT_shader_stencil_export,VK_KHR_shader_terminate_invocation,VK_EXT_shader_viewport_index_layer,VK_KHR_spirv_1_4,VK_KHR_storage_buffer_storage_class,VK_KHR_variable_pointers,VK_KHR_vulkan_memory_model,VK_KHR_workgroup_memory_explicit_layout,VK_KHR_zero_initialize_workgroup_memory
VK_EXT_custom_border_color,VK_EXT_border_color_swizzle,VK_EXT_depth_clip_enable,VK_EXT_depth_clip_control,VK_EXT_provoking_vertex,VK_EXT_transform_feedback,VK_EXT_image_view_min_lod

