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

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

Mesa 21.3 inclou suport complet per a 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 el suport 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) i en el rasteritzador de programari lavapipe, el suport Vulkan 1.1 està disponible per a la GPU de Qualcomm i el rasteritzador de programari lavapipe, i Vulkan 1.0 està disponible per a Broadcom GPU VideoCore VI (Raspberry Pi 4).

Principals innovacions:

  • El controlador Zink (una implementació de l'API d'OpenGL a sobre de Vulkan, que us permet obtenir OpenGL accelerat per maquinari si el sistema té controladors limitats a donar suport només a l'API de Vulkan) és compatible amb OpenGL ES 3.2.
  • El controlador Panfrost, dissenyat per funcionar amb les GPU basades en les microarquitectures Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) i Bifrost (Mali G3x, G5x, G7x), té la certificació oficial de compatibilitat amb OpenGL ES 3.1.
  • El controlador v3dv, desenvolupat per a l'accelerador de gràfics VideoCore VI, utilitzat a partir del model Raspberry Pi 4, té suport certificat per a l'API de gràfics Vulkan 1.1 i també ha afegit suport per a ombrejats de geometria. S'ha millorat significativament el rendiment del codi generat pel compilador shader, la qual cosa té un efecte positiu en la velocitat dels programes que utilitzen activament shaders, com ara jocs basats en l'Unreal Engine 4.
  • El controlador RADV Vulkan (AMD) ha afegit suport experimental per al traçat de raigs i els ombrejats de traçat de raigs. Per a les targetes GFX10.3, el suport per a l'eliminació primitiva mitjançant motors d'ombres NGG (Next-Gen Geometry) està habilitat per defecte.
  • El controlador Iris OpenGL (un nou controlador per a les GPU Intel) ha afegit la possibilitat de compilar shader multiprocés.
  • El controlador lavapipe, que implementa un rasteritzador de programari per a l'API Vulkan (similar a llvmpipe, però per a Vulkan, que tradueix les trucades de l'API Vulkan a l'API Gallium) ha implementat suport per al filtratge de textures anisòtrops i ha afegit suport per a Vulkan 1.2.
  • El controlador OpenGL llvmpipe, dissenyat per a la representació de programari, ha augmentat el rendiment entre 2 i 3 vegades quan es realitza accions relacionades amb operacions 2D. S'ha afegit suport per a operacions FP16, filtratge de textures anisòtrops (GL_ARB_texture_filter_anisotropic) i àrees de memòria fixades (GL_AMD_pinned_memory). Es proporciona suport per al perfil de compatibilitat OpenGL 4.5.
  • El rastrejador d'estat VA-API (Video Acceleration API) ofereix suport per accelerar la codificació i descodificació de vídeo AV1 quan s'utilitzen controladors de GPU AMD.
  • S'ha implementat el suport EGL per a la plataforma Windows.
  • S'ha afegit suport per a l'extensió EGL_EXT_present_opaque per a Wayland. S'han resolt els problemes per mostrar la transparència als jocs que s'executen en entorns basats en el protocol Wayland.
  • S'ha afegit suport per a extensions als controladors RADV (AMD), ANV (Intel) i lavapipe Vulkan:
    • VK_EXT_shader_atomic_float2 (Intel, RADV).
    • VK_EXT_vertix_input_dynamic_state (RADV).
    • VK_EXT_primitive_topology_list_restart (RADV, rentapipe).
    • VK_KHR_shader_integer_dot_product (RADV).
    • VK_KHR_synchronization2 (Intel).
    • VK_KHR_maintenance4 (RADV).
    • VK_KHR_format_feature_flags2 (RADV).
    • VK_KHR_shader_subgroup_extended_types (lavapipe).
    • VK_KHR_spirv_1_4 (lavapipe).
    • VK_KHR_timeline_semàfor (lavapipe).
    • VK_EXT_external_memory_host (lavapipe).
    • VK_KHR_depth_stencil_resolve (lavapipe).
    • VK_KHR_shader_float16_int8 (lavapipe).
    • VK_EXT_color_write_enable (lavapipe).

Font: opennet.ru

Afegeix comentari