Vulkan 1.3 grafik standarti chop etildi

Ikki yillik ishdan so'ng Khronos grafik standartlari konsorsiumi Vulkan 1.3 spetsifikatsiyasini e'lon qildi, bu esa grafik va grafik protsessorlarning hisoblash imkoniyatlariga kirish uchun APIni belgilaydi. Yangi spetsifikatsiya ikki yil davomida to'plangan tuzatishlar va kengaytmalarni o'z ichiga oladi. Ta'kidlanishicha, Vulkan 1.3 spetsifikatsiyasi talablari OpenGL ES 3.1 toifali grafik uskunalari uchun mo'ljallangan bo'lib, bu Vulkan 1.2 ni qo'llab-quvvatlaydigan barcha GPUlarda yangi grafik API-ni qo'llab-quvvatlashni ta'minlaydi. Vulkan SDK vositalari fevral oyi oʻrtalarida chop etilishi rejalashtirilgan. Asosiy spetsifikatsiyaga qo'shimcha ravishda, "Vulkan Milestone" nashri doirasida qo'llab-quvvatlanadigan o'rta va yuqori darajadagi mobil va ish stoli qurilmalari uchun qo'shimcha kengaytmalarni taklif qilish rejalashtirilgan.

Shu bilan birga, yangi spetsifikatsiyani qo'llab-quvvatlash va grafik kartalar va qurilma drayverlarida qo'shimcha kengaytmalarni amalga oshirish rejasi taqdim etildi. Vulkan 1.3 ni qo'llab-quvvatlovchi mahsulotlar Intel, AMD, ARM va NVIDIA tomonidan tayyorlanmoqda. Masalan, AMD yaqinda AMD Radeon RX Vega grafik kartalari seriyasidagi Vulkan 1.3 ni, shuningdek, AMD RDNA arxitekturasiga asoslangan barcha kartalarni qo'llab-quvvatlashini e'lon qildi. NVIDIA Vulkan 1.3 ni qo'llab-quvvatlovchi drayverlarni nashr etishga tayyorlanmoqda. Linux и WindowsARM Mali GPUlariga Vulkan 1.3 qo'llab-quvvatlashini qo'shadi.

Asosiy innovatsiyalar:

  • Soddalashtirilgan renderlash o'tishlarini qo'llab-quvvatlash (Streamlining Render Passes, VK_KHR_dynamic_rendering) amalga oshirildi, bu sizga ko'rsatish o'tishlari va ramka buferi ob'ektlarini yaratmasdan ko'rsatishni boshlash imkonini beradi.
  • Grafik truboprovod kompilyatsiyasini boshqarishni soddalashtirish uchun yangi kengaytmalar qo'shildi (pipeline, vektor grafikasi ibtidoiy va teksturalarini piksel tasviriga aylantiruvchi operatsiyalar to'plami).
    • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 - kompilyatsiya qilingan va biriktirilgan holat ob'ektlari sonini kamaytirish uchun qo'shimcha dinamik holatlar qo'shing.
    • VK_EXT_pipeline_creation_cache_control - Quvurlar qachon va qanday kompilyatsiya qilinishi ustidan kengaytirilgan boshqaruvni ta'minlaydi.
    • VK_EXT_pipeline_creation_feedback - profil yaratish va disk raskadrovka qilishni osonlashtirish uchun kompilyatsiya qilingan quvurlar haqida ma'lumot beradi.
  • Bir qator funksiyalar ixtiyoriydan majburiyga o‘tkazildi. Masalan, bufer havolalarini amalga oshirish (VK_KHR_buffer_device_address) va bir vaqtning o'zida ish zarralari umumiy ma'lumotlarga va sinxronizatsiya operatsiyalariga qanday kirishini belgilaydigan Vulkan xotira modeli endi majburiydir.
  • Sotuvchilar bir nechta kichik guruh o'lchamlarini qo'llab-quvvatlashi va ishlab chiquvchilar o'zlari talab qiladigan hajmni tanlashlari uchun nozik taneli kichik guruh boshqaruvi (VK_EXT_subgroup_size_control) taqdim etiladi.
  • VK_KHR_shader_integer_dot_product kengaytmasi taqdim etildi, undan nuqta mahsuloti operatsiyalarining apparat tezlashuvi tufayli mashinani o'rganish tizimi ish faoliyatini optimallashtirish uchun foydalanish mumkin.
  • Jami 23 ta yangi kengaytmalar kiritilgan:
    • VK_KHR_nusxalash_buyruqlari2
    • VK_KHR_dynamic_rendering
    • VK_KHR_format_xususiyati_bayroqlari2
    • VK_KHR_ta'mirlash4
    • VK_KHR_shader_integer_dot_mahsuloti
    • VK_KHR_shader_semantik bo'lmagan_ma'lumot
    • VK_KHR_shader_terminate_invocation
    • VK_KHR_sinxronizatsiya2
    • VK_KHR_zero_initialize_workgroup_xotirasi
    • VK_EXT_4444_ formatlari
    • VK_EXT_xtatilgan_dinamik_stat
    • VK_EXT_kengaytirilgan_dinamik_holat2
    • VK_EXT_rasm_robustness
    • VK_EXT_inline_uniform_block
    • VK_EXT_pipeline_creation_cache_control
    • VK_EXT_pipeline_creation_feedback
    • VK_EXT_maxfiy_ ma'lumotlar
    • VK_EXT_shader_demote_to_helper_inococation
    • VK_EXT_subgroup_size_control
    • VK_EXT_texel_buffer_hizalama
    • VK_EXT_texture_compression_astc_hdr
    • VK_EXT_tooling_info
    • VK_EXT_ycbcr_2plane_444_formatlari
  • VkPrivateDataSlot yangi ob'ekt turi qo'shildi. 37 ta yangi buyruq va 60 dan ortiq tuzilmalar amalga oshirildi.
  • SPIR-V 1.6 spetsifikatsiyasi barcha platformalar uchun universal bo'lgan va grafik va parallel hisoblash uchun ishlatilishi mumkin bo'lgan oraliq shader tasvirini aniqlash uchun yangilandi. SPIR-V alohida shader kompilyatsiya bosqichini oraliq vakillikka ajratishni o'z ichiga oladi, bu sizga turli yuqori darajadagi tillar uchun frontendlarni yaratish imkonini beradi. Turli xil yuqori darajadagi ilovalar asosida alohida oraliq kod yaratiladi, undan OpenGL, Vulkan va OpenCL drayverlari o'rnatilgan shader kompilyatoridan foydalanmasdan foydalanishlari mumkin.
  • Moslik profillari konsepsiyasi taklif qilindi. Google platforma uchun asosiy profilni birinchi bo'lib tayyorladi. Android, bu Vulkan 1.0 spetsifikatsiyasidan tashqarida Vulkanning ilg'or xususiyatlarini qo'llab-quvvatlash darajasini aniqlashni soddalashtiradi. Ko'pgina qurilmalar uchun profil qo'llab-quvvatlashi OTA yangilanishlarisiz amalga oshiriladi.

Eslatib o'tamiz, Vulkan API drayverlarni tubdan soddalashtirish, GPU buyruqlarini ishlab chiqarishni dastur tomoniga o'tkazish, disk raskadrovka qatlamlarini ulash qobiliyati, turli platformalar uchun APIni birlashtirish va oldindan tuzilgan dasturdan foydalanish bilan ajralib turadi. GPU tomonida bajarish uchun kodning oraliq vakili. Yuqori unumdorlik va prognozlilikni ta'minlash uchun Vulkan ilovalarni GPU operatsiyalarini to'g'ridan-to'g'ri boshqarish va GPU multi-threading uchun mahalliy qo'llab-quvvatlash bilan ta'minlaydi, bu esa drayverlarga qo'shimcha xarajatlarni kamaytiradi va haydovchi tomoni imkoniyatlarini ancha sodda va oldindan aytib bo'ladigan qiladi. Masalan, haydovchi tomonida OpenGL-da amalga oshirilgan xotirani boshqarish va xatolarni qayta ishlash kabi operatsiyalar Vulkandagi dastur darajasiga o'tkaziladi.

Vulkan barcha mavjud platformalarni qamrab oladi va ish stoli, mobil va veb uchun yagona API taqdim etadi, bu turli GPU va dastur sohalarida yagona, umumiy APIni ta'minlaydi. Har qanday GPU bilan ishlaydigan vositalarni yaratishga imkon beruvchi Vulkanning ko'p qatlamli arxitekturasi apparat ishlab chiqaruvchilariga kodni ko'rib chiqish, nosozliklarni tuzatish va ishlab chiqish jarayonida profil yaratish uchun umumiy vositalardan foydalanish imkonini beradi. Shader yaratish uchun LLVM asosida va OpenCL bilan asosiy texnologiyalarni almashish orqali SPIR-V deb nomlangan yangi ko'chma oraliq vakillik (IR) taklif etiladi. Qurilma va displeyni boshqarish uchun Vulkan OpenGL ESda EGLga o'xshash vazifalarni bajaradigan Window System Integration (WSI) interfeysini taklif qiladi. WSI qo'llab-quvvatlashi Waylandda darhol mavjud - barcha Vulkan asosidagi ilovalar o'zgartirilmagan muhitda ishlashi mumkin. serverlar Wayland. WSI orqali ishlash imkoniyati ham taqdim etiladi Android, X11 (DRI3 bilan), Windows, Tizen, macOS va iOS.

Manba: opennet.ru

DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling 🔥 DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster