OpenGL eta Vulkan APIen doako inplementazioaren bertsioa aurkezten da - Mesa 21.0.0. Mesa 21.0.0 adarraren lehen bertsioak egoera esperimentala du; kodea behin betiko egonkortu ondoren, 21.0.1 bertsio egonkorra kaleratuko da. Mesa 21.0-k OpenGL 4.6-ren laguntza osoa du 965, iris (Intel), radeonsi (AMD), zink eta llvmpipe kontrolatzaileetarako. OpenGL 4.5 laguntza eskuragarri dago AMD (r600) eta NVIDIA (nvc0) GPUetarako, eta OpenGL 4.3 virgl-erako (Virgil3D GPU birtuala QEMU/KVMrako). Vulkan 1.2 Intel eta AMD txarteletarako onartzen da, eta Vulkan 1.0 VideoCore VIrako (Raspberry Pi 4).
Berrikuntza nagusiak:
- Zink kontrolatzaileak (OpenGL APIaren inplementazioa Vulkan-en gainean) OpenGL 4.6rako laguntza eskaintzen du. Zink-ek hardware-azeleratutako OpenGL lortzeko aukera ematen dizu zure sisteman Vulkan APIa soilik onartzera mugatzen diren kontrolatzaileak badituzu. Zink-en errendimendua OpenGL jatorrizko inplementazioenetik hurbil dago.
- Softwarea errendatzeko diseinatutako llvmpipe kontrolatzaileak OpenGL 4.6 onartzen du.
- Freedreno kontrolatzaileak, Qualcomm txip-en azpisistema grafikorako erabiltzen dena, OpenGL ES 6 onartzen du Adreno a3.0xx GPUrako.
- GPU Midgard (Mali-T7xx, Mali-T8xx) eta Bifrost (Mali G3x, G5x, G7x) Panfrost kontrolatzaileak OpenGL 3.1 onartzen du, baita OpenGL ES 3.0 GPU Bifrost-erako ere.
- Radeonsi kontrolatzaileak GL_EXT_demote_to_helper_invocation eta GL_NV_compute_shader_derivatives OpenGL luzapenak onartzen ditu. "Counter-Strike: Global Offensive" jokorako "mesa_glthread" optimizazio modua gaituta dago lehenespenez, eta horrek errendimendua % 10-20 handitzeko aukera ematen du. SPECViewPerf probak gainditzean eragina duten optimizazioak ezarri dira. Radeon GPU Profiler (RGP) profila tresnarako laguntza gehitu da. Zen 3 eta RDNA 2 GPUetarako Smart Access Memory teknologiarako laguntza gehitu da. HEVC SAO kodetzaileentzako (Sample Adaptive Offset, VCN2, VCN2.5 eta VCN3 motorrak onartzen dituzten GPUentzako) eta AV1 deskodetzaileentzako (RDNA 2/RX 6000rako eta OpenMAX interfazearen bidez soilik) laguntza gehitu da.
- RADV Vulkan kontrolatzaileak (AMD txarteletarako) Rapid paketatutako matematikarako (16 biteko bektorializazioa) eta Sparse memoriarako laguntza gehitzen du (irudiak eta testurak bezalako baliabideak modu koherentean ezartzeko eta memoria-esleipen desberdinetara berriro lotzeko aukera ematen du). RX 6000 serieko txartelen errendimendu optimizatua. VK_VALVE_mutable_descriptor_type eta VK_KHR_fragment_shading_rate luzapenak gehitu dira (RDNA2 soilik).
- Intel ANV eta Iris gidariek errendimendu optimizazioak gehitzen dituzte eta Xe HPG txartel grafikoetan inplementatutako Vulkan izpien trazadura luzapenetarako hasierako laguntza eskaintzen dute.
- EGL_MESA_platform_xcb luzapenerako euskarria gehitu da, aplikazioei X11 baliabideetatik EGL baliabideak sortzeko aukera ematen diena Xlib erabili gabe.
- Vulkan V3DV kontrolatzaileak, Broadcom BCM4 txipan oinarritutako Raspberry Pi 2711 plaketan erabiltzen den VideoCore VI azeleragailu grafikorako garatua, Wayland WSI (Windowing System Integration) euskarria gehitu du, eta horrek Wayland-en oinarritutako inguruneetatik Vulkan APIra sartzeko aukera ematen du.
- OpenGL deiak DirectX 12 APIra itzultzen dituen geruzaren hasierako ezarpena WSL (Windows Subsystem for Linux) ingurunean aplikazio grafikoen lana antolatzeko hartu zen. Horrez gain, spirv_to_dxil liburutegia sartzen da SPIR-V itzaltzaileen bitarteko irudikapena Microsoft-ek garatutako DXIL (DirectX Intermediate Language) bihurtzeko.
- Haiku OSrako laguntza birdiseinatu eta nabarmen hobetu da.
- glx_disable_oml_sync_control, glx_disable_sgi_video_sync eta glx_disable_ext_buffer_age ezarpenak kendu dira driconf-etik.
- DRI1-rako euskarria kendu eta DRI kontrolatzaileak kargatzeari utzi dio Mesa-ren 8.0-tik beherako bertsioetatik.
- Swrast kontrolatzailea kendu da, DRI interfaze klasikoan oinarrituta eraikia eta OpenGL software errendatzera zuzendua (llvmpipe eta softpipe software errendatzeko gainerako kontrolatzaileak nabarmen aurreratu dira errendimendu eta funtzionaltasun aldetik). Swrast-a kentzea konpondu gabeko arazo asko egoteak eta erregresioak agertzeak erraztu zuen, kontrolatzaile hau banaketan jada erabiltzen ez den arren.
- OSMesa APIaren bertsio klasiko zaharra kendu egin da (Gallium oinarritutako OSMesa geratzen da), eta horrek pantailara ez, memoriako buffer batean errendatzea ahalbidetzen du.
Iturria: opennet.ru