KhronosGroup/Vulkan-Guide

One stop shop for getting started with the Vulkan API

Makefile

2,287

589 commits

updated Sep 27, 2026

See the code

README

Vulkan Logo
Khronos logo

This document is also available in the following languages:
Japanese Korean

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

2. Using Vulkan

2.1. Deprecated

2.7. Loader

2.8. Layers

2.11. WSI

2.14. Memory Allocation Strategy

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.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.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

3. When and Why to use Extensions

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

3.3. External Memory and Synchronization

  • 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

3.6. Translation Layer Extensions

  • 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

5. License

khronos
vulkan
vulkan-guide

KhronosGroup/Vulkan-Guide

One stop shop for getting started with the Vulkan API

Makefile

2,287

589 commits

updated Sep 27, 2026

See the code

README

Vulkan Logo
Khronos logo

This document is also available in the following languages:
Japanese Korean

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

2. Using Vulkan

2.1. Deprecated

2.7. Loader

2.8. Layers

2.11. WSI

2.14. Memory Allocation Strategy

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.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.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

3. When and Why to use Extensions

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

3.3. External Memory and Synchronization

  • 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

3.6. Translation Layer Extensions

  • 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

5. License

khronos
vulkan
vulkan-guide

Project health

Overall

4.7/10

Maintained

10/10

Code review

4/10
OpenSSF Scorecard

Significant stargazers

(top 24 of 25)

Rémi Verschelde

1,791 followers · starred Nov 2019

Markus Siglreithmaier

137 followers · starred Mar 2021

Nathan Youngman

461 followers · starred Jun 2025

Shockingly Good

66 followers · starred Mar 2021