Mesa 22.3 шығарылымы, OpenGL және Vulkan тегін жүзеге асырылуы

OpenGL және Vulkan API интерфейстерінің тегін жүзеге асырылуының шығарылымы - Mesa 22.3.0 - жарияланды. Mesa 22.3.0 филиалының бірінші шығарылымы тәжірибелік мәртебеге ие - кодты түпкілікті тұрақтандырудан кейін 22.3.1 тұрақты нұсқасы шығарылады.

Mesa 22.3 Vulkan 1.3 графикалық API үшін Intel GPU үшін anv, AMD GPU үшін radv, Qualcomm GPU үшін tu және эмулятор режимінде (vn) қолдау көрсетеді. Vulkan 1.1 қолдауы lavapipe (lvp) бағдарламалық құрал растризаторында және Vulkan 1.0 v3dv драйверінде (Raspberry Pi 4 ұсынған Broadcom VideoCore VI GPU) жүзеге асырылады.

Mesa сонымен қатар 4.6, iris (Intel), radeonsi (AMD), zink және llvmpipe драйверлері үшін толық OpenGL 965 қолдауын қамтамасыз етеді. OpenGL 4.5 қолдауы AMD (r600), NVIDIA (nvc0) және Qualcomm Adreno (freereno) графикалық процессорлары үшін, virgl үшін OpenGL 4.3 (QEMU/KVM үшін virgil3D виртуалды GPU) және d4.2d3 драйвері үшін OpenGL 12 (OpenG ұйымдастыруға арналған қабат) қол жетімді. DirectX 12 үстінде жұмыс істеу).

Негізгі инновациялар:

  • Qualcomm Adreno GPU үшін freedreno драйвері OpenGL 4.5 графикалық API қолдауын қамтамасыз етеді, ал эмулятор драйвері (vn) Vulkan 1.3 API интерфейсін қолдайды.
  • Panfrost драйвері дискідегі шейдерлерді кэштеу мүмкіндігін жүзеге асырады және Mali T620 GPU қолдауын қосады. Драйвер OpenGL 3.1 және OpenGL ES 3.1 спецификациясымен үйлесімді.
  • RADV (AMD) Vulkan драйвері GFX11/RDNA3 GPU (Radeon RX 7000 сериясы) үшін қолдауды қосты. Сәулелік бақылау коды оңтайландырылды. R8G8B8, B8G8R8 және R16G16B16 пиксель пішімдерін, сондай-ақ 64-биттік шыңдық буфер пішімдерін қолдау қосылды. VK_EXT_extended_dynamic_state2 кеңейтімін қолдауды анықтайтын extendedDynamicState2PatchControlPoints жалаушасына қолдау қосылды. Radeon Raytracing Analyzer біріктірілген.
  • Пакетке кросс-платформалық параллельді есептеулерді ұйымдастыруға арналған API және C тілінің кеңейтімдерін анықтайтын OpenCL 3.0 спецификациясын жүзеге асыратын Rusticle драйвері кіреді. Драйвер Mesa-да берілген Gallium интерфейсі арқылы әзірленген Rust тілінде жазылған және Mesa-да бар Clover OpenCL фронтенді аналогы ретінде әрекет етеді. Жоңышқа ұзақ уақыт бойы тасталған, ал рустикл оның болашақ орнын ауыстырады. Rust және rusticl қолдауы әдепкі бойынша өшірілген және "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" айқын опциялары бар құрастыруды қажет етеді. Құру кезінде rustc компиляторы, байланыстырушы байланыстыру генераторы, LLVM, SPIRV-құралдары және SPIRV-LLVM-Translator қосымша тәуелділіктер ретінде қажет.
  • RadeonSI драйвері әдепкі бойынша OpenGL арқылы көп ағынды көрсетуге қолдау көрсетеді.
  • Mesa-DB енгізілді, деректерді бір файлда сақтайтын шейдер кэшінің жаңа түрі.
  • OpenGL кеңейтімдері үшін қосылған қолдау:
    • llvmpipe үшін GL_ARB_shader_сағаты.
    • Мырыш үшін GL_KHR_blend_equation_advanced_cogerent.
    • llvmpipe үшін GL_NV_shader_atomic_float.
  • Vulkan кеңейтімдері үшін қосылған қолдау:
    • Lavapipe үшін VK_KHR_shader_сағаты.
    • RADV, lavapipe үшін VK_EXT_attachment_feedback_loop_layout.
    • RADV үшін VK_KHR_global_priority.
    • RADV үшін VK_EXT_load_store_op_none.
    • RADV үшін VK_EXT_mutable_descriptor_type.
    • lvp үшін VK_EXT_shader_atomic_float.
    • lvp үшін VK_EXT_shader_atomic_float2.
    • v3dv үшін VK_EXT_image_robustness.
    • Lavapipe, RADV және ANV үшін VK_EXT_extended_dynamic_state3.
    • RADV үшін VK_EXT_extended_dynamic_state2.
    • v3dv үшін VK_EXT_pipeline_robustness.
    • ANV үшін VK_EXT_mesh_shader.

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

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