Vulkan 1.2 графикалық стандарты жарияланды

Графикалық стандарттарды әзірлейтін Khronos консорциумы,
жарияланған спецификация Вулкан 1.2, ол графикалық графика мен графикалық процессордың есептеу мүмкіндіктеріне қол жеткізу үшін API анықтайды. Жаңа спецификация екі жыл ішінде жинақталған түзетулерді қамтиды және кеңейту. Вулканның жаңа нұсқасын қолдайтын драйверлер қазірдің өзінде босатылды 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 және DirectX негізіндегі қолданбаларда бірдей HLSL шейдерлерін пайдалануға мүмкіндік береді, сонымен қатар HLSL-ден SPIR-V-ге аударуды жеңілдетеді. Шейдерлерді құрастыру үшін стандартты компиляторды пайдалану ұсынылады
    DXC2017 жылы Microsoft ашқан және LLVM технологиясына негізделген. Vulkan қолдауы HLSL-ді SPIR-V шейдерлерінің аралық көрінісіне аударуға мүмкіндік беретін бөлек сервер арқылы жүзеге асырылады. Іске асыру тек барлық кірістірілген мүмкіндіктерді ғана қамтымайды
    HLSL, соның ішінде математикалық типтер, басқару ағындары, функциялар, жиындар, ресурс түрлері, аттар кеңістігі, Shader үлгісі 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 кеңейтімді қамтиды. Қосылған кеңейтімдер арасында:
    • Хронологиялық семафорлар (Уақыт сызығының семафоры), хост пен құрылғы кезектерімен синхрондауды біріктіру (жеке VkFence және VkSemaphore примитивтерін пайдаланбай, құрылғы мен хост арасында көп бағытты синхрондау үшін бір примитивті пайдалануға мүмкіндік береді). Жаңа семафорлар бірнеше ағындар арқылы бақылауға және жаңартуға болатын монотонды түрде өсетін 64 биттік мәнмен ұсынылған.
      Vulkan 1.2 графикалық стандарты жарияланды

    • Шейдерлерде төмендетілген дәлдікпен сандық типтерді пайдалану мүмкіндігі;
    • HLSL үйлесімді жад орналасу опциясы;
    • Жүйелік жадының және GPU жадының ортақ виртуалды кеңістігін пайдалану арқылы шейдерлерге қолжетімді ресурстар санына шектеуді алып тастайтын байланыстырылмайтын ресурстар (байланыстырусыз);
    • Формальды жады моделі, ол бір уақыттағы ағындардың ортақ деректерге және синхрондау әрекеттеріне қалай қол жеткізе алатынын анықтайды;
    • Дескрипторды индекстеу бірнеше шейдерлерде орналасу дескрипторларын қайта пайдалану;
    • Буферлік сілтемелер.

    Қосылған кеңейтімдердің толық тізімі:

  • Жүктелді 50-ден астам жаңа құрылым және 13 функция;
  • Типтік мақсатты платформалар үшін спецификацияның қысқартылған нұсқалары дайындалды, бұл барлық кеңейтімдері әлі қолдау көрсетілмейтін платформалардағы жұмысты жеңілдетеді және Vulkan API негізгі мүмкіндіктерін таңдаулы белсендірусіз орындауға мүмкіндік береді.
  • Басқа графикалық API интерфейстерімен портативтілікті қамтамасыз ету жобасы бойынша жұмыс жалғасуда. Мысалы, Вулкан OpenGL аудармасына мүмкіндік беретін кеңейтімдерді ұсынады (Zink), OpenCL (clspv, clvk), OpenGL ES (ҚОЛҒАП, бұрыш) және DirectX (DXVK, vkd3d) Vulkan API арқылы, сонымен қатар, керісінше, Вулканға өзінің қолдауынсыз платформаларда жұмыс істеуге мүмкіндік беру (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_макеттері және SPIR-ді жүзеге асыру мүмкіндіктері.

Болашаққа арналған жоспарларға машиналық оқыту, сәулелік бақылау, бейне кодтау және декодтау, VRS (айнымалы жылдамдықты көлеңкелеу) және Mesh шейдерлерін қолдау үшін кеңейтімдерді әзірлеу кіреді.

Еске салайық, Vulkan API тамаша драйверлерді түбегейлі жеңілдету, GPU командаларының генерациясын қолданбалы жағына жылжыту, жөндеу қабаттарын қосу мүмкіндігі, әртүрлі платформалар үшін API біріктіру және GPU жағында орындау үшін кодтың алдын ала құрастырылған аралық көрінісін пайдалану. Жоғары өнімділік пен болжамдылықты қамтамасыз ету үшін Вулкан қолданбаларды GPU операцияларын тікелей басқаруды және GPU көп ағынын жергілікті қолдауды қамтамасыз етеді, бұл драйвердің үстеме шығынын азайтады және драйвер жағының мүмкіндіктерін әлдеқайда қарапайым және болжамды етеді. Мысалы, драйвер жағында OpenGL-де іске асырылған жадты басқару және қателерді өңдеу сияқты операциялар Вулкандағы қолданба деңгейіне жылжытылады.

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

Ақпарат көзі: opennet.ru

пікір қалдыру