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

OpenGL және Vulkan API интерфейстерінің тегін жүзеге асырылуының шығарылымы - Mesa 21.0.0 - ұсынылды. Mesa 21.0.0 филиалының бірінші шығарылымы эксперименттік мәртебеге ие - кодты соңғы тұрақтандырудан кейін 21.0.1 тұрақты нұсқасы шығарылады. Mesa 21.0 4.6, iris (Intel), radeonsi (AMD), zink және llvmpipe драйверлері үшін OpenGL 965 толық қолдауын қамтиды. OpenGL 4.5 қолдауы AMD (r600) және NVIDIA (nvc0) графикалық процессорлары үшін қол жетімді және virgl үшін OpenGL 4.3 қолдауы (QEMU/KVM үшін Virgil3D виртуалды GPU). Vulkan 1.2 қолдауы Intel және AMD карталары үшін, ал Vulkan 1.0 VideoCore VI (Raspberry Pi 4) үшін жүзеге асырылады.

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

  • Zink драйвері (Vulkan үстіндегі OpenGL API іске асырылуы) OpenGL 4.6. Zink жүйеде тек Vulkan API қолдауымен шектелген драйверлер болса, аппараттық жеделдетілген OpenGL алуға мүмкіндік береді. Zink өнімділігі жергілікті OpenGL енгізулеріне жақын.
  • Бағдарламалық құралды көрсетуге арналған llvmpipe драйвері OpenGL 4.6.
  • Qualcomm чиптерінің графикалық ішкі жүйесі үшін пайдаланылатын Freedreno драйвері Adreno a6xx GPU үшін OpenGL ES 3.0 нұсқасын қолдайды.
  • Midgard (Mali-T7xx, Mali-T8xx) және Bifrost GPU (Mali G3x, G5x, G7x) үшін Panfrost драйвері OpenGL 3.1, сондай-ақ Bifrost GPU үшін OpenGL ES 3.0 қолдауын қолдайды.
  • radeonsi драйвері енді GL_EXT_demote_to_helper_invocation және GL_NV_compute_shader_derivatives OpenGL кеңейтімдерін қолдайды. «Counter-Strike: Global Offensive» ойыны үшін өнімділікті 10-20% арттыруға мүмкіндік беретін «mesa_glthread» оңтайландыру режимі әдепкі бойынша қосылған. SPECViewPerf сынақтарының өтуіне әсер ететін оңтайландырулар енгізілді. Radeon GPU Profiler (RGP) профилін жасау құралына қолдау қосылды. GPU Zen 3 және RDNA 2 үшін Smart Access Memory технологиясына қолдау қосылды. HEVC SAO кодерлеріне (Sample Adaptive Offset, VCN2, VCN2.5 және VCN3 қозғалтқыштарын қолдауы бар GPU үшін) және AV1 декодерлеріне (RDNA 2/RX 6000 үшін және тек OpenMAX интерфейсі арқылы) қолдау қосылды.
  • RADV Vulkan драйвері (AMD карталары үшін) Rapid packed математика технологиясына (16-бит векторизациясы) және Sparse жадына (суреттер мен текстуралар сияқты ресурстарды сәйкессіз орналастыруға және әртүрлі жадты бөлу операцияларына қайта қосуға мүмкіндік береді) қолдауды қосты. RX 6000 сериялы карталары үшін өнімділікті оңтайландыру жүргізілді VK_VALVE_mutable_descriptor_type және VK_KHR_fragment_shading_rate кеңейтімдері қосылды (тек RDNA2).
  • Intel ANV және Iris драйверлері өнімділікті оңтайландыруды қосады және Xe HPG графикалық карталарында енгізілген Vulkan сәулесін бақылау кеңейтімдері үшін бастапқы қолдауды ұсынады.
  • EGL_MESA_platform_xcb кеңейтіміне қолдау қосылды, ол қолданбаларға Xlib қызметіне қатынаусыз X11 ресурстарынан EGL ресурстарын жасауға мүмкіндік береді.
  • Broadcom BCM3 чипіне негізделген Raspberry Pi 4 тақталарында қолданылатын VideoCore VI графикалық үдеткіші үшін әзірленген Vulkan драйвері V2711DV Wayland негізіндегі орталардан Vulkan API интерфейсіне қол жеткізуге мүмкіндік беретін Wayland WSI (терезе жүйесі интеграциясы) қолдауын қосты.
  • OpenGL қоңырауларын DirectX 12 API интерфейсіне аударатын қабаттың бастапқы іске асырылуы WSL (Linux үшін Windows ішкі жүйесі) ортасында графикалық қолданбалардың жұмысын ұйымдастыру үшін қабылданған. Бұған қоса, Microsoft әзірлеген SPIR-V шейдерлерінің аралық көрінісін DXIL (DirectX Intermediate Language) тіліне түрлендіруге арналған spirv_to_dxil кітапханасы қамтылған.
  • Haiku ОЖ үшін қайта өңделген және айтарлықтай жақсартылған қолдау.
  • glx_disable_oml_sync_control, glx_disable_sgi_video_sync және glx_disable_ext_buffer_age параметрлері driconf ішінен жойылды.
  • DRI1 қолдауын алып тастады және 8.0 нұсқасына дейінгі Mesa нұсқаларынан DRI драйверлерін жүктеуді тоқтатты.
  • Классикалық DRI интерфейсі негізінде құрастырылған және OpenGL бағдарламалық құралын көрсетуге арналған swrast драйвері жойылды (қалған бағдарламалық қамтамасыз ету рендеринг драйверлері llvmpipe және softpipe өнімділігі мен функционалдығы жағынан swrast-тан айтарлықтай алда). Скрастты жоюға көптеген шешілмеген мәселелердің болуы және бұл драйвер дистрибуцияларда енді қолданылмайтынына қарамастан, регрессиялардың пайда болуы көмектесті.
  • OSMesa бағдарламалық интерфейсінің ескі классикалық нұсқасы жойылды (Gallium қалдықтарына негізделген OSMesa), ол экранға емес, жадтағы буферге көрсетуге мүмкіндік береді.

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

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