рдХреНрд░реЛрдиреЛрд╕ рдХрдВрд╕реЛрд░реНрдЯрд┐рдпрдо, рдЬреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдорд╛рдирдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ,
рдореБрдЦреНрдп
-
рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЖрдгрд▓реЗ рд╡реНрдпрд╛рдкрдХ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рддрдпрд╛рд░ рд╣реЛрдИрдкрд░реНрдпрдВрдд рд╢реЗрдбрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖реЗрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдПрдЪрдПрд▓рдПрд╕рдПрд▓ , DirectX рд╕рд╛рдареА Microsoft рдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ. Vulkan рдордзреАрд▓ HLSL рд╕рдорд░реНрдерди Vulkan рдЖрдгрд┐ DirectX рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдордзреНрдпреЗ рд╕рдорд╛рди HLSL рд╢реЗрдбрд░реНрд╕ рд╡рд╛рдкрд░рдгреЗ рд╢рдХреНрдп рдХрд░рддреЗ рдЖрдгрд┐ HLSL рдордзреВрди SPIR-V рдордзреНрдпреЗ рднрд╛рд╖рд╛рдВрддрд░ рджреЗрдЦреАрд▓ рд╕реБрд▓рдн рдХрд░рддреЗ. рд╢реЗрдбрд░реНрд╕ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдорд╛рдирдХ рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА рдЬрд╛рддреЗ
DXC , рдЬреЗ Microsoft рджреНрд╡рд╛рд░реЗ 2017 рдордзреНрдпреЗ рдЙрдШрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрдгрд┐ LLVM рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ. рд╡реНрд╣рд▓реНрдХрди рд╕рдорд░реНрдерди рд╡реЗрдЧрд│реНрдпрд╛ рдмреЕрдХрдПрдВрдбрджреНрд╡рд╛рд░реЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ SPIR-V рд╢реЗрдбрд░реНрд╕рдЪреНрдпрд╛ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рд╛рдордзреНрдпреЗ HLSL рдЪреЗ рднрд╛рд╖рд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ рдХреЗрд╡рд│ рд╕рд░реНрд╡ рдЕрдВрдЧрднреВрдд рдХреНрд╖рдорддрд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдирд╛рд╣реА
HLSL, рдЧрдгрд┐рддреАрдп рдкреНрд░рдХрд╛рд░, рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣, рдХрд╛рд░реНрдпреЗ, рд╕рдВрдЪ, рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдХрд╛рд░, рдиреЗрдорд╕реНрдкреЗрд╕, рд╢реЗрдбрд░ рдореЙрдбреЗрд▓ 6.2, рд╕рдВрд░рдЪрдирд╛ рдЖрдгрд┐ рдкрджреНрдзрддреА, рдкрд░рдВрддреБ NVIDIA рдХрдбреВрди VKRay рд╕рд╛рд░рдЦреНрдпрд╛ рд╡рд▓реНрдХрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╕реНрддрд╛рд░рд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рд╕ рджреЗрдЦреАрд▓ рдЕрдиреБрдорддреА рджреЗрддреЗ. рд╡рд▓реНрдХрдирдЪреНрдпрд╛ рд╢реАрд░реНрд╖рд╕реНрдерд╛рдиреА рдПрдЪрдПрд▓рдПрд╕рдПрд▓ рдореЛрдбрдордзреНрдпреЗ, рдбреЗрд╕реНрдЯрд┐рдиреА 2, рд░реЗрдб рдбреЗрдб рд░рд┐рдбреЗрдореНрдкрд╢рди II, рдЕтАНреЕрд╕реЗрд╕рд┐рдиреНрд╕ рдХреНрд░реАрдб рдУрдбрд┐рд╕реА рдЖрдгрд┐ рдЯреЙрдореНрдм рд░рд╛рдпрдбрд░ рд╕рд╛рд░рдЦреНрдпрд╛ рдЦреЗрд│рд╛рдВрдЪреЗ рдХрд╛рд░реНрдп рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ. - рддрдкрд╢реАрд▓ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ
SPIR-V 1.5 , рдЬреЗ рд╕рд░реНрд╡ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╢реЗрдбрд░реНрд╕рдЪреЗ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рдЖрдгрд┐ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЖрдгрд┐ рд╕рдорд╛рдВрддрд░ рд╕рдВрдЧрдгрди рджреЛрдиреНрд╣реАрд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.
SPIR-V рдордзреНрдпреЗ рдПрдХ рд╡реЗрдЧрд│реЗ рд╢реЗрдбрд░ рд╕рдВрдХрд▓рди рдлреЗрдЬ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдкреНрд░реЗрдЭреЗрдВрдЯреЗрд╢рдирдордзреНрдпреЗ рд╡рд┐рднрдХреНрдд рдХрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рд╡рд┐рдз рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рднрд╛рд╖рд╛рдВрд╕рд╛рдареА рдлреНрд░рдВрдЯрдПрдВрдб рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рд╡рд┐рд╡рд┐рдз рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд, рдПрдХрдЪ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдХреЛрдб рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рдЬреЛ рдЕрдВрдЧрднреВрдд рд╢реЗрдбрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рди рд╡рд╛рдкрд░рддрд╛ OpenGL, Vulkan рдЖрдгрд┐ OpenCL рдбреНрд░рд╛рдпрд╡реНрд╣рд░реНрд╕рджреНрд╡рд╛рд░реЗ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. - рдХреЛрд░ Vulkan API рдордзреНрдпреЗ 23 рд╡рд┐рд╕реНрддрд╛рд░ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд рдЬреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╡рд╛рдврд╡рддрд╛рдд, рдкреНрд░рд╕реНрддреБрддреАрдХрд░рдг рдЧреБрдгрд╡рддреНрддрд╛ рд╕реБрдзрд╛рд░рддрд╛рдд рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕ рд╕реБрд▓рдн рдХрд░рддрд╛рдд. рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░рд╛рдВрдордзреНрдпреЗ:
-
рдХрд╛рд▓рдХреНрд░рдорд╛рдиреБрд╕рд╛рд░ рд╕реЗрдорд╛рдлреЛрд░реНрд╕ (рдЯрд╛рдЗрдорд▓рд╛рдЗрди рд╕реЗрдорд╛рдлреЛрд░), рдпрдЬрдорд╛рди рдЖрдгрд┐ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рд░рд╛рдВрдЧреЗрд╕рд╣ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рдПрдХрддреНрд░рд┐рдд рдХрд░рдгреЗ (рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ VkFence рдЖрдгрд┐ VkSemaphore рдЖрджрд┐рдо рди рд╡рд╛рдкрд░рддрд╛, рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдЖрдгрд┐ рд╣реЛрд╕реНрдЯ рджрд░рдореНрдпрд╛рди рд╕рд░реНрд╡рджрд┐рд╢рд╛ рд╕рдордХреНрд░рдордгрд╛рд╕рд╛рдареА рдПрдХ рдЖрджрд┐рдо рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ). рдирд╡реАрди рд╕реЗрдорд╛рдлреЛрд░реНрд╕ рдПрдХрд╛ рдореЛрдиреЛрдЯреЛрдирд┐рдХрд░реАрддреНрдпрд╛ рд╡рд╛рдврддреНрдпрд╛ 64-рдмрд┐рдЯ рдореВрд▓реНрдпрд╛рджреНрд╡рд╛рд░реЗ рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЬрд╛рддрд╛рдд рдЬреЗ рдПрдХрд╛рдзрд┐рдХ рдереНрд░реЗрдбреНрд╕рд╡рд░ рдЯреНрд░реЕрдХ рдЖрдгрд┐ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд.
- рд╢реЗрдбрд░реНрд╕рдордзреНрдпреЗ рдХрдореА рдЕрдЪреВрдХрддреЗрд╕рд╣ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкреНрд░рдХрд╛рд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛;
- HLSL рд╕реБрд╕рдВрдЧрдд рдореЗрдорд░реА рд▓реЗрдЖрдЙрдЯ рдкрд░реНрдпрд╛рдп;
- рдЕрдирдмрд╛рдЙрдВрдб рд╕рдВрд╕рд╛рдзрдиреЗ (рдмрд╛рдЗрдВрдбрд▓реЗрд╕), рдЬреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдорд░реА рдЖрдгрд┐ GPU рдореЗрдорд░реАрдЪреНрдпрд╛ рд╕рд╛рдорд╛рдпрд┐рдХ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд╕реНрдкреЗрд╕рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рд╢реЗрдбрд░реНрд╕рд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрд╡рд░реАрд▓ рдорд░реНрдпрд╛рджрд╛ рдХрд╛рдвреВрди рдЯрд╛рдХрддреЗ;
-
рдФрдкрдЪрд╛рд░рд┐рдХ рдореЗрдорд░реА рдореЙрдбреЗрд▓ , рдЬреЗ рд╕рдорд╡рд░реНрддреА рдереНрд░реЗрдбреНрд╕ рд╕рд╛рдорд╛рдпрд┐рдХ рдбреЗрдЯрд╛ рдЖрдгрд┐ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рдСрдкрд░реЗрд╢рдиреНрд╕рдордзреНрдпреЗ рдХрд╕реЗ рдкреНрд░рд╡реЗрд╢ рдХрд░реВ рд╢рдХрддрд╛рдд рд╣реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ; -
рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдПрдХрд╛рдзрд┐рдХ рд╢реЗрдбрд░реНрд╕рд╡рд░ рд▓реЗрдЖрдЙрдЯ рд╡рд░реНрдгрдирдХрд╛рдВрдЪрд╛ рдкреБрдирд░реНрд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА; - рдмрдлрд░ рд▓рд┐рдВрдХреНрд╕.
рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░рд╛рдВрдЪреА рд╕рдВрдкреВрд░реНрдг рдпрд╛рджреА:
-
VK_KHR_8bit_storage -
VK_KHR_buffer_device_address -
VK_KHR_create_renderpass2 -
рд╡реНрд╣реАрдХреЗ_рдХреЗрдПрдЪрдЖрд░_рдбреЗрдкреНрдЯ_рд╕реНрдЯреЗрдВрд╕рд┐рд▓_рдЙрддреНрддрдо -
VK_KHR_draw_indirect_count -
VK_KHR_driver_properties -
VK_KHR_image_format_list -
VK_KHR_рдЗрдореЗрдЬрд▓реЗрд╕_рдлреНрд░реЗрдордмрдлрд░ -
VK_KHR_sampler_mirror_clamp_to_edge -
VK_KHR_рдкреГрдердХ_рдЦреЛрд▓реА_рд╕реНрдЯреЗрдиреНрд╕рд┐рд▓_рд▓реЗрдЖрдЙрдЯ -
рд╡реНрд╣реАрдХреЗ_рдХреЗрдПрдЪрдЖрд░_рд╢реЕрдбрд░_рдЕрдЯреЙрдорд┐рдХ_рдЗрдВрдЯ 64 -
VK_KHR_shader_float16_int8 -
рд╡реНрд╣реАрдХреЗ_рдХреЗрдПрдЪрдЖрд░_рд╢реЗрдбрд░_рдлреНрд▓реЛрдЯ_рдХрдВрдЯреНрд░реЛрд▓реНрд╕ -
рд╡реНрд╣реАрдХреЗ_рдХреЗрдПрдЪрдЖрд░_рд╢реЗрдбрд░_рд╕рдореВрд╣ рдЧрдЯ_ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд_рдкреНрд░рдХрд╛рд░ -
рд╡реНрд╣реАрдХреЗ_рдХреЗрдПрдЪрдЖрд░_рд╕реНрдкрд░реНрд╡реНрд╣_1_4 -
рд╡реНрд╣реАрдХреЗ_рдХреЗрдПрдЪрдЖрд░_рдЯрд╛рдЗрдорд▓рд╛рдЗрди_рд╕реЗрдлреЛрд░реЗ -
рд╡реНрд╣реАрдХреЗ_рдХреЗрдПрдЪрдЖрд░_рдЙрдирд┐рдлреЙрд░реНрдо_рдмрдлрд░_рд╕реНрдЯрдБрдбрд░реНрдб_рдЖрдКрдЯ -
рд╡реНрд╣реАрдХреЗ_рдХреЗрдПрдЪрдЖрд░_рд╡рд▓реНрдХрди_ рд╕реНрдореГрддреА_рдореЛрдбреЗрд▓ -
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 рдХрд╛рд░реНрдпреЗ; - рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯрд╛рд░реНрдЧреЗрдЯ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдирдЪреНрдпрд╛ рд▓рд╣рд╛рди рдЖрд╡реГрддреНрддреНрдпрд╛ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд, рдЬреНрдпрд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рд╕рд░реНрд╡ рд╡рд┐рд╕реНрддрд╛рд░ рдЕрджреНрдпрд╛рдк рд╕рдорд░реНрдерд┐рдд рдирд╛рд╣реАрдд рдЕрд╢рд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░реАрд▓ рдХрд╛рдо рд╕реБрд▓рдн рдХрд░рдгреЗ рдЖрдгрд┐ рд╡рд▓реНрдХрди API рдЪреНрдпрд╛ рдореВрд▓рднреВрдд рдХреНрд╖рдорддрд╛рдВрдЪреНрдпрд╛ рдирд┐рд╡рдбрдХ рд╕рдХреНрд░рд┐рдпрддреЗрд╢рд┐рд╡рд╛рдп рдХрд░реВ рджреЗрдгреЗ.
- рдЗрддрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ API рд╕рд╣ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдХрд▓реНрдкрд╛рд╡рд░ рдХрд╛рдо рд╕реБрд░реВ рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╡рд▓реНрдХрди рд╡рд┐рд╕реНрддрд╛рд░ рдСрдлрд░ рдХрд░рддреЛ рдЬреЗ рдУрдкрдирдЬреАрдПрд▓ рднрд╛рд╖рд╛рдВрддрд░ (
рдЭрд┐рдВрдХ ), OpenCL (clspv ,clvk ), рдУрдкрдирдЬреАрдПрд▓ рдИрдПрд╕ (рдЧреНрд▓реЛрд╡реНрд╣, рдЕрдБрдЧрд▓) рдЖрдгрд┐ рдбрд╛рдпрд░реЗрдХреНрдЯрдПрдХреНрд╕ (рдбреАрдПрдХреНрд╕рд╡реНрд╣реАрдХреЗ ,vkd3d ) рд╡рд▓реНрдХрди API рджреНрд╡рд╛рд░реЗ, рдЖрдгрд┐ рдЙрд▓рдЯ, рд╡реНрд╣рд▓реНрдХрдирд▓рд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдореВрд│ рд╕рдорд░реНрдердирд╛рд╢рд┐рд╡рд╛рдп рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА (gfx-rs ╨╕рд░рд╛рдЦ OpenGL рдЖрдгрд┐ DirectX рд╡рд░ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА,рдореЛрд▓реНрдЯреЗрдирд╡реНрд╣реАрдХреЗ рдЖрдгрд┐ рдореЗрдЯрд▓рдЪреНрдпрд╛ рд╡рд░ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА gfx-rs).
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, рдЖрдгрд┐ HIRSL рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд╖рдорддрд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рддреЗ.
рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ рдпреЛрдЬрдирд╛рдВрдордзреНрдпреЗ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ, рд░реЗ рдЯреНрд░реЗрд╕рд┐рдВрдЧ, рд╡реНрд╣рд┐рдбрд┐рдУ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдЖрдгрд┐ рдбреАрдХреЛрдбрд┐рдВрдЧ, VRS (рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓-рд░реЗрдЯ рд╢реЗрдбрд┐рдВрдЧ) рдЖрдгрд┐ рдореЗрд╢ рд╢реЗрдбрд░реНрд╕рд╕рд╛рдареА рд╕рдорд░реНрдердирд╛рд╕рд╛рдареА рд╡рд┐рд╕реНрддрд╛рд░рд╛рдВрдЪрд╛ рд╡рд┐рдХрд╛рд╕ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.
Vulkan API рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛
Vulkan рд╕рд░реНрд╡ рдЙрдкрд▓рдмреНрдз рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рдкрд╕рд░рддреЗ рдЖрдгрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк, рдореЛрдмрд╛рдЗрд▓ рдЖрдгрд┐ рд╡реЗрдмрд╕рд╛рдареА рдПрдХрдЪ API рдкреНрд░рджрд╛рди рдХрд░рддреЗ, рдЬреНрдпрд╛рдореБрд│реЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп API рдПрдХрд╛рдзрд┐рдХ GPU рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрд╡рд░ рд╡рд╛рдкрд░рддрд╛ рдпреЗрддреЗ. Vulkan рдЪреНрдпрд╛ рдорд▓реНрдЯреА-рд▓реЗрдпрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓рд╛ рдзрдиреНрдпрд╡рд╛рдж, рдореНрд╣рдгрдЬреЗ рдХреЛрдгрддреНрдпрд╛рд╣реА GPU рд╕реЛрдмрдд рдХрд╛рдо рдХрд░рдгрд╛рд░реА рд╕рд╛рдзрдиреЗ, OEM рд╡рд┐рдХрд╛рд╕рд╛рджрд░рдореНрдпрд╛рди рдХреЛрдб рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди, рдбреАрдмрдЧрд┐рдВрдЧ рдЖрдгрд┐ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧрд╕рд╛рдареА рдЙрджреНрдпреЛрдЧ-рдорд╛рдирдХ рд╕рд╛рдзрдиреЗ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛рдд. рд╢реЗрдбрд░реНрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдирд╡реАрди рдкреЛрд░реНрдЯреЗрдмрд▓ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рд░рд┐рдкреНрд░реЗрдЭреЗрдВрдЯреЗрд╢рди, SPIR-V, рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЖрд╣реЗ, рдЬреЗ LLVM рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ рдЖрдгрд┐ OpenCL рд╕рд╣ рдореБрдЦреНрдп рддрдВрддреНрд░рдЬреНрдЮрд╛рди рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдд рдЖрд╣реЗ. рдЙрдкрдХрд░рдгреЗ рдЖрдгрд┐ рд╕реНрдХреНрд░реАрди рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╡рд▓реНрдХрди WSI (рд╡рд┐рдВрдбреЛ рд╕рд┐рд╕реНрдЯрдо рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рди) рдЗрдВрдЯрд░рдлреЗрд╕ рдСрдлрд░ рдХрд░рддреЗ, рдЬреЗ OpenGL ES рдордзреАрд▓ EGL рд╕рд╛рд░рдЦреНрдпрд╛рдЪ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рддреЗ. WSI рд╕рдорд░реНрдерди Wayland рдордзреНрдпреЗ рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ - Vulkan рд╡рд╛рдкрд░рдгрд╛рд░реЗ рд╕рд░реНрд╡ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдмрджрд▓ рди рдХреЗрд▓реЗрд▓реНрдпрд╛ Wayland рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдЪрд╛рд▓реВ рд╢рдХрддрд╛рдд. WSI рджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ Android, X11 (DRI3 рд╕рд╣), Windows, Tizen, macOS рдЖрдгрд┐ iOS рд╕рд╛рдареА рджреЗрдЦреАрд▓ рдкреНрд░рджрд╛рди рдХреЗрд▓реА рдЖрд╣реЗ.
рд╕реНрддреНрд░реЛрдд: opennet.ru