PĂ€rast kolme kuu arendustööd on avaldatud OpenGL ja Vulkani API vabavara rakenduse versioon â Mesa 21.2.0. Esimene versioon harust Mesa 21.2.0 on eksperimentaalse staatusega â pĂ€rast koodi lĂ”plikku stabiliseerimist vĂ€ljastatakse stabiilne versioon 21.2.1.
Mesa 21.2 rakendab tÀielikku OpenGL 4.6 tuge draiveritele 965, iris (Intel), radeonsi (AMD), zink ja llvmpipe. OpenGL 4.5 tugi on saadaval AMD (r600) ja NVIDIA (nvc0) GPU-de jaoks, samas kui OpenGL 4.3 on saadaval virgl (virtuaalne GPU Virgil3D QEMU/KVM jaoks). Vulkan 1.2 tugi on rakendatud Intel ja AMD kaartide jaoks, samuti emuleerimismoodus (vn), Vulkan 1.1 tugi on saadaval Qualcomm GPU-dele ja programmipÔhisele rasteriseerijale lavapipe, ning Vulkan 1.0 Broadcom VideoCore VI (Raspberry Pi 4) GPU-dele.
PÔhilised uuendused:
- Komplekti on included OpenGL-draiver asahi algse toetuse graafikaprotsessori jaoks, mis on saadaval Apple M1 kiipide seas. Draiver kasutab Galliumi liidest ja toetab suuremat osa OpenGL 2.1 ja OpenGL ES 2.0 funktsioone, kuid ei ole praegu sobiv enamikku mÀnge kÀivitamiseks. Draiveri kood pÔhineb referents Gallium-draiveril noop, kus on edastatud osa koodist Panfrost draiverist, mis on arendamisel ARM Mali GPU jaoks.
- Komplektis on OpenGL-draiver Crocus, mis toetab vanemaid Intel GPU-sid (Gen4-Gen7 mikroarhitektuuril), mida Iris draiver ei toeta. Erinevalt i965 draiverist pĂ”hineb uus draiver Gallium3D arhitektuuril, mis suunab mĂ€lu haldamise ĂŒlesanded DRI-draiveri poole Linuxi tuumas ja pakub valmis olekute jĂ€lgijat, mis toetab vĂ€lja renderdatud objektide vahemĂ€lu taaskasutamist.
- Komplektis on PanVk draiver, mis pakub Vulkan graafilise API tuge ARM Mali Midgardi ja Bifrost GPU-dele. PanVk-d arendavad ettevÔtte Collabora töötajad ja seda peetakse Panfrost projekti arendamise jÀtkuks, mis toetab OpenGL-i.
- Panfrost draiveris on Midgardi GPU-dele (Mali T760 ja uuemad) ja Bifrost GPU-dele (Mali G31, G52, G76) rakendatud OpenGL ES 3.1 tugi. Edasiste plaanide hulka kuulub Bifrost kindlasti jÔudluse suurendamine ja Valhall arhitektuuril pÔhinevate GPU-de toe rakendamine (Mali G77 ja uuemad).
- 32-bitistes jÀrkjÀrgudes x86 arhitektuuri jaoks on matemaatiliste arvutuste jaoks kasutatud sse2 korraldusi x87 korralduste asemel.
- Nouveau nv50 draiveris on NVIDIA GT21x GPU (GeForce GT 2Ă0) jaoks rakendatud OpenGL ES 3.1 tugi.
- Vulkan draiver TURNIP ja OpenGL draiver Freedreno, mis on arendatud Qualcomm Adreno GPU-de jaoks, on algselt toetatud GPU Adreno a6xx gen4 (a660, a635).
- Vulkan draiver RADV (AMD) on saanud toe primitiivide lÔhkumiseks (primitive culling) kasutades NGG (Next-Gen Geometry) Shaderi mootorit. RADV draiveri ehitamise vÔimalus Windowsi platvormil MSVC kompilaatoriga on pÀlvinud samuti toetust.
- Vulkan draiver ANV (Intel) ja OpenGL draiver Iris on teinud eeltööd, et tagada toetus tulevastele Intel Xe-HPG (DG2) graafikakaartidele. Sealhulgas on lisatud algsed vÔimalused, mis on seotud kiirte jÀlgimise (ray tracing) ja kiirte jÀlgimise shadeerimise toega.
- Draiveris lavapipe, mis rakendab tarkvara rasteriseerijat Vulkan API jaoks (sarnane llvmpipe'ile, kuid Vulkan jaoks, mis teisendab API Vulkan'i kutsed API Gallium'iks) on toeks 'wideLines' reĆŸiim (toetab jooni, mille laius ĂŒletab 1.0).
- Toetatakse dĂŒnaamilist avastamist ja alternatiivsete GBM (Generic Buffer Manager) taustade laadimist. Muudatus on suunatud Waylandi toe parandamisele NVIDIA draiveritega sĂŒsteemides.
- Zink draiveris (OpenGL API rakendus Vulkan'i kohal, mis vĂ”imaldab saada riistvara kiirendatud OpenGL'i sĂŒsteemides, kus draiverid toetavad ainult Vulkan API-d) toetab OpenGL laiendusi GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, GL_ARB_texture_filter_minmax ja GL_ARB_shader_clock. Lisatud on DRM (Direct Rendering Manager) formaadi modifikaatorid (k.a VK_EXT_image_drm_format_modifier laiendus).
- Vulkan-draiveritesse RADV (AMD), ANV (Intel) ja lavapipe on lisatud toimetamisprotsesside tugi:
- 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).
Allikas: opennet.ru
