La liberigo de la senpaga efektivigo de la OpenGL kaj Vulkan APIs - Mesa 24.1.0 - estis publikigita. La unua eldono de la branĉo Mesa 24.1.0 havas eksperimentan statuson - post la fina stabiligo de la kodo, stabila versio 24.1.1 estos publikigita.
Mesa 24.0 provizas subtenon por la grafika API Vulkan 1.3 en anv por Intel GPU-oj, radv por AMD-GPU-oj, NVK por NVIDIA-GPU-oj, tu por Qualcomm-GPU-oj, en la lavapipe-programara rasterigilo (lvp), kaj en emulila reĝimo (vn). Vulkan 1.0-subteno estas efektivigita en la v3dv (Broadcom VideoCore VI GPU de Raspberry Pi 4) kaj dzn (Vulkan-efektivigo aldone al Direct3D 12) ŝoforoj.
Mesa ankaŭ disponigas plenan OpenGL 4.6 subtenon por iriso (Intel Gen 8+ GPUoj), radeonsi (AMD), Crocus (pli malnovaj Intel Gen4-Gen7 GPUoj), zink, llvmpipe, virgl (Virgil3D virtuala GPU por QEMU/KVM), freedreno-ŝoforoj ( Qualcomm Adreno), d3d12 (tavolo por organizi OpenGL-laboron aldone al DirectX 12) kaj asahi (AGX GPU uzata en Apple M1 kaj M2-blatoj). OpenGL 4.5-subteno disponeblas por GPU-oj AMD (r600) kaj NVIDIA (nvc0). OpenGL 3.3-subteno ĉeestas en la softpipe (programara rasterigilo) kaj nv50 (NVIDIA NV50) ŝoforoj.
Ĉefaj novigoj:
- La asahi-ŝoforo, evoluigita por la AGX GPU uzita en Apple ARM-fritoj, disponigas subtenon por OpenGL 4.6 kaj OpenGL ES 3.2.
- Signife plibonigita agado de la NVK-ŝoforo por NVIDIA GPU-oj bazitaj sur Turing (GeForce GTX 16xx, RTX 20xx kaj Quadro RTX-serioj), Ampere (GeForce RTX 30xx kaj RTX A2000/4000/5000/6000-serioj) kaj Ada (GeForce RTX 4xxx). serio) mikroarkitekturoj 4000 SFF, RTX 4xxx/5000/6000 Ada). La ŝoforo estas konsiderata preta por ĉiutaga uzo de larĝa gamo de uzantoj. Vulkan 1.3-subteno en NVK estas atestita de la Khronos-konsorcio. Plibonigita laboro aldone al la tavolo NVK DXVK, kiu provizas efektivigon de Direct3D 9, 10 kaj 11.
- Aldonita ŝanĝo kiu ebligas uzi la Zink-ŝoforon (OpenGL-efektivigo aldone al Vulkan) por provizi subtenon por OpenGL 4.6 sur sistemoj kun novaj serioj de NVIDIA vidkartoj (komencante per GeForce RTX 20xx), kiuj povas kaŭzi problemojn en la stoko Nouveau. OpenGL-ŝoforo (NVC0). Por ebligi Zink, anstataŭ NVC0, agordu la mediovariablon "NOUVEAU_USE_ZINK=1".
- Panfrost-ŝoforo aldonas subtenon por GPUoj Mali G610, Mali G310 kaj Mali T600.
- Ĉiuj Vulkan-ŝoforoj subtenas Explicit Sync por Wayland kaj X11. Eksplicita Sinkronigo permesas al aplikoj informi la kunmetitan administranton kiam kadro estas preta por esti montrita sur la ekrano, kio helpas redukti latencian kaj forigi artefaktojn dum montrado de grafikaĵoj.
- La kapabloj de la d3d12-ŝoforo estis vastigitaj, provizante tavolon per OpenGL-efektivigo aldone al DirectX 12.
- La V3DV-ŝoforo, evoluigita por la Broadcom VideoCore GPU (uzita en Raspberry Pi-tabuloj), aldonis subtenon por dinamika bildigo.
- La ANV Vulkan-ŝoforo (Intel) estis konvertita por uzi nesinkronajn videomemorajn mapajn operaciojn (Asynchronous VM_BIND). Por GPUoj bazitaj sur la Intel Xe-arkitekturo, kiu estas uzata en Intel Arc-grafikaj kartoj kaj integraj grafikaĵoj, komencante per Tiger Lake-procesoroj, la kapablo restarigi ŝtatforĵetaĵojn estis aldonita por sencimigi GPU-frostojn. Preparoj estis faritaj por GPU-subteno por Intel LunarLake (Xe 2) pecetoj.
- Aldonita subteno por novaj Vulkan-etendaĵoj:
- VK_EXT_map_memory_placed por RADV, ANV kaj NVK-ŝoforoj
- VK_KHR_shader_subgroup_rotate por RADV, ANV kaj NVK
- VK_KHR_load_store_op_none por RADV, ANV, NVK kaj Rapo
- VK_KHR_line_rasterization por RADV, ANV, NVK kaj Rapo
- VK_KHR_index_type_uint8 por RADV, ANV, NVK kaj Rapo
- VK_KHR_shader_expect_assume por ĉiuj Vulkan-ŝoforoj
- VK_KHR_shader_maximal_reconvergence por RADV, ANV kaj NVK
- VK_KHR_shader_quad_control por RADV
- VK_KHR_shader_subgroup_uniform_control_flow por NVK
- VK_EXT_device_address_binding_report por RADV
- VK_EXT_external_memory_dma_buf por lavapipo
- VK_EXT_queue_family_foreign por lavapipo
- VK_EXT_shader_object por RADV
- VK_EXT_nested_command_buffer por NVK kaj RADV
- VK_EXT_queue_family_foreign por NVK
- VK_EXT_image_drm_format_modifier por NVK
fonto: opennet.ru
