Udgivelse af Mesa 21.2, en gratis implementering af OpenGL og Vulkan

Efter tre måneders udvikling blev udgivelsen af ​​en gratis implementering af OpenGL og Vulkan API - Mesa 21.2.0 - offentliggjort. Den første udgivelse af Mesa 21.2.0-grenen har en eksperimentel status - efter den endelige stabilisering af koden vil en stabil version 21.2.1 blive frigivet.

Mesa 21.2 inkluderer fuld understøttelse af OpenGL 4.6 til 965, iris (Intel), radeonsi (AMD), zink og llvmpipe drivere. OpenGL 4.5-understøttelse er tilgængelig for AMD (r600) og NVIDIA (nvc0) GPU'er, og OpenGL 4.3-understøttelse af virgl (Virgil3D virtuel GPU til QEMU/KVM). Vulkan 1.2-understøttelse er tilgængelig for Intel- og AMD-kort, såvel som i emulatortilstand (vn), Vulkan 1.1-understøttelse er tilgængelig for Qualcomm GPU'er og lavapipe-softwarerasterizeren, og Vulkan 1.0 er tilgængelig for Broadcom VideoCore VI GPU'er (Raspberry Pi 4) .

Vigtigste innovationer:

  • Asahi OpenGL-driveren er inkluderet med indledende understøttelse af GPU'en inkluderet i Apple M1-chips. Driveren bruger Gallium-grænsefladen og understøtter de fleste funktioner i OpenGL 2.1 og OpenGL ES 2.0, men er endnu ikke egnet til at køre de fleste spil. Driverkoden er baseret på Gallium reference noop-driveren, hvor en del kode er overført fra Panfrost-driveren, der udvikles til ARM Mali GPU.
  • Crocus OpenGL-driveren er inkluderet med understøttelse af ældre Intel GPU'er (baseret på Gen4-Gen7 mikroarkitekturer), som ikke understøttes af Iris-driveren. I modsætning til i965-driveren er den nye driver baseret på Gallium3D-arkitekturen, som outsourcer hukommelseshåndteringsopgaver til DRI-driveren i Linux-kernen og giver en færdiglavet tilstandsporing med understøttelse af en genbrugscache af outputobjekter.
  • PanVk-driveren er inkluderet, som understøtter Vulkan grafik-API til ARM Mali Midgard og Bifrost GPU'er. PanVk udvikles af Collabora-medarbejdere og er positioneret som en fortsættelse af udviklingen af ​​Panfrost-projektet, der understøtter OpenGL.
  • Panfrost-driveren til Midgard GPU'er (Mali T760 og nyere) og Bifrost GPU'er (Mali G31, G52, G76) understøtter OpenGL ES 3.1. Fremtidige planer omfatter arbejde med at øge ydeevnen på Bifrost-chips og implementering af GPU-understøttelse baseret på Valhall-arkitekturen (Mali G77 og nyere).
  • 32-bit x86 builds bruger sse87 instruktioner i stedet for x2 instruktioner til matematiske beregninger.
  • Nouveau nv50-driveren til NVIDIA GT21x GPU (GeForce GT 2×0) understøtter OpenGL ES 3.1.
  • Vulkan-driveren TURNIP og OpenGL-driveren Freedreno, udviklet til Qualcomm Adreno GPU, har indledende understøttelse af Adreno a6xx gen4 GPU (a660, a635).
  • RADV (AMD) Vulkan-driveren har tilføjet understøttelse af primitiv nedslagning ved brug af NGG (Next-Gen Geometry) shader-motorer. Muligheden for at bygge RADV-driveren på Windows-platformen ved hjælp af MSVC-kompileren er blevet implementeret.
  • Forberedende arbejde er blevet udført i ANV Vulkan-driveren (Intel) og Iris OpenGL-driveren for at yde support til de kommende Intel Xe-HPG (DG2) grafikkort. Dette inkluderer indledende funktioner relateret til ray tracing og understøttelse af ray tracing shaders.
  • Lavapipe-driveren, som implementerer en softwarerasterizer til Vulkan API (analog med llvmpipe, men for Vulkan, oversættelse af Vulkan API-kald til Gallium API), understøtter "wideLines"-tilstanden (giver understøttelse af linjer med en bredde på mere end 1.0).
  • Understøttelse af dynamisk opdagelse og indlæsning af alternative GBM (Generic Buffer Manager) backends er blevet implementeret. Ændringen har til formål at forbedre Wayland-understøttelsen på systemer med NVIDIA-drivere.
  • Zink-driveren (en implementering af OpenGL API oven på Vulkan, som giver dig mulighed for at få hardwareaccelereret OpenGL, hvis systemet har drivere begrænset til kun at understøtte Vulkan API) understøtter OpenGL udvidelser GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, GL_filter_ARB_maxure og GL_filter_ARB_maxure. Tilføjede DRM-formatmodifikatorer (Direct Rendering Manager, VK_EXT_image_drm_format_modifier-udvidelsen aktiveret).
  • Tilføjet understøttelse af udvidelser til RADV (AMD), ANV (Intel) og lavapipe Vulkan-drivere:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_physical_device_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).

Kilde: opennet.ru

Tilføj en kommentar