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

График стандартыг боловсруулдаг Хронос консорциум
Нийтлэгдсэн тодорхойлолт Vulkan 1.2, GPU-ийн график болон тооцоолох чадварт хандах API-г тодорхойлдог. Шинэ тодорхойлолт нь хоёр жилийн хугацаанд хуримтлагдсан засваруудыг багтаасан болно тэлэлт. Vulkan-ийн шинэ хувилбарыг дэмждэг жолооч нар аль хэдийн байна гаргасан Intel компани, AMD, ARM, Imagination Technologies болон NVIDIA. Mesa нь жолооч нарт зориулсан Vulkan 1.2 дэмжлэгийг санал болгодог РАДВ (AMD картууд) болон ANV (Intel). Vulkan 1.2-ийн дэмжлэгийг дибагер дээр бас хэрэгжүүлсэн RenderDoc 1.6, LunarG Vulkan SDK болон жишээнүүдийн багц Вулкан-Дээжүүд.

Үндсэн инноваци:

  • Танд авчирсан өргөн хэрэглээнд бэлэн болтол шэйдер програмчлалын хэлийг хэрэгжүүлэх HLSL, Microsoft-оос DirectX-д зориулан боловсруулсан. Вулкан дахь HLSL-ийн дэмжлэг нь Vulkan болон DirectX дээр суурилсан програмуудад ижил HLSL шэйдерүүдийг ашиглах боломжийг олгодог бөгөөд HLSL-ээс SPIR-V руу орчуулгыг хялбаршуулдаг. Шэйдерүүдийг эмхэтгэхийн тулд стандарт хөрвүүлэгч ашиглахыг зөвлөж байна
    DXC2017 онд Майкрософт нээсэн бөгөөд LLVM технологи дээр суурилсан. Vulkan-ийн дэмжлэг нь тусдаа backend-ээр хэрэгждэг бөгөөд энэ нь HLSL-ийг SPIR-V шэйдерүүдийн завсрын төлөөлөл болгон хөрвүүлэх боломжийг олгодог. Хэрэгжилт нь зөвхөн суулгасан бүх чадавхийг хамардаггүй
    HLSL нь математикийн төрөл, хяналтын урсгал, функц, багц, нөөцийн төрөл, нэрийн орон зай, Shader Model 6.2, бүтэц, аргуудыг багтаасан боловч NVIDIA-аас VKRay гэх мэт Vulkan-д зориулсан тусгай өргөтгөлүүдийг ашиглах боломжийг олгодог. Вулкан дээрх HLSL горимд 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 хэвлэгдсэн

  • Үндсэн Vulkan API нь гүйцэтгэлийг нэмэгдүүлж, дүрслэх чанарыг сайжруулж, хөгжүүлэлтийг хялбаршуулдаг 23 өргөтгөлийг агуулдаг. Нэмэлт өргөтгөлүүдийн дунд:
    • Хронологийн семафорууд (Timeline semaphore), хост болон төхөөрөмжийн дараалалтай синхрончлолыг нэгтгэх (төхөөрөмж ба хостын хооронд бүх чиглэлтэй синхрончлолд зориулж тусдаа VkFence болон VkSemaphore командуудыг ашиглахгүйгээр нэг командыг ашиглах боломжийг танд олгоно). Шинэ семафорууд нь нэг хэвийн өсөлттэй 64 битийн утгаар илэрхийлэгддэг бөгөөд үүнийг олон урсгалаар хянаж, шинэчлэх боломжтой.
      График стандарт Vulkan 1.2 хэвлэгдсэн

    • Тоон төрлүүдийг шэйдэрт бага нарийвчлалтайгаар ашиглах чадвар;
    • HLSL нийцтэй санах ойн байршлын сонголт;
    • Системийн санах ой болон GPU санах ойн хуваалцсан виртуал орон зайг ашиглан шэйдэрт ашиглах боломжтой нөөцийн тооны хязгаарлалтыг арилгадаг, хязгаарлагдмал нөөцүүд (холбоогүй);
    • Албан ёсны санах ойн загвар, энэ нь зэрэгцээ хэлхээнүүд хуваалцсан өгөгдөл болон синхрончлолд хэрхэн хандаж болохыг тодорхойлдог;
    • Тодорхойлогчийн индексжүүлэлт олон шэйдэр дээр байршлын тодорхойлогчдыг дахин ашиглах;
    • Буфер холбоосууд.

    Нэмэгдсэн өргөтгөлүүдийн бүрэн жагсаалт:

  • Нэмэгдсэн 50 гаруй шинэ бүтэц, 13 чиг үүрэг;
  • Тодорхойлолтын богиносгосон хувилбаруудыг ердийн зорилтот платформуудад зориулж бэлтгэсэн бөгөөд бүх өргөтгөл нь дэмжигдээгүй байгаа платформ дээрх ажлыг хялбарчилж, Vulkan API-ийн үндсэн чадавхийг сонгон идэвхжүүлэхгүйгээр хийх боломжийг олгодог.
  • Бусад график API-уудтай зөөврийн байдлыг хангах төслийн ажил үргэлжилж байна. Жишээлбэл, Вулкан нь OpenGL орчуулгыг зөвшөөрдөг өргөтгөлүүдийг санал болгодог (Зинк), OpenCL (clspv, clvk), OpenGL ES (Бээлий, өнцөг) болон DirectX (DXVK, vkd3d) Vulkan API-ээр дамжуулан, мөн эсрэгээр нь Vulkan-ыг өөрийн дэмжлэггүйгээр платформ дээр ажиллах боломжийг олгох (gfx-rs и Үнс OpenGL болон DirectX дээр ажиллахад, MoltenVK болон Металл дээр ажиллахад зориулсан gfx-rs).
    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, and SPIR-ийн онцлогууд.

Ирээдүйн төлөвлөгөөнд машин сургалтын өргөтгөлүүдийг хөгжүүлэх, туяа хянах, видео кодчилол, код тайлах, VRS (хувьсах хурдтай сүүдэрлэх) болон Mesh шэйдерүүдийг дэмжих зэрэг багтана.

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

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