Llançament de Mesa 21.2, una implementació gratuïta d'OpenGL i Vulkan

Després de tres mesos de desenvolupament, s'ha publicat el llançament de la implementació gratuïta de les API OpenGL i Vulkan, Mesa 21.2.0. La primera versió de la branca Mesa 21.2.0 té un estat experimental: després de l'estabilització final del codi, es publicarà una versió estable 21.2.1.

Mesa 21.2 té compatibilitat total amb OpenGL 4.6 per als controladors 965, iris (Intel), radeonsi (AMD), zink i llvmpipe. El suport OpenGL 4.5 està disponible per a les GPU AMD (r600) i NVIDIA (nvc0), i OpenGL 4.3 per a virgl (GPU virtual Virgil3D per a QEMU/KVM). El suport Vulkan 1.2 està disponible per a targetes Intel i AMD, així com en mode emulador (vn), el suport Vulkan 1.1 està disponible per a les GPU Qualcomm i el rasteritzador de programari lavapipe i Vulkan 1.0 per a les GPU Broadcom VideoCore VI (Raspberry Pi 4).

Principals innovacions:

  • El controlador asahi OpenGL s'inclou amb el suport inicial per a la GPU subministrada als xips Apple M1. El controlador utilitza la interfície Gallium i admet la majoria de les funcions d'OpenGL 2.1 i OpenGL ES 2.0, però encara no és adequat per executar la majoria de jocs. El codi del controlador es basa en el controlador Gallium de referència noop, amb algun codi portat des del controlador Panfrost desenvolupat per a la GPU ARM Mali.
  • Controlador Crocus OpenGL inclòs amb suport per a GPU Intel més antigues (basades en microarquitectures Gen4-Gen7) no compatibles amb el controlador Iris. A diferència del controlador i965, el nou controlador es basa en l'arquitectura Gallium3D, que externalitza les tasques de gestió de memòria al controlador DRI del nucli Linux i proporciona un rastrejador d'estats preparat amb suport per a la memòria cau de reutilització d'objectes de sortida.
  • S'inclou el controlador PanVk, que proporciona suport per a l'API de gràfics Vulkan per a les GPU ARM Mali Midgard i Bifrost. PanVk està desenvolupat pels empleats de Collabora i es posiciona com una continuació del desenvolupament del projecte Panfrost, que proporciona suport per a OpenGL.
  • El controlador Panfrost per a GPU Midgard (Mali T760 i posterior) i GPU Bifrost (Mali G31, G52, G76) admet OpenGL ES 3.1. Altres plans inclouen treballs per augmentar el rendiment dels xips Bifrost i suport per a GPU basats en l'arquitectura Valhall (Mali G77 i més recents).
  • Les compilacions de 32 bits per a l'arquitectura x86 utilitzen instruccions sse87 en lloc d'instruccions x2 per als càlculs matemàtics.
  • El controlador Nouveau nv50 per a la GPU NVIDIA GT21x (GeForce GT 2x0) admet OpenGL ES 3.1.
  • El controlador TURNIP Vulkan i el controlador Freedreno OpenGL desenvolupat per a les GPU Qualcomm Adreno tenen suport inicial per a les GPU Adreno a6xx gen4 (a660, a635).
  • S'ha afegit suport per a l'eliminació primitiva mitjançant motors d'ombra NGG (geometria de nova generació) al controlador Vulkan RADV (AMD). S'ha implementat la possibilitat de crear el controlador RADV a la plataforma Windows mitjançant el compilador MSVC.
  • El controlador ANV Vulkan (Intel) i el controlador Iris OpenGL s'han preparat per donar suport a les properes targetes gràfiques Intel Xe-HPG (DG2). Això inclou característiques inicials relacionades amb el traçat de raigs i el suport de l'ombrejat per al traçat de raigs.
  • El controlador lavapipe amb la implementació d'un rasteritzador de programari per a l'API Vulkan (similar a llvmpipe, però per a Vulkan, que tradueix les crides de l'API Vulkan a l'API Gallium) admet el mode "wideLines" (ofereix suport per a línies amb una amplada superior a 1.0 ).
  • S'ha implementat el suport per al descobriment dinàmic i la càrrega de backends alternatius de GBM (Generic Buffer Manager). El canvi pretén millorar el suport de Wayland en sistemes amb controladors NVIDIA.
  • El controlador Zink (una implementació de l'API d'OpenGL a sobre de Vulkan que us permet obtenir OpenGL accelerat per maquinari quan el sistema té controladors limitats a donar suport només a l'API de Vulkan) admet les extensions OpenGL GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, GL_ARB_ARB_max_text i GL_ARB_AR_minure. S'han afegit modificadors de format DRM (Gestor de representació directa, extensió VK_EXT_image_drm_format_modifier inclosa).
  • S'ha afegit suport per a extensions als controladors RADV (AMD), ANV (Intel) i lavapipe Vulkan:
    • VK_EXT_provoking_vèrtex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_consulta_de_prioritat_global (RADV);
    • VK_EXT_dispositiu_físic_drm (RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow (RADV, ANV);
    • VK_EXT_color_write_enable (RADV);
    • VK_EXT_acquire_drm_display (RADV, ANV);
    • VK_EXT_vertex_input_dynamic_state(lavapipe);
    • VK_EXT_line_rasterization(lavapipe);
    • VK_EXT_multi_draw(ANV, lavapipe, RADV);
    • VK_KHR_separate_depth_stencil_layouts (lavapipe);
    • VK_EXT_separate_stencil_usage(lavapipe);
    • VK_EXT_extended_dynamic_state2 (lavapipe).

Font: opennet.ru

Afegeix comentari