Izdanje Mesa 21.2, besplatne implementacije OpenGL-a i Vulkana

Nakon tri mjeseca razvoja, objavljeno je izdanje besplatne implementacije OpenGL i Vulkan API-ja, Mesa 21.2.0. Prvo izdanje ogranka Mesa 21.2.0 ima eksperimentalni status - nakon konačne stabilizacije koda bit će objavljena stabilna verzija 21.2.1.

Mesa 21.2 ima punu podršku za OpenGL 4.6 za upravljačke programe 965, iris (Intel), radeonsi (AMD), zink i llvmpipe. Podrška za OpenGL 4.5 dostupna je za AMD (r600) i NVIDIA (nvc0) GPU-ove, a OpenGL 4.3 za virgl (Virgil3D virtualni GPU za QEMU/KVM). Podrška za Vulkan 1.2 dostupna je za Intel i AMD kartice, kao i u načinu rada emulatora (vn), podrška za Vulkan 1.1 dostupna je za Qualcomm GPU-ove i lavapipe softverski rasterizer, a Vulkan 1.0 za GPU-ove Broadcom VideoCore VI (Raspberry Pi 4).

Glavne inovacije:

  • Asahi OpenGL upravljački program uključen je s početnom podrškom za GPU isporučen u Apple M1 čipovima. Upravljački program koristi sučelje Gallium i podržava većinu značajki OpenGL 2.1 i OpenGL ES 2.0, ali još nije prikladan za pokretanje većine igara. Kod upravljačkog programa temelji se na noop referentnom upravljačkom programu Gallium, s nekim kodom prenesenim iz upravljačkog programa Panfrost razvijenog za ARM Mali GPU.
  • Upravljački program Crocus OpenGL uključen je s podrškom za starije Intel GPU-ove (temeljene na mikroarhitekturama Gen4-Gen7) koje upravljački program Iris ne podržava. Za razliku od i965 drajvera, novi se drajver temelji na Gallium3D arhitekturi, koja zadatke upravljanja memorijom prepušta DRI drajveru u Linux kernelu i pruža gotov alat za praćenje stanja s podrškom za predmemoriju ponovne upotrebe izlaznih objekata.
  • Uključen je PanVk upravljački program za pružanje podrške za Vulkan grafički API za ARM Mali Midgard i Bifrost GPU. PanVk razvijaju zaposlenici Collabore i pozicioniran je kao nastavak razvoja projekta Panfrost koji pruža podršku za OpenGL.
  • Panfrost upravljački program za GPU Midgard (Mali T760 i noviji) i GPU Bifrost (Mali G31, G52, G76) podržava OpenGL ES 3.1. Daljnji planovi uključuju rad na povećanju performansi na Bifrost čipovima i podršku za GPU-ove koji se temelje na Valhall arhitekturi (Mali G77 i noviji).
  • 32-bitne verzije za x86 arhitekturu koriste sse87 upute umjesto x2 instrukcija za matematičke izračune.
  • Nouveau nv50 upravljački program za NVIDIA GT21x GPU (GeForce GT 2x0) podržava OpenGL ES 3.1.
  • Upravljački program TURNIP Vulkan i Freedreno OpenGL upravljački program razvijeni za Qualcomm Adreno GPU-ove imaju početnu podršku za Adreno a6xx gen4 (a660, a635) GPU-ove.
  • Podrška za primitivno uklanjanje pomoću NGG (Next-Gen Geometry) shader motora dodana je u RADV (AMD) Vulkan driver. Implementirana je mogućnost izrade RADV upravljačkog programa na Windows platformi pomoću MSVC prevoditelja.
  • Upravljački program ANV Vulkan (Intel) i Iris OpenGL upravljački program bili su priprema za podršku nadolazećim Intel Xe-HPG (DG2) grafičkim karticama. Ovo uključuje početne značajke povezane s praćenjem zraka i podrškom za osjenčavanje za praćenje zraka.
  • Lavapipe upravljački program s implementacijom softverskog rasterizatora za Vulkan API (sličan llvmpipe, ali za Vulkan, koji prevodi Vulkan API pozive u Gallium API) podržava način rada "wideLines" (omogućuje podršku za linije širine veće od 1.0 ).
  • Implementirana podrška za dinamičko otkrivanje i učitavanje alternativnih pozadina GBM (Generic Buffer Manager). Promjena ima za cilj poboljšati podršku za Wayland na sustavima s NVIDIA upravljačkim programima.
  • Zink upravljački program (implementacija OpenGL API-ja povrh Vulkana koji vam omogućuje da dobijete hardverski ubrzani OpenGL kada sustav ima upravljačke programe ograničene na podršku samo za Vulkan API) podržava OpenGL ekstenzije GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, GL_ARB_texture_filter_minmax i GL_ARB_shader_clock. Dodani modifikatori DRM formata (Direct Rendering Manager, proširenje VK_EXT_image_drm_format_modifier uključeno).
  • Dodana podrška za proširenja za RADV (AMD), ANV (Intel) i lavapipe Vulkan upravljačke programe:
    • VK_EXT_provocirajući_vrh (RADV);
    • VK_EXT_prošireno_dinamičko_stanje2 (RADV);
    • VK_EXT_globalni_prioritetni_upit (RADV);
    • VK_EXT_fizički_uređaj_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_vrh_input_dinamičko_stanje(lavacijev);
    • VK_EXT_line_rasterizacija (lavapipe);
    • VK_EXT_multi_draw(ANV, lavapipe, RADV);
    • VK_KHR_raspored_šablona_odvojene_dubine (lavapipe);
    • VK_EXT_odvojena_upotreba_matrice(lavapipe);
    • VK_EXT_prošireno_dinamičko_stanje2 (lavacijev).

Izvor: opennet.ru

Dodajte komentar