Megjelent a Mesa 21.2, az OpenGL és a Vulkan ingyenes megvalósítása

Három hónapos fejlesztés után megjelent az OpenGL és a Vulkan API ingyenes implementációja, a Mesa 21.2.0. A Mesa 21.2.0 ág első kiadása kísérleti státuszú - a kód végleges stabilizálása után megjelenik a 21.2.1 stabil verzió.

A Mesa 21.2 teljes OpenGL 4.6 támogatással rendelkezik a 965, az iris (Intel), a radeonsi (AMD), a zink és az llvmpipe illesztőprogramokhoz. Az OpenGL 4.5 támogatása elérhető az AMD (r600) és NVIDIA (nvc0) GPU-khoz, az OpenGL 4.3 pedig a virgl-hez (Virgil3D virtuális GPU QEMU/KVM-hez). A Vulkan 1.2 támogatás Intel és AMD kártyákhoz, valamint emulátor (vn) módban érhető el, a Vulkan 1.1 támogatás a Qualcomm GPU-khoz és a lavapipe szoftverraszterezőhöz, a Vulkan 1.0 pedig a Broadcom VideoCore VI (Raspberry Pi 4) GPU-khoz érhető el.

Főbb újítások:

  • Az asahi OpenGL illesztőprogram része az Apple M1 chipekben található GPU kezdeti támogatása. Az illesztőprogram a Gallium felületet használja, és támogatja az OpenGL 2.1 és az OpenGL ES 2.0 legtöbb funkcióját, de a legtöbb játék futtatására még nem alkalmas. Az illesztőprogram kódja a noop referencia Gallium illesztőprogramon alapul, és néhány kódot az ARM Mali GPU-hoz fejlesztett Panfrost illesztőprogramból portoltak át.
  • A Crocus OpenGL illesztőprogram része a régebbi Intel GPU-k támogatása (a Gen4-Gen7 mikroarchitektúrákon alapul), amelyeket az Iris illesztőprogram nem támogat. Az i965 illesztőprogramtól eltérően az új meghajtó a Gallium3D architektúrán alapul, amely a memóriakezelési feladatokat a Linux kernelben lévő DRI-illesztőprogramra bízza, és kész állapotkövetőt biztosít a kimeneti objektum újrafelhasználási gyorsítótárának támogatásával.
  • A PanVk illesztőprogramot tartalmazza, amely támogatja a Vulkan grafikus API-t az ARM Mali Midgard és a Bifrost GPU-khoz. A PanVk-t a Collabora alkalmazottai fejlesztik, és az OpenGL-t támogató Panfrost projekt fejlesztésének folytatásaként pozicionálják.
  • A GPU Midgard (Mali T760 és újabb) és a GPU Bifrost (Mali G31, G52, G76) Panfrost illesztőprogramja támogatja az OpenGL ES 3.1-et. A további tervek között szerepel a Bifrost chipek teljesítményének növelése, valamint a Valhall architektúrán alapuló GPU-k támogatása (Mali G77 és újabb).
  • Az x32 architektúrához készült 86 bites buildek sse87 utasításokat használnak az x2 utasítások helyett a matematikai számításokhoz.
  • Az NVIDIA GT50x GPU (GeForce GT 21x2) Nouveau nv0 illesztőprogramja támogatja az OpenGL ES 3.1-et.
  • A Qualcomm Adreno GPU-khoz kifejlesztett TURNIP Vulkan illesztőprogram és a Freedreno OpenGL illesztőprogram kezdetben támogatja az Adreno a6xx gen4 (a660, a635) GPU-kat.
  • Az NGG (Next-Gen Geometry) shader motorokkal történő primitív selejtezés támogatása hozzáadásra került a RADV (AMD) Vulkan illesztőprogramhoz. Megvalósította a RADV illesztőprogram felépítésének képességét Windows platformon az MSVC fordító segítségével.
  • Az ANV Vulkan illesztőprogram (Intel) és az Iris OpenGL illesztőprogram a közelgő Intel Xe-HPG (DG2) grafikus kártyák támogatására készült. Ez magában foglalja a sugárkövetéssel kapcsolatos kezdeti funkciókat és a sugárkövetés shader-támogatását.
  • A lavapipe illesztőprogram a Vulkan API szoftveres raszterezőjével (hasonlóan az llvmpipe-hoz, de a Vulkan esetében, amely a Vulkan API hívásokat a Gallium API-ra fordítja) támogatja a "wideLines" módot (az 1.0-nál nagyobb vonalakat támogatja ).
  • Bevezetett támogatás az alternatív GBM (Generic Buffer Manager) háttérprogramok dinamikus felfedezéséhez és betöltéséhez. A változtatás célja, hogy javítsa a Wayland támogatását az NVIDIA illesztőprogramokkal rendelkező rendszereken.
  • A Zink illesztőprogram (az OpenGL API megvalósítása a Vulkan tetején, amely lehetővé teszi hardveresen gyorsított OpenGL elérését, ha a rendszer csak a Vulkan API-t támogató illesztőprogramokkal rendelkezik) támogatja a GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_ARBhaste, GL_ARB_shader_group_ARBhaste és texture_fil_ARBhaste OpenGL bővítményeket. der_clock. Hozzáadott DRM-formátum módosítók (Direct Rendering Manager, VK_EXT_image_drm_format_modifier bővítmény).
  • Hozzáadott támogatás a RADV (AMD), ANV (Intel) és a lavapipe Vulkan illesztőprogramokhoz:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_fizikai_eszköz_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_raszterizálás (lavapipe);
    • VK_EXT_multi_draw(ANV, lavapipe, RADV);
    • VK_KHR_külön_mélységi_stencil_elrendezések (lavapipe);
    • VK_EXT_separate_stencil_usage(lavapipe);
    • VK_EXT_extended_dynamic_state2 (lavapipe).

Forrás: opennet.ru

Hozzászólás