Vulkan® Guide Vulkan指南
本文档有其他语言版本:
日语
The Vulkan Guide是设计用来帮助开发者走进和学习Vulkan的. 它的目标是轻松阅读,根据开发人员的需求提供许多其他有用的链接。 所有信息都旨在帮助更好地填补 Vulkan 许多细微的空白。
翻译版本基于Google Translate和ChatGPT, 人工润色而成. 本翻译版本的首要目的是提供一个参考, 而非完全可读的中文翻译版本. 由于专有名词有时难以翻译, 翻译后也有可能产生歧义, 因此专有名词尽可能保持原样.
Note
|
本指南可以用Asciidoc构建单页 |
1. 概览
什么是Vulkan?
1.1.你能用Vulkan做什么
1.2.平台支持
1.4.检查Vulkan支持
1.5.版本
1.6.什么是SPIR-V?
1.8.Vulkan CTS
1.10.Vulkan Development Tools
1.11.2. Using Vulkan
Loader
2.1.Layers
2.2.Querying Properties, Extensions, Features, Limits, and Formats
2.3.启用 Vulkan Extensions
2.3.1.启用 Vulkan Features
2.3.2.使用 SPIR-V Extension
2.3.3.Formats
2.3.4.WSI
2.5.pNext and sType
2.6.Synchronization
2.7.Threading
2.10.Depth
2.11.-
VK_EXT_depth_range_unrestricted
,VK_EXT_depth_clip_enable
,VK_EXT_depth_clip_control
Mapping Data to Shaders
2.12.Vertex Input Data Processing
2.12.1.Descriptor Dynamic Offset
2.12.2.Push Constants
2.12.3.Robustness
2.13.-
VK_EXT_image_robustness
,VK_EXT_robustness2
,VK_EXT_pipeline_robustness
Dynamic State
2.14.-
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
Subgroups
2.15.-
VK_EXT_subgroup_size_control
,VK_KHR_shader_subgroup_extended_types
,VK_EXT_shader_subgroup_ballot
,VK_EXT_shader_subgroup_vote
Shader Memory Layout
2.16.-
VK_KHR_uniform_buffer_standard_layout
,VK_KHR_relaxed_block_layout
,VK_EXT_scalar_block_layout
Atomics
2.17.-
VK_KHR_shader_atomic_int64
,VK_EXT_shader_image_atomic_int64
,VK_EXT_shader_atomic_float
,VK_EXT_shader_atomic_float2
Common Pitfalls
2.18.Using HLSL shaders
2.19.3. When and Why to use Extensions
Note
|
这些是各种 Vulkan 扩展的补充参考。 有关任何扩展的更多详细信息,请参阅 Vulkan 规范 |
Cleanup Extensions
3.1.-
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
Device Groups
3.2.-
VK_KHR_device_group
,VK_KHR_device_group_creation
External Memory and Sychronization
3.3.-
VK_KHR_external_fence
,VK_KHR_external_memory
,VK_KHR_external_semaphore
Ray Tracing
3.4.-
VK_KHR_acceleration_structure
,VK_KHR_ray_tracing_pipeline
,VK_KHR_ray_query
,VK_KHR_pipeline_library
,VK_KHR_deferred_host_operations
Shader Features
3.5.-
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
Translation Layer Extensions
3.6.-
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