ืงืื ืกืืจืฆืืื Khronos, ืืืคืชื ืกืื ืืจืืื ืืจืคืืื,
ืืขืืงืจื
-
ืืืื ืืืื ืืืืขืช ืฉืคืช ืชืื ืืช Shader ืขื ืฉืืื ืืืื ื ืืฉืืืืฉ ื ืจืืHLSL , ืฉืคืืชืื ืขื ืืื Microsoft ืขืืืจ DirectX. ืชืืืืช HLSL ื-Vulkan ืืืคืฉืจืช ืืืฉืชืืฉ ืืืืชื ืืฆืืืืช HLSL ืืืคืืืงืฆืืืช ืืืืืกืกืืช ืขื Vulkan ื-DirectX, ืืื ืืคืฉืืช ืืช ืืชืจืืื ื-HLSL ื-SPIR-V. ืืื ืืืืจ ืืฆืืืืช, ืืืืืฅ ืืืฉืชืืฉ ืืืืืจ ืกืื ืืจืื
DXC , ืฉื ืคืชืื ืขื ืืื ืืืงืจืืกืืคื ื-2017 ืืืืืกืกืช ืขื ืืื ืืืืืืืช LLVM. ืชืืืืช Vulkan ืืืืฉืืช ืืืืฆืขืืช backend ื ืคืจื, ืืืืคืฉืจ ืื ืืชืจืื HLSL ืืืืฆืื ืืื ืืื ืฉื ืืฆืืืืช SPIR-V. ืืืืฉืื ืืืกื ืื ืจืง ืืช ืื ืืืืืืืช ืืืืื ืืช
HLSL, ืืืื ืกืืืื ืืชืืืืื, ืืจืืืืช ืืงืจื, ืคืื ืงืฆืืืช, ืกืืื, ืกืืื ืืฉืืืื, ืืจืืื ืฉืืืช, Shader Model 6.2, ืืื ืื ืืฉืืืืช, ืื ืื ืืืคืฉืจ ืฉืืืืฉ ืืืจืืืืช ืกืคืฆืืคืืืช ืืืืืงื ืืืื VKRay ื-NVIDIA. ืืืฆื HLSL ืขื ืืื Vulkan, ื ืืชื ืืื ืืืจืื ืืช ืขืืืืชื ืฉื ืืฉืืงืื ืืื Destiny 2, Red Dead Redemption II, Assassin's Creed Odyssey ื-Tomb Raider. - ืืืคืจื ืขืืืื
SPIR-V 1.5 , ืืืืืืจ ืืืฆืื ืืื ืืื ืฉื ืืฆืืืืช ืฉืืื ืืื ืืืจืกืื ืขืืืจ ืื ืืคืืืคืืจืืืช ืื ืืชื ืืืฉืชืืฉ ืื ืื ืืืจืคืืงื ืืื ืืืืฉืื ืืงืืื.
SPIR-V ืืืื ืืคืจืืช ืฉืื ืืืืืจ ืืฆืืื ื ืคืจื ืืืืฆืื ืืื ืืื, ืืืืคืฉืจ ืื ืืืฆืืจ ืืืืชืืช ืืฉืคืืช ืฉืื ืืช ืืจืื ืืืืื. ืืืชืืกืก ืขื ืืืฉืืืื ืฉืื ืื ืืจืื ืืืืื, ื ืืฆืจ ืื ืคืจื ืงืื ืืื ืืื ืืืื, ืฉืืืื ืืฉืืฉ ืื ืืื ืืชืงื ืื ืฉื OpenGL, Vulkan ื-OpenCL ืืืื ืืืฉืชืืฉ ืืืืืจ ืืฆืืื ืืืืื ื. - ืืืืื ืฉื Vulkan API ืืืืืช 23 ืืจืืืืช ืฉืืืืืจืืช ืืช ืืืืฆืืขืื, ืืฉืคืจืื ืืช ืืืืืช ืืขืืืื ืืืคืฉืืืช ืืช ืืคืืชืื. ืืื ืืืจืืืืช ืฉื ืืกืคื:
-
ืกืืคืืจืืช ืืจืื ืืืืืืืช (ืกืืคืืจ ืฆืืจ ืืื), ืืืื ืกื ืืจืื ืขื ืชืืจื ืืืืจื ืืืืืฉืืจ (ืืืืคืฉืจ ืื ืืืฉืชืืฉ ืคืจืืืืืืื ืืื ืืกื ืืจืื ืื-ืืืืื ื ืืื ืืืืฉืืจ ืืืืจื, ืืืื ืืืฉืชืืฉ ืืคืจืืืืืืืื ื ืคืจืืื ืฉื VkFence ื-VkSemaphore). ืกืืคืืจืืช ืืืฉืืช ืืืืฆืืืช ืขื ืืื ืขืจื ืืื ืืืื ื ืฉื 64 ืกืืืืืช ืฉื ืืชื ืืขืงืื ืืืขืืื ืขื ืคื ื ืฉืจืฉืืจืื ืืจืืืื.
- ืืืืืช ืืืฉืชืืฉ ืืกืืืื ืืกืคืจืืื ืขื ืืืืง ืืืคืืช ืืืฆืืืืช;
- ืืคืฉืจืืช ืคืจืืกืช ืืืืจืื ืชืืืืช HLSL;
- ืืฉืืืื ืื ืงืฉืืจืื (ืืื ืงืฉืจ), ืืฉืจ ืืกืืจ ืืช ืืืืืื ืขื ืืกืคืจ ืืืฉืืืื ืืืืื ืื ื-shaders ืขื ืืื ืฉืืืืฉ ืืืจืื ืืืืจืืืืื ืืืฉืืชืฃ ืฉื ืืืืจืื ืืืขืจืืช ืืืืืจืื GPU;
-
ืืืื ืืืืจืื ืคืืจืืื , ืืืืืืจ ืืืฆื ืฉืจืฉืืจืื ืืืงืืื ืืืืืื ืืืฉืช ืื ืชืื ืื ืืฉืืชืคืื ืืืคืขืืืืช ืกื ืืจืื; -
ืืื ืืงืก ืืชืืจ ืืขืฉืืช ืฉืืืืฉ ืืืืจ ืืชืืืืจื ืคืจืืกื ืขื ืคื ื ืืฆืืืืช ืืจืืืืช; - ืงืืฉืืจื ืืืืจ.
ืจืฉืืื ืืืื ืฉื ืชืืกืคืื ืฉื ืืกืคื:
-
VK_KHR_8bit_storage -
VK_KHR_buffer_device_address -
VK_KHR_create_renderpass2 -
VK_KHR_depth_stencil_resolve -
VK_KHR_draw_indirect_count -
VK_KHR_driver_properties -
VK_KHR_image_format_list -
VK_KHR_imeless_framebuffer -
VK_KHR_sampler_mirror_clamp_to_edge -
VK_KHR_separate_depth_stencil_layouts -
VK_KHR_shader_atomic_int64 -
VK_KHR_shader_float16_int8 -
VK_KHR_shader_float_controls -
VK_KHR_shader_subgroup_typed_types -
VK_KHR_spirv_1_4 -
VK_KHR_timeline_semaphore -
ืคืจืืกืช VK_KHR_uniform_buffer_standard_layout -
VK_KHR_vulkan_memory_model -
VK_EXT_descriptor_indexing -
VK_EXT_host_query_reset -
VK_EXT_sampler_filter_minmax -
VK_EXT_scalar_block_layout -
VK_EXT_separate_stencil_usage -
VK_EXT_shader_viewport_index_layer
-
-
ื ืืกืฃ ืืืชืจ ื-50 ืืื ืื ืืืฉืื ื-13 ืคืื ืงืฆืืืช; - ืืจืกืืืช ืืงืืฆืจืืช ืฉื ืืืคืจื ืืืื ื ืขืืืจ ืคืืืคืืจืืืช ืืขื ืืืคืืกืืืช, ืืคืฉืืืช ืืช ืืขืืืื ืขื ืคืืืคืืจืืืช ืฉืขืืืื ืื ื ืชืืืืช ืืื ืื ืืืจืืืืช, ืืืืคืฉืจืืช ืืืช ืืืกืชืืจ ืืื ืืคืขืื ืกืืงืืืืืช ืฉื ืืืืืืืช ืืืกืืกืืืช ืฉื Vulkan API.
- ืืขืืืื ื ืืฉืืช ืขื ืืคืจืืืงื ืืื ืืืืืื ื ืืืืืช ืขื ืืืฉืงื API ืืจืคืืื ืืืจืื. ืืืืืื, Vulkan ืืฆืืขื ืืจืืืืช ืืืืคืฉืจืืช ืชืจืืื OpenGL (
ืืืฅ ), OpenCL (clspv ,clvk ), OpenGL ES (GLOVE, Angle) ื-DirectX (DXVK ,vkd3d ) ืืจื ื-API ืฉื Vulkan, ืืื, ืืืืคื, ืืื ืืืคืฉืจ ื-Vulkan ืืขืืื ืขื ืคืืืคืืจืืืช ืืื ืืชืืืื ืืืงืืจืืช ืฉืื (gfx-rs ะธืืคืจ ืืขืืืื ืขื ืืื OpenGL ื-DirectX,MoltenVK ื-gfx-rs ืืขืืื ืขื ืืื Metal).
ื ืืกืคื ืืจืืืืช ืืื ืืฉืคืจ ืืช ืืชืืืืืช ืขื DirectX ื-HLSL
VK_KHR_host_query_reset, VK_KHR_uniform_buffer_standard_layout, VK_EXT_scalar_block_layout, VK_KHR_separate_stencil_usage, VK_KHR_separate_depth_stencil_layouts ื-SPIR-V ืืืืฉืืื ืืืืืืช HLSL ืกืคืฆืืคืืืช.
ืืชืืื ืืืช ืืขืชืื ืืืืืืช ืคืืชืื ืืจืืืืช ืืืืืืช ืืืื ื, ืืขืงื ืืืจ ืงืจื ืืื, ืงืืืื ืืคืขื ืื ืืืืื, ืชืืืื ื-VRS (ืืฆืืื ืืงืฆื ืืฉืชื ื) ืืืฆืืืืช Mesh.
ื ืืืืจ ืฉื-API ืฉื Vulkan
Vulkan ืืฉืชืจืขืช ืขื ืื ืืคืืืคืืจืืืช ืืืืื ืืช ืืืกืคืงืช API ืืืื ืขืืืจ ืฉืืืื ืืขืืืื, ืื ืืื ืืืืื ืืจื ื, ืืืืคืฉืจ ืืืฉืชืืฉ ื-API ืืื ืืฉืืชืฃ ืขื ืคื ื ืืกืคืจ GPUs ืืืืฉืืืื. ืืืืืช ืืืจืืืืงืืืจื ืืจื-ืฉืืืชืืช ืฉื Vulkan, ืฉืืฉืืขืืชื ืืืื ืฉืขืืืืื ืขื ืื GPU, ืืฆืจื ื OEM ืืืืืื ืืืฉืชืืฉ ืืืืื ืกืื ืืจืืืื ืืชืขืฉืืื ืขืืืจ ืกืงืืจืช ืงืื, ื ืืคืื ืืืืื ืืคืจืืคืืืื ืืืืื ืืคืืชืื. ืืืฆืืจืช ืืฆืืืืช, ืืืฆืข ืืืฆืื ืืื ืืื ื ืืื ืืืฉ, SPIR-V, ืืืืืกืก ืขื LLVM ืืฉืืชืืฃ ืืื ืืืืืืืช ืืืื ืขื OpenCL. ืืฉืืืื ืืืืฉืืจืื ืืืืกืืื, Vulkan ืืฆืืขื ืืช ืืืฉืง WSI (Window System Integration), ืืฉืจ ืคืืชืจ ืืขืจื ืืช ืืืชื ืืขืืืช ืืื EGL ื-OpenGL ES. ืชืืืืช WSI ืืืื ื ืืืงืืคืกื ื-Wayland - ืื ืืืคืืืงืฆืืืช ืืืฉืชืืฉืืช ื-Vulkan ืืืืืืช ืืคืขืื ืืกืืืื ืฉื ืฉืจืชื Wayland ืืื ืฉืื ืื. ืืืืืืช ืืขืืื ืืืืฆืขืืช WSI ืืกืืคืงืช ืื ืขืืืจ ืื ืืจืืืื, X11 (ืขื DRI3), Windows, Tizen, macOS ื-iOS.
ืืงืืจ: OpenNet.ru