График стандарт Vulkan 1.3 хэвлэгдсэн

Хоёр жилийн турш ажилласны дараа график стандартын консорциум Khronos нь Vulkan 1.3 тодорхойлолтыг нийтэлсэн бөгөөд энэ нь GPU-ийн график болон тооцоолох чадварт хандах API-г тодорхойлдог. Шинэ тодорхойлолтод хоёр жилийн хугацаанд хуримтлагдсан засвар, өргөтгөлүүдийг багтаасан болно. Vulkan 1.3-ийн техникийн шаардлагууд нь OpenGL ES 3.1 ангиллын график төхөөрөмжид зориулагдсан бөгөөд энэ нь Vulkan 1.2-г дэмждэг бүх GPU-д шинэ график API-ийн дэмжлэгийг хангах болно. Vulkan SDK хэрэгслүүдийг XNUMX-р сарын дундуур хэвлүүлэхээр төлөвлөж байна. Үндсэн үзүүлэлтээс гадна "Vulkan Milestone" хувилбарын нэг хэсэг болгон дэмжигдэх дунд болон дээд зэрэглэлийн гар утас болон суурин төхөөрөмжүүдийн нэмэлт өргөтгөлүүдийг санал болгохоор төлөвлөж байна.

Үүний зэрэгцээ, график карт болон төхөөрөмжийн драйверуудад шинэ тодорхойлолт, нэмэлт өргөтгөлүүдийг дэмжих төлөвлөгөөг танилцуулж байна. Intel, AMD, ARM болон NVIDIA нар Vulkan 1.3-ийг дэмждэг бүтээгдэхүүнээ гаргахаар бэлтгэж байна. Жишээлбэл, AMD удахгүй Vulkan 1.3-ийг AMD Radeon RX Vega цуврал график картууд болон AMD RDNA архитектурт суурилсан бүх картуудад дэмжинэ гэж мэдэгдэв. NVIDIA нь Linux болон Windows-д зориулсан Vulkan 1.3-ийн дэмжлэгтэй драйверуудыг хэвлүүлэхээр бэлтгэж байна. ARM нь Vulkan 1.3-ийн дэмжлэгийг Мали GPU-д нэмнэ.

Гол инноваци:

  • Хялбаршуулсан дамжуулалтын дэмжлэг (Render Passes, VK_KHR_dynamic_rendering) хэрэгжсэн бөгөөд энэ нь танд үзүүлэх дамжуулалт болон фреймбуфер объект үүсгэхгүйгээр үзүүлж эхлэх боломжийг олгоно.
  • График дамжуулах хоолойн эмхэтгэлийн удирдлагыг хялбарчлахын тулд шинэ өргөтгөлүүдийг нэмсэн (pipeline, вектор графикийн команд болон бүтцийг пикселийн дүрслэл болгон хувиргах үйлдлүүдийн багц).
    • 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_хуулах_командууд2
    • VK_KHR_динамик_рендер
    • VK_KHR_форматын_онцлог_тугнууд2
    • VK_KHR_ засвар үйлчилгээ4
    • VK_KHR_shader_бүхэл_цэг_бүтээгдэхүүн
    • VK_KHR_shader_semantic бус_мэдээлэл
    • VK_KHR_shader дуудлагыг дуусгах
    • VK_KHR_синхрончлол2
    • VK_KHR_тэг_ажлын бүлгийн_санах ойг эхлүүлэх
    • VK_EXT_4444_ формат
    • VK_EXT_хугацаагаар өргөтгөсөн
    • VK_EXT_өргөтгөсөн_динамик_төлөв2
    • VK_EXT_зургийн_тогшилт
    • VK_EXT_inline_дүрэмт_блок
    • VK_EXT_шугаман_бүтээл_кэш_контрол
    • VK_EXT_шугам_үүсгэх_санал хүсэлт
    • VK_EXT_хувийн_мэдээлэл
    • VK_EXT_shader_demote_helper_in invocation
    • VK_EXT_дэд бүлгийн_хэмжээний хяналт
    • VK_EXT_texel_buffer_yignment
    • VK_EXT_бүтэц_шахалтын_astc_hdr
    • VK_EXT_хэрэгслийн_мэдээлэл
    • VK_EXT_ycbcr_2plane_444_формат
  • VkPrivateDataSlot төрлийн шинэ объект нэмсэн. 37 шинэ тушаал, 60 гаруй бүтцийг хэрэгжүүлсэн.
  • SPIR-V 1.6 техникийн үзүүлэлтийг бүх платформд ашиглах боломжтой, график болон зэрэгцээ тооцоололд ашиглах боломжтой завсрын шэйдер дүрслэлийг тодорхойлох зорилгоор шинэчлэгдсэн. SPIR-V нь тусдаа шэйдер эмхэтгэлийн үе шатыг завсрын дүрслэл болгон хуваахтай холбоотой бөгөөд энэ нь янз бүрийн өндөр түвшний хэлнүүдийн нүүрэн талыг үүсгэх боломжийг олгодог. Төрөл бүрийн өндөр түвшний хэрэгжилт дээр үндэслэн нэг завсрын кодыг тусад нь үүсгэдэг бөгөөд үүнийг OpenGL, Vulkan, OpenCL драйверууд суулгасан шэйдер хөрвүүлэгч ашиглахгүйгээр ашиглаж болно.
  • Тохиромжтой профайлын тухай ойлголтыг санал болгож байна. Google нь Android платформд зориулсан үндсэн профайлыг анх гаргасан бөгөөд энэ нь Vulkan 1.0 техникийн үзүүлэлтээс хэтэрсэн төхөөрөмж дээрх Vulkan-ийн дэвшилтэт чадавхийг дэмжих түвшинг тодорхойлоход хялбар болгоно. Ихэнх төхөөрөмжүүдийн хувьд OTA шинэчлэлтийг суулгахгүйгээр профайлын дэмжлэг үзүүлэх боломжтой.

Vulkan API нь драйверуудыг эрс хялбарчлах, GPU командуудыг үүсгэх, програмын тал руу шилжүүлэх, дибаг хийх давхаргыг холбох чадвар, янз бүрийн платформд зориулсан API-г нэгтгэх, урьдчилан эмхэтгэсэн програм ашиглах зэргээрээ алдартай гэдгийг санацгаая. GPU тал дээр гүйцэтгэх кодын завсрын дүрслэл. Өндөр гүйцэтгэлтэй, урьдчилан таамаглах боломжтой болгохын тулд Вулкан нь GPU-ийн үйл ажиллагааг шууд хянах, GPU олон урсгалтай болгох эх дэмжлэг бүхий програмуудыг хангадаг бөгөөд энэ нь драйверын ачааллыг багасгаж, жолоочийн талын чадварыг илүү хялбар, урьдчилан таамаглах боломжтой болгодог. Жишээлбэл, драйвер тал дээр OpenGL-д хэрэгжсэн санах ойн удирдлага, алдаатай ажиллах зэрэг үйлдлүүд нь Вулкан дахь хэрэглээний түвшинд шилждэг.

Vulkan нь боломжтой бүх платформуудыг хамардаг бөгөөд ширээний компьютер, гар утас болон вэбэд зориулсан нэг API-г хангадаг бөгөөд нэг нийтлэг API-г олон GPU болон програмуудад ашиглах боломжийг олгодог. Vulkan-ийн олон давхаргат архитектурын ачаар ямар ч GPU-тэй ажиллах хэрэгслүүдийн ачаар OEM-ууд хөгжүүлэлтийн явцад кодыг хянах, дибаг хийх, профайл хийх зэрэг салбарын стандарт хэрэгслийг ашиглах боломжтой. Шэйдер үүсгэхийн тулд LLVM дээр суурилсан, OpenCL-тэй үндсэн технологиудыг хуваалцах шинэ зөөврийн завсрын төлөөлөл болох SPIR-V-ийг санал болгож байна. Төхөөрөмж болон дэлгэцийг удирдахын тулд Вулкан нь OpenGL ES дээрх EGL-тэй ижил төстэй асуудлуудыг шийддэг WSI (Цонхны Системийн Интеграци) интерфейсийг санал болгодог. WSI-ийн дэмжлэгийг Wayland-д ашиглах боломжтой - Vulkan-г ашигладаг бүх програмууд Wayland серверүүдийн өөрчлөгдөөгүй орчинд ажиллах боломжтой. WSI-ээр дамжуулан ажиллах чадварыг Android, X11 (DRI3-тай), Windows, Tizen, macOS болон iOS үйлдлийн системд мөн олгодог.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх