ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ стандарт Vulkan 1.3

Π‘Π»Π΅Π΄ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°, ΠΊΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌΡŠΡ‚ Π·Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ стандарти Khronos ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° спСцификацията Vulkan 1.3, която Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° API Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΈ изчислитСлнитС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° GPU. Новата спСцификация Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ, Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π½ΠΈ Π² ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π° сС, Ρ‡Π΅ изискванията Π½Π° спСцификацията Vulkan 1.3 са ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π·Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΎ ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅ ΠΎΡ‚ клас OpenGL ES 3.1, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ осигури ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° новия Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ API във всички Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ процСсори, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ Vulkan 1.2. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° Vulkan SDK сС ΠΏΠ»Π°Π½ΠΈΡ€Π° Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈ Π² срСдата Π½Π° Ρ„Π΅Π²Ρ€ΡƒΠ°Ρ€ΠΈ. Π’ допълнСниС към основната спСцификация сС ΠΏΠ»Π°Π½ΠΈΡ€Π° Π΄Π° сС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ°Ρ‚ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΈ настолни устройства ΠΎΡ‚ срСдСн ΠΈ висок клас, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΊΠ°Ρ‚ΠΎ част ΠΎΡ‚ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ β€žVulkan Milestoneβ€œ.

Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π΅ прСдставСн ΠΏΠ»Π°Π½ Π·Π° внСдряванС Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²Π°Ρ‚Π° спСцификация ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π² Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΊΠ°Ρ€Ρ‚ΠΈ ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° устройства. Intel, AMD, ARM ΠΈ NVIDIA сС готвят Π΄Π° пуснат ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈ, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈ Vulkan 1.3. НапримСр, AMD обяви, Ρ‡Π΅ скоро Ρ‰Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Vulkan 1.3 Π² сСрията Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈ AMD Radeon RX Vega, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ във всички ΠΊΠ°Ρ€Ρ‚ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° AMD RDNA. NVIDIA сС Π³ΠΎΡ‚Π²ΠΈ Π΄Π° ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Vulkan 1.3 Π·Π° Linux ΠΈ Windows. ARM Ρ‰Π΅ Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Vulkan 1.3 към Mali GPU.

Основни ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • Π’ΡŠΠ²Π΅Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° опростСни пропуски Π·Π° изобразяванС (ΠžΠΏΡ€ΠΎΡΡ‚ΡΠ²Π°Π½Π΅ Π½Π° пропускитС Π·Π° изобразяванС, VK_KHR_dynamic_rendering), ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ изобразяванС, Π±Π΅Π· Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ пропуски Π·Π° изобразяванС ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π½Π° Π±ΡƒΡ„Π΅Ρ€ Π·Π° ΠΊΠ°Π΄Ρ€ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ, Π·Π° Π΄Π° сС опрости ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ (Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄, Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π°Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΈ Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΈ ΠΈ тСкстури Π² пиксСлни прСдставяния).
    • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 - Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΈ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ, Π·Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΡ‚Π΅ броя Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΈ ΠΈ ΠΏΡ€ΠΈΠΊΠ°Ρ‡Π΅Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅.
    • VK_EXT_pipeline_creation_cache_control - ΠžΡΠΈΠ³ΡƒΡ€ΡΠ²Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈ Π²ΡŠΡ€Ρ…Ρƒ Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ³Π° ΠΈ ΠΊΠ°ΠΊ сС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Ρ‚ Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅.
    • VK_EXT_pipeline_creation_feedback - ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Ρ информация Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΈ, Π·Π° Π΄Π° улСсни ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΈ отстраняванСто Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ.
  • Π Π΅Π΄ΠΈΡ†Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ са ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Π½ΠΈ ΠΎΡ‚ Π½Π΅Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΈ към Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΈ. НапримСр внСдряванСто Π½Π° Π±ΡƒΡ„Π΅Ρ€Π½ΠΈ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠΈ (VK_KHR_buffer_device_address) ΠΈ ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Vulkan, ΠΊΠΎΠΉΡ‚ΠΎ опрСдСля ΠΊΠ°ΠΊ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ нишки ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ сподСлСни Π΄Π°Π½Π½ΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° синхронизиранС, Π²Π΅Ρ‡Π΅ са Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΈ.
  • ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½ Π΅ Ρ„ΠΈΠ½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠΈ (VK_EXT_subgroup_size_control), Ρ‚Π°ΠΊΠ° Ρ‡Π΅ доставчицитС Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° прСдоставят ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° мноТСство Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈ Π½Π° ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠΈ, Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ изискват.
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π΅Π½ΠΎ Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ VK_KHR_shader_integer_dot_product, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° производитСлността Π½Π° Ρ€Π°ΠΌΠΊΠΈ Π·Π° машинно ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΎΡ‚ΠΎ ускорСниС Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ с Ρ‚ΠΎΡ‡ΠΊΠΎΠ² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚.
  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ са ΠΎΠ±Ρ‰ΠΎ 23 Π½ΠΎΠ²ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ:
    • VK_KHR_copy_commands2
    • VK_KHR_Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ_Ρ€Π΅Π½Π΄ΡŠΡ€ΠΈΡ€Π°Π½Π΅
    • VK_KHR_format_feature_flags2
    • VK_KHR_ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°4
    • VK_KHR_shader_integer_dot_product
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_terminate_invocation
    • VK_KHR_синхронизация2
    • VK_KHR_zero_initialize_workgroup_memory
    • VK_EXT_4444_Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ
    • VK_EXT_Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΎ_Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ_ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅
    • VK_EXT_extended_dynamic_state2
    • VK_EXT_ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅_робаст
    • VK_EXT_inline_uniform_block
    • VK_EXT_ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄_създаванС_кСш_
    • VK_EXT_pipeline_creation_feedback
    • VK_EXT_ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΈ_Π΄Π°Π½Π½ΠΈ
    • VK_EXT_shader_demote_to_helper_invocation
    • VK_EXT_ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠ°_Ρ€Π°Π·ΠΌΠ΅Ρ€_ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»
    • VK_EXT_тСксСл_Π±ΡƒΡ„Π΅Ρ€_подравняванС
    • VK_EXT_texture_compression_astc_hdr
    • VK_EXT_tooling_info
    • VK_EXT_ycbcr_2plane_444_formats
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² Ρ‚ΠΈΠΏ ΠΎΠ±Π΅ΠΊΡ‚ VkPrivateDataSlot. Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈ са 37 Π½ΠΎΠ²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 60 структури.
  • БпСцификацията SPIR-V 1.6 Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π°, Π·Π° Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎ прСдставянС Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ унивСрсално Π·Π° всички ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ изчислСния. SPIR-V Π²ΠΊΠ»ΡŽΡ‡Π²Π° отдСлянС Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½Π° Ρ„Π°Π·Π° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ Π² ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎ прСдставянС, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ интСрфСйси Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΅Π·ΠΈΡ†ΠΈ Π½Π° високо Π½ΠΈΠ²ΠΎ. Π’ΡŠΠ· основа Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° високо Π½ΠΈΠ²ΠΎ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π΅Π΄ΠΈΠ½ΠΈΡ‡Π΅Π½ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚ OpenGL, Vulkan ΠΈ OpenCL Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ, Π±Π΅Π· Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° вградСният ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ концСпцията Π·Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚. Google Π΅ ΠΏΡŠΡ€Π²ΠΈΡΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ пусна основСн ΠΏΡ€ΠΎΡ„ΠΈΠ» Π·Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Android, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ улСсни опрСдСлянСто Π½Π° Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° Vulkan Π½Π° устройство извън спСцификацията Vulkan 1.0. Π—Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ устройства ΠΌΠΎΠΆΠ΅ Π΄Π° сС осигури ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ Π±Π΅Π· инсталиранС Π½Π° OTA Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

НСка ΠΏΡ€ΠΈΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Π΅ Vulkan API сС ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π° с Ρ€Π°Π΄ΠΈΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ си опростяванС Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅, ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° GPU ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ към страната Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° слоСвС Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, унификацията Π½Π° API Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎ прСдставянС Π½Π° ΠΊΠΎΠ΄ Π·Π° изпълнСниС ΠΎΡ‚ страна Π½Π° GPU. Π—Π° Π΄Π° осигури висока производитСлност ΠΈ прСдсказуСмост, Vulkan прСдоставя Π½Π° прилоТСнията Π΄ΠΈΡ€Π΅ΠΊΡ‚Π΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π²ΡŠΡ€Ρ…Ρƒ GPU ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° GPU multi-threading, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΈ ΠΏΡ€Π°Π²ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ страна Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-прости ΠΈ прСдсказуСми. НапримСр, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π² OpenGL ΠΎΡ‚ страна Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, сС прСмСстват Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ във Vulkan.

Vulkan ΠΎΠ±Ρ…Π²Π°Ρ‰Π° всички Π½Π°Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ ΠΈ прСдоставя Π΅Π΄ΠΈΠ½Π΅Π½ API Π·Π° дСсктоп, ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎ устройство ΠΈ ΡƒΠ΅Π±, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π΅Π΄ΠΈΠ½ ΠΎΠ±Ρ‰ API Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² мноТСство GPU ΠΈ прилоТСния. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° многослойната Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π½Π° Vulkan, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° инструмСнти, ΠΊΠΎΠΈΡ‚ΠΎ работят с всСки GPU, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΎ ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ стандартни Π·Π° индустрията инструмСнти Π·Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° ΠΊΠΎΠ΄, отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°Π½Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π°. Π—Π° създаванС Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π½ΠΎΠ²ΠΎ прСносимо ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎ прСдставянС, SPIR-V, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° LLVM ΠΈ сподСлящо основни Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ с OpenCL. Π—Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° устройства ΠΈ Π΅ΠΊΡ€Π°Π½ΠΈ Vulkan ΠΏΡ€Π΅Π΄Π»Π°Π³Π° интСрфСйса WSI (Window System Integration), ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π΅ΡˆΠ°Π²Π° ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ ΡΡŠΡ‰ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠ°Ρ‚ΠΎ EGL Π² OpenGL ES. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° WSI Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° Π²Π΅Π΄Π½Π°Π³Π° Π² Wayland - всички прилоТСния, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ Vulkan, ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° работят Π² срСда Π½Π° Π½Π΅ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π½Π° Wayland. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€Π΅Π· WSI Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π° ΠΈ Π·Π° Android, X11 (с DRI3), Windows, Tizen, macOS ΠΈ iOS.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€