Nakon tri mjeseca razvoja, objavljena je implementacija otvorenog koda OpenGL i Vulkan API-ja, Mesa 26.1.0. Prvo izdanje grane Mesa 26.1.0 je eksperimentalno; nakon što se kod u potpunosti stabilizira, bit će objavljena stabilna verzija, 26.1.1.
Mesa 26.1 dodaje podršku za Vulkan 1.4 grafički API u ANV upravljačkim programima za Intel GPU-ove, RADV za AMD GPU-ove, NVK za NVIDIA GPU-ove, HoneyKrisp (hk) za Apple GPU-ove, Turnip za Qualcomm GPU-ove, PanVK za ARM Mali GPU-ove, lavapipe softverskom rasterizatoru (lvp) i emulatoru (vn). Upravljački programi v3dv (Broadcom VideoCore GPU za Raspberry Pi 4+) i dzn (Vulkan preko Direct3D 12) podržavaju Vulkan 1.0, upravljački program kk (KosmicKrisp, Vulkan preko Metal) podržava Vulkan 1.1, a upravljački program pvr (Imagination PowerVR GPU) podržava Vulkan 1.2.
Mesa također pruža punu podršku za OpenGL 4.6 za iris (Intel Gen 8+ GPU-ovi), radeonsi (AMD), Crocus (stariji Intel Gen4-Gen7 GPU-ovi), AMD (r600), zink, llvmpipe, virgl (virgil3D virtualni GPU za QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (OpenGL sloj na vrhu DirectX 12) i asahi (AGX GPU koji se koristi u Apple M1 i M2 čipovima). Podrška za OpenGL 4.5 dostupna je za NVIDIA (nvc0) GPU-ove. Podrška za OpenGL 3.3 dostupna je u upravljačkim programima softpipe (softverski rasterizator) i nv50 (NVIDIA NV50). OpenGL 3 podržan je u upravljačkim programima panfrost (ARM Mali GPU) i v3.1d (Broadcom VideoCore GPU).
Glavne inovacije:
- Upravljački programi za Intel GPU-ove (Iris, Crocus i ANV) sada podržavaju izravan pristup GPU-u iz virtualnih strojeva korištenjem izvornih konteksta u VirtIO-GPU-u. Izvorni konteksti poboljšavaju performanse pri radu s virtualnim GPU-om (virtio-gpu-gl) u gostujućem sustavu izravnim prijenosom naredbi na stvarni GPU hosta.
- Podrška za OpenGL ES 2.0 dodana je za PowerVR GPU-ove putem Zink upravljačkog programa, omogućujući hardverski ubrzani OpenGL na uređajima koji podržavaju Vulkan API.
- Upravljački program rusticl OpenCL sada zahtijeva statički povezanu C++ stdlib datoteku za ispravan rad s aplikacijama koje koriste izvorne C++ stdlib datoteke.
- Upravljački program za radeonsi (AMD) dodao je podršku za OpenGL ekstenziju GL_NV_timeline_semaphore.
- Panfrost upravljački program (ARM Mali) sada podržava OpenGL ekstenziju GL_EXT_shader_image_load_store.
- v3d upravljački program (Broadcom VideoCore) sada podržava OpenGL ekstenziju GL_ARB_sample_shading.
- Dodana podrška za proširenja Vulkan:
- VK_ARM_kontrole_raspoređivanja za panvk
- VK_EXT_acquire_drm_display za panvk
- VK_EXT_astc_decode_mode za panvk
- VK_EXT_attachment_feedback_loop_dynamic_state za panvk
- VK_EXT_attachment_feedback_loop_layout za panvk
- VK_EXT_blend_operation_advanced za lavapipe
- VK_EXT_color_write_enable za panvk
- VK_EXT_uvjetno_renderiranje za panvk
- VK_EXT_depth_clamp_control za panvk
- VK_EXT_descriptor_heap za RADV (pri postavljanju 'export RADV_EXPERIMENTAL=heap')
- VK_EXT_hdr_metapodaci za v3dv
- VK_EXT_image_drm_format_modifier za PVR
- VK_EXT_image_view_min_lod za panvk
- VK_EXT_legacy_dithering za panvk
- VK_EXT_map_memory_placed za panvk
- VK_EXT_nested_command_buffer za panvk
- VK_EXT_non_seamless_cube_map za pvr
- VK_EXT_present_timing za RADV, NVK, Turnip, ANV, Honeykrisp, panvk
- VK_EXT_primitive_restart_index za RADV
- VK_EXT_rgba10x6_formati za panvk
- VK_EXT_shader_atomic_float za panvk
- VK_EXT_shader_stencil_export za panvk
- VK_EXT_zero_initialize_device_memory za panvk
- VK_KHR_copy_memory_indirect za nvk, RADV/GFX8+
- VK_KHR_device_address_commands za RADV
- VK_{KHR,EXT}_{surface,swapchain}_maintenance1 za panvk
- VK_KHR_get_display_properties2 za panvk
- VK_KHR_get_surface_capabilities2 za panvk
- VK_KHR_interno_sinkronizirani_redovi_za RADV
- VK_KHR_održavanje4 za PVR
- VK_KHR_pipeline_executable_properties za pvr
- VK_KHR_present_id za panvk, v3dv
- VK_KHR_present_wait for panvk, v3dv
- VK_KHR_sampler_ycbcr_conversion za PVR
- VK_KHR_shader_integer_dot_product za pvr
- VK_KHR_shader_untyped_pointers za panvk
- VK_KHR_swapchain_mutable_format za panvk
- VK_QCOM_obrada_slike za Turnip
- VK_VALVE_mutable_descriptor_type za panvk
- VK_VALVE_shader_mixed_float_dot_product za RADV (Vega20, Navi14, RDNA2+)
- Implementirana OpenCL proširenja:
- cl_khr_subgroup_ballot za asahi, iris, llvmpipe, radeonsi i zink
- cl_xr_subgroup_clustered_reduce za asahi, llvmpipe, radeonsi i zink
- cl_khr_subgroup_extended_types za asahi, iris, llvmpipe, radeonsi i zink
- cl_khr_subgroup_non_uniform_arithmetic za asahi, llvmpipe, radeonsi i zink
- cl_khr_subgroup_non_uniform_vote za asahi, iris, llvmpipe, radeonsi i zink
- cl_khr_subgroup_rotate za asahi, llvmpipe i zink
- VirGL upravljački program, koji implementira virtualni GPU za QEMU, više se ne održava i bit će uklonjen osim ako netko ne bude voljan preuzeti njegovo održavanje.
Izvor: opennet.ru
