- 1. Logistics Overview
- 1.1. What is Vulkan?
- 1.2. What you can do with Vulkan
- 1.3. Vulkan Spec
- 1.4. Platforms
- 1.5. Checking for Support
- 1.6. Versions
- 1.7. Vulkan Release Summary
- 1.8. What is SPIR-V?
- 1.9. Portability Initiative
- 1.10. Vulkan CTS
- 1.11. Vulkan Development Tools
- 1.12. Vulkan Validation Overview
- 1.13. Vulkan Decoder Ring (GL, GLES, DirectX, and Metal)
- 2. Using Vulkan
- 2.1. Loader
- 2.2. Layers
- 2.3. Querying Properties, Extensions, Features, Limits, and Formats
- 2.4. Queues and Queue Family
- 2.5. WSI
- 2.6. pNext and sType
- 2.7. Synchronization
- 2.8. Memory Allocation Strategy
- 2.9. Pipeline Caching/Derivatives
- 2.10. Threading
- 2.11. Mapping Data to Shaders
- 2.12. Robustness
- 2.13. Dynamic State
- 2.14. Subgroups
- 2.15. Atomics
- 2.16. Common Pitfalls
- 3. When and Why to use Extensions
- 3.1. Cleanup Extensions
- 3.2. Device Groups
- 3.3. External Memory and Sychronization
- 3.4. Ray Tracing
- 3.5. Shader Features
- 3.6. Translation Layer Extensions
- 3.7. VK_EXT_descriptor_indexing
- 3.8. VK_EXT_inline_uniform_block
- 3.9. VK_EXT_memory_priority
- 3.10. VK_KHR_descriptor_update_template
- 3.11. VK_KHR_draw_indirect_count
- 3.12. VK_KHR_image_format_list
- 3.13. VK_KHR_imageless_framebuffer
- 3.14. VK_KHR_sampler_ycbcr_conversion
- 3.15. VK_KHR_timeline_semaphore
- 3.16. VK_KHR_shader_subgroup_uniform_control_flow
- 4. Contributing
- 5. License
- 6. Code of conduct
1.1. What is Vulkan?
1.3. Vulkan Spec
1.4. Platforms
1.5. Checking for Support
1.6. Versions
1.8. What is SPIR-V?
1.10. Vulkan CTS
1.11. Vulkan Development Tools
2.1. Loader
2.2. Layers
2.3.1. Enabling Extensions
2.3.2. Enabling Features
2.5. WSI
2.6. pNext and sType
2.7. Synchronization
2.10. Threading
2.11. Mapping Data to Shaders
2.11.1. Vertex Input Data Processing
2.12. Robustness
-
VK_EXT_image_robustness
,VK_EXT_robustness2
2.13. Dynamic State
-
VK_EXT_extended_dynamic_state
,VK_EXT_extended_dynamic_state2
,VK_EXT_vertex_input_dynamic_state
,VK_EXT_color_write_enable
2.14. Subgroups
2.15. Atomics
2.16. Common Pitfalls
Note
|
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_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
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_relaxed_block_layout
,VK_KHR_shader_atomic_int64
,VK_EXT_scalar_block_layout
,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_EXT_shader_subgroup_ballot
,VK_KHR_shader_subgroup_extended_types
,VK_EXT_shader_subgroup_vote
,VK_KHR_shader_terminate_invocation
,VK_EXT_shader_viewport_index_layer
,VK_KHR_spirv_1_4
,VK_KHR_storage_buffer_storage_class
,VK_EXT_subgroup_size_control
,VK_KHR_uniform_buffer_standard_layout
,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_depth_clip_enable
,VK_EXT_provoking_vertex
,VK_EXT_transform_feedback