Стандарти графикии Vulkan 1.3 нашр шудааст

Пас аз ду соли кор, консорсиуми стандартҳои графикии Khronos мушаххасоти Vulkan 1.3-ро нашр кард, ки API-ро барои дастрасӣ ба графика ва қобилиятҳои компютерии GPU муайян мекунад. Мушаххасоти нав ислоҳҳо ва васеъкуниҳои дар тӯли ду сол ҷамъшударо дар бар мегирад. Қайд карда мешавад, ки талаботҳои мушаххасоти Vulkan 1.3 барои таҷҳизоти графикии синфи OpenGL ES 3.1 тарҳрезӣ шудаанд, ки дастгирии API-и нави графикиро дар ҳама GPU-ҳое, ки 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-ро ба GPU-ҳои Мали илова мекунад.

Навовариҳои асосӣ:

  • Дастгирии гузарномаҳои соддагардонидашудаи рендеринг (Streamlining Render Passes, 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_KHR2
    • VK_KHR_dynamic_rendering
    • VK_KHR_формати_хусусияти_парчамҳо2
    • VK_KHR_нигоҳдорӣ4
    • VK_KHR_shader_integer_dot_mahsul
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_terminate_invocation
    • VK_KHR_синхронизатсия2
    • Хотираи VK_KHR_zero_initialize_workgroup
    • VK_EXT_4444_форматҳо
    • VK_EXT_давозиши_инамикии_давлатӣ
    • VK_EXT_extended_dynamic_state2
    • VK_EXT_сурати_бустӣ
    • Блоки VK_EXT_inline_uniforma
    • VK_EXT_қубур_созӣ_cache_control
    • Фикрҳои VK_EXT_pipeline_creation_creation
    • VK_EXT_махфӣ_маълумот
    • VK_EXT_shader_demote_to_invocation
    • Назорати VK_EXT_subgroup_size_control
    • Ҳамоҳангсозии VK_EXT_texel_buffer_al
    • VK_EXT_texture_compression_astc_hdr
    • VK_EXT_tooling_info
    • VK_EXT_ycbcr_2plane_444_форматҳо
  • Навъи объекти нави VkPrivateDataSlot илова карда шуд. 37 фармони нав ва зиёда аз 60 сохтор ба амал бароварда шуд.
  • Мушаххасоти SPIR-V 1.6 барои муайян кардани намояндагии мобайнии shader навсозӣ шудааст, ки барои ҳама платформаҳо универсалӣ аст ва метавонад ҳам барои графика ва ҳам барои ҳисоббарории параллелӣ истифода шавад. SPIR-V ҷудо кардани марҳилаи алоҳидаи компиляцияи шейдерро ба намояндагии мобайнӣ дар бар мегирад, ки ба шумо имкон медиҳад, ки барои забонҳои гуногуни сатҳи баланд фронтҳо эҷод кунед. Дар асоси татбиқҳои гуногуни сатҳи баланд, рамзи ягонаи фосилавӣ алоҳида тавлид мешавад, ки онро драйверҳои OpenGL, Vulkan ва OpenCL бе истифодаи компилятори дарунсохташудаи shader истифода бурдан мумкин аст.
  • Консепсияи профилҳои мутобиқат пешниҳод карда мешавад. Google аввалин шуда профили асосиро барои платформаи Android нашр мекунад, ки муайян кардани сатҳи дастгирии қобилиятҳои пешрафтаи Vulkanро дар дастгоҳи берун аз мушаххасоти Vulkan 1.0 осонтар мекунад. Барои аксари дастгоҳҳо, дастгирии профилро бидуни насби навсозиҳои OTA таъмин кардан мумкин аст.

Ёдовар мешавем, ки API Vulkan бо соддагардонии куллии драйверҳо, интиқоли тавлиди фармонҳои GPU ба тарафи барнома, қобилияти пайваст кардани қабатҳои ислоҳи хатогиҳо, муттаҳидсозии API барои платформаҳои гуногун ва истифодаи барномаи пешакӣ тартибдодашуда намоён аст. намояндагии фосилавии код барои иҷро дар тарафи GPU. Барои таъмини иҷрои баланд ва пешгӯишаванда, Вулкан барномаҳоро бо назорати мустақими амалиёти GPU ва дастгирии маҳаллӣ барои бисёр риштаҳои GPU таъмин мекунад, ки сарбории ронандаро кам мекунад ва қобилиятҳои ҷониби ронандаро хеле содда ва пешгӯинашаванда мегардонад. Масалан, амалиётҳо ба монанди идоракунии хотира ва коркарди хатогиҳо, ки дар OpenGL дар тарафи драйвер амалӣ карда мешаванд, ба сатҳи барнома дар Вулкан интиқол дода мешаванд.

Vulkan тамоми платформаҳои дастрасро фаро мегирад ва API-и ягонаро барои мизи корӣ, мобилӣ ва веб таъмин мекунад, ки ба як API умумӣ имкон медиҳад, ки дар якчанд GPU ва барномаҳои гуногун истифода шавад. Бо шарофати меъмории бисёрқабатаи Вулкан, ки маънои асбобҳоеро дорад, ки бо ҳама гуна GPU кор мекунанд, OEMҳо метавонанд асбобҳои стандартии соҳаро барои баррасии код, ислоҳ ва профилсозӣ ҳангоми таҳия истифода баранд. Барои эҷоди shaders, намояндагии нави фосилавии сайёр, SPIR-V пешниҳод карда мешавад, ки дар асоси LLVM ва мубодилаи технологияҳои аслӣ бо OpenCL. Барои идоракунии дастгоҳҳо ва экранҳо, Vulkan интерфейси WSI (Integration System Window) -ро пешниҳод мекунад, ки тақрибан ҳамон мушкилотро бо EGL дар OpenGL ES ҳал мекунад. Дастгирии WSI аз қуттӣ дар Wayland дастрас аст - ҳама барномаҳое, ки Vulkan-ро истифода мебаранд, метавонанд дар муҳити серверҳои тағирнаёфтаи Wayland кор кунанд. Қобилияти кор тавассути WSI инчунин барои Android, X11 (бо DRI3), Windows, Tizen, macOS ва iOS пешбинӣ шудааст.

Манбаъ: opennet.ru

Илова Эзоҳ