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

ΠšΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌΡŠΡ‚ Khronos, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ стандарти,
ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» спСцификация Π’ΡƒΠ»ΠΊΠ°Π½ 1.2, ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° API Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΈ изчислитСлнитС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° GPU. Новата спСцификация Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ, Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π½ΠΈ Π² ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ Скспанзия. Π’Π΅Ρ‡Π΅ ΠΈΠΌΠ° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° Vulkan освободСн компания Intel, AMD, ARM, Imagination Technologies ΠΈ NVIDIA. Mesa ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Vulkan 1.2 Π·Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ RADV (AMD ΠΊΠ°Ρ€Ρ‚ΠΈ) ΠΈ ANV (Intel). ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Vulkan 1.2 ΡΡŠΡ‰ΠΎ Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½Π° Π² Π΄Π΅Π±ΡŠΠ³Π΅Ρ€Π° RenderDoc 1.6, LunarG Vulkan SDK ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π’ΡƒΠ»ΠΊΠ°Π½-ΠŸΡ€ΠΎΠ±ΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • ДонСсСно Π΄ΠΎ вас внСдряванС Π½Π° Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ Π΄ΠΎ готовност Π·Π° ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ HLSL, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΎΡ‚ Microsoft Π·Π° DirectX. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° HLSL във Vulkan ΠΏΡ€Π°Π²ΠΈ възмоТно ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ‰ΠΈΡ‚Π΅ HLSL ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ Π² прилоТСния, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Vulkan ΠΈ DirectX, ΠΈ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° опростява ΠΏΡ€Π΅Π²ΠΎΠ΄Π° ΠΎΡ‚ HLSL към SPIR-V. Π—Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ стандартСн ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€
    DXC, ΠΊΠΎΠΉΡ‚ΠΎ бСшС ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ ΠΎΡ‚ Microsoft ΠΏΡ€Π΅Π· 2017 Π³. ΠΈ Π΅ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° тСхнологията LLVM. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Vulkan сС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° Ρ‡Ρ€Π΅Π· ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π±Π΅ΠΊΠ΅Π½Π΄, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΏΡ€Π΅Π²Π΅Π΄Π΅Ρ‚Π΅ HLSL Π² ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎ прСдставянС Π½Π° SPIR-V ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ. ВнСдряванСто ΠΎΠ±Ρ…Π²Π°Ρ‰Π° Π½Π΅ само всички Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ
    HLSL, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ матСматичСски Ρ‚ΠΈΠΏΠΎΠ²Π΅, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π°Π±ΠΎΡ€ΠΈ, Ρ‚ΠΈΠΏΠΎΠ²Π΅ рСсурси, пространства ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π°, Shader Model 6.2, структури ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ, Π½ΠΎ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° позволява ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° спСцифични Π·Π° Vulkan Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΊΠ°Ρ‚ΠΎ VKRay ΠΎΡ‚ NVIDIA. Π’ Ρ€Π΅ΠΆΠΈΠΌ HLSL Π½Π° Π²ΡŠΡ€Ρ…Π° Π½Π° Vulkan бСшС възмоТно Π΄Π° сС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΈΠ³Ρ€ΠΈ ΠΊΠ°Ρ‚ΠΎ Destiny 2, Red Dead Redemption II, Assassin's Creed Odyssey ΠΈ Tomb Raider.

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

  • БпСцификацията Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° SPIR-V 1.5, ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎ прСдставянС Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ унивСрсално Π·Π° всички ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ изчислСния.
    SPIR-V Π²ΠΊΠ»ΡŽΡ‡Π²Π° отдСлянС Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½Π° Ρ„Π°Π·Π° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ Π² ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎ прСдставянС, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ интСрфСйси Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΅Π·ΠΈΡ†ΠΈ Π½Π° високо Π½ΠΈΠ²ΠΎ. Π’ΡŠΠ· основа Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° високо Π½ΠΈΠ²ΠΎ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π΅Π΄ΠΈΠ½ΠΈΡ‡Π΅Π½ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚ OpenGL, Vulkan ΠΈ OpenCL Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ, Π±Π΅Π· Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° вградСният ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ.

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

  • ΠžΡΠ½ΠΎΠ²Π½ΠΈΡΡ‚ API Π½Π° Vulkan Π²ΠΊΠ»ΡŽΡ‡Π²Π° 23 Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠ²ΠΈΡˆΠ°Π²Π°Ρ‚ производитСлността, подобряват качСството Π½Π° изобразяванС ΠΈ опростяват Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π°. Π‘Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈΡ‚Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ:
    • Π₯Ρ€ΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½ΠΈ сСмафори (Π‘Π΅ΠΌΠ°Ρ„ΠΎΡ€ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π²Π°Ρ‚Π° линия), обСдиняваща синхронизацията с ΠΎΠΏΠ°ΡˆΠΊΠΈΡ‚Π΅ Π½Π° хоста ΠΈ устройството (позволявайки Π²ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ² Π·Π° многопосочна синхронизация ΠΌΠ΅ΠΆΠ΄Ρƒ устройството ΠΈ хоста, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΈ VkFence ΠΈ VkSemaphore). НовитС сСмафори са прСдставСни ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΡ‚ΠΎΠ½Π½ΠΎ нарастваща 64-Π±ΠΈΡ‚ΠΎΠ²Π° стойност, която ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС прослСдСна ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π² мноТСство нишки.
      ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ стандарт Vulkan 1.2

    • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° числови Ρ‚ΠΈΠΏΠΎΠ²Π΅ с Π½Π°ΠΌΠ°Π»Π΅Π½Π° точност Π² ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈΡ‚Π΅;
    • HLSL ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠ° опция Π·Π° ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°;
    • ΠΠ΅ΠΎΠ±Π²ΡŠΡ€Π·Π°Π½ΠΈ рСсурси (Π±Π΅Π· ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅), ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° броя Π½Π° рСсурситС, Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π·Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈΡ‚Π΅, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° сподСлСното Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎ пространство Π½Π° систСмната ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ GPU ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°;
    • Π€ΠΎΡ€ΠΌΠ°Π»Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ опрСдСля ΠΊΠ°ΠΊ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ нишки ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ сподСлСни Π΄Π°Π½Π½ΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° синхронизиранС;
    • Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€Π°Π½Π΅ Π½Π° дСскриптори Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° дСскриптори Π½Π° ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ Π² мноТСство ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ;
    • Π‘ΡƒΡ„Π΅Ρ€Π½ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ.

    ПълСн списък с Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ:

  • Π”ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 50 Π½ΠΎΠ²ΠΈ структури ΠΈ 13 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ;
  • Π‘ΡŠΠΊΡ€Π°Ρ‚Π΅Π½ΠΈ вСрсии Π½Π° спСцификацията са ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ Π·Π° Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΈ Ρ†Π΅Π»Π΅Π²ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ, опростявайки Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ всС ΠΎΡ‰Π΅ Π½Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ всички Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΈ позволявайки Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Π±Π΅Π· сСлСктивно Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° основнитС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° Vulkan API.
  • Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°, Π·Π° Π΄Π° сС осигури прСносимост с Π΄Ρ€ΡƒΠ³ΠΈ Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ API. НапримСр Vulkan ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΊΠΎΠΈΡ‚ΠΎ позволяват OpenGL ΠΏΡ€Π΅Π²ΠΎΠ΄ (Π¦ΠΈΠ½ΠΊ), OpenCL (clspv, clvk), OpenGL ES (Π ΠͺΠšΠΠ’Π˜Π¦Π, Πͺгъл) ΠΈ 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 (засСнчванС с ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° скорост) ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ.

Π‘ΠΏΠΎΠΌΠ½Π΅Ρ‚Π΅ си, Ρ‡Π΅ API Π½Π° Vulkan Π±Π΅Π»Π΅ΠΆΠΈΡ‚ Ρ€Π°Π΄ΠΈΠΊΠ°Π»Π½ΠΎ опростяванС Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅, прСмСстванС Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° 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

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