liudeyuan2021 / Vulkan-Guide

One stop shop for getting started with the Vulkan API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Vulkan® Guide

Vulkan Logo
Khronos logo

This document is also available in the following languages:
Japanese

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 can be built as a single page using asciidoctor guide.adoc

2. Using Vulkan

2.1. Loader

2.2. Layers

2.5. WSI

2.10. Threading

2.11. Depth

  • VK_EXT_depth_range_unrestricted, VK_EXT_depth_clip_enable, VK_EXT_depth_clip_control

2.13. Robustness

  • VK_EXT_image_robustness, VK_EXT_robustness2

2.14. Dynamic State

  • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2, VK_EXT_vertex_input_dynamic_state, VK_EXT_color_write_enable

2.15. Subgroups

  • VK_EXT_subgroup_size_control, VK_KHR_shader_subgroup_extended_types, VK_EXT_shader_subgroup_ballot, VK_EXT_shader_subgroup_vote

2.16. Shader Memory Layout

  • VK_KHR_uniform_buffer_standard_layout, VK_KHR_relaxed_block_layout, VK_EXT_scalar_block_layout

2.17. Atomics

  • VK_KHR_shader_atomic_int64, VK_EXT_shader_image_atomic_int64, VK_EXT_shader_atomic_float, VK_EXT_shader_atomic_float2

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_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 Sychronization

  • 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

About

One stop shop for getting started with the Vulkan API

License:Creative Commons Attribution 4.0 International


Languages

Language:Makefile 100.0%