Pas tre muajsh zhvillimi, u prezantua lĂ«shimi i implementimit tĂ« lirĂ« tĂ« API OpenGL dhe Vulkan â Mesa 26.1.0. LĂ«shimi i parĂ« i degĂ«s Mesa 26.1.0 ka status eksperimental â pasi tĂ« pĂ«rfundojĂ« stabilizimi pĂ«rfundimtar i kodit, do tĂ« lĂ«shohet njĂ« version stabil 26.1.1.
NĂ« Mesa 26.1 Ă«shtĂ« e disponueshme mbĂ«shtetje pĂ«r API grafik Vulkan 1.4 nĂ« driberat ANV pĂ«r GPU Intel, RADV pĂ«r GPU AMD, NVK pĂ«r GPU NVIDIA, HoneyKrisp (hk) pĂ«r GPU Apple, Turnip pĂ«r GPU Qualcomm, PanVK pĂ«r GPU ARM Mali, nĂ« rasterizuesin softuerik lavapipe (lvp) dhe nĂ« modalitetin emulator (vn). NĂ« driberat v3dv (GPU Broadcom VideoCore pĂ«r Raspberry Pi 4+) dhe dzn (implementimi i Vulkan mbi Direct3D 12) mbĂ«shtetet Vulkan 1.0, nĂ« driberin kk (KosmicKrisp, Vulkan mbi Metal)âVulkan 1.1, dhe nĂ« driberin pvr (GPU Imagination PowerVR)âVulkan 1.2.
Në Mesa gjithashtu sigurohet mbështetje e plotë për OpenGL 4.6 për drejtuesit iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (GPU të vjetra Intel Gen4-Gen7), AMD (r600), zink, llvmpipe, virgl (GPU virtual Virgil3D për QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (layer për organizimin e funksionimit të OpenGL mbi DirectX 12) dhe asahi (GPU AGX, e përdorur në çipat Apple M1 dhe M2). Mbështetje për OpenGL 4.5 është e disponueshme për GPU NVIDIA (nvc0). Mbështetje për OpenGL 3.3 është e pranishme në drejtuesit softpipe (rasterizator programor) dhe nv50 (NVIDIA NV50). Në drejtuesit panfrost (GPU ARM Mali) dhe v3d (GPU Broadcom VideoCore) mbështetet OpenGL 3.1.
TĂ« rejat kryesore:
- Në driberat për GPU Intel (Iris, Crocus dhe ANV) është shtuar mundësia për të punuar drejtpërdrejt me GPU nga makinave virtuale, duke përdorur kontekstet native (native context) në VirtIO-GPU. Kontextet native lehtësojnë përmirësimin e performancës së punës me GPU virtual (virtio-gpu-gl) nga sistemi mik, përmes transferimit të drejtpërdrejtë të komandave në GPU real të hostit.
- Për GPU PowerVR është shtuar mbështetje për OpenGL ES 2.0, e realizuar përmes drejtpërdrejtit Zink, që mundëson përshpejtim të OpenGL në pajisjet që mbështesin API-në Vulkan.
- Për drejtpërdrejtin OpenCL rusticl tani kërkohet një bibliotekë C++ stdlib e ndërtuar statikisht për funksionimin e saktë me aplikacionet që përdorin C++ stdlib të vetin.
- Në drejtpërdrejtin radeonsi (AMD) është shtuar mbështetje për zgjerimin OpenGL GL_NV_timeline_semaphore.
- Në drejtpërdrejtin panfrost (ARM Mali) është shtuar mbështetje për zgjerimin OpenGL GL_EXT_shader_image_load_store.
- Në drejtpërdrejtin v3d (Broadcom VideoCore) është shtuar mbështetje për zgjerimin OpenGL GL_ARB_sample_shading.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r zgjerimet Vulkan:
- VK_ARM_scheduling_controls për panvk
- VK_EXT_acquire_drm_display për panvk
- VK_EXT_astc_decode_mode për panvk
- VK_EXT_attachment_feedback_loop_dynamic_state për panvk
- VK_EXT_attachment_feedback_loop_layout për panvk
- VK_EXT_blend_operation_advanced për lavapipe
- VK_EXT_color_write_enable për panvk
- VK_EXT_conditional_rendering për panvk
- VK_EXT_depth_clamp_control për panvk
- VK_EXT_descriptor_heap pĂ«r RADV (kur vendoset âexport RADV_EXPERIMENTAL=heapâ)
- VK_EXT_hdr_metadata për v3dv
- VK_EXT_image_drm_format_modifier për pvr
- VK_EXT_image_view_min_lod për panvk
- VK_EXT_legacy_dithering për panvk
- VK_EXT_map_memory_placed për panvk
- VK_EXT_nested_command_buffer për panvk
- VK_EXT_non_seamless_cube_map për pvr
- VK_EXT_present_timing për RADV, NVK, Turnip, ANV, Honeykrisp, panvk
- VK_EXT_primitive_restart_index për RADV
- VK_EXT_rgba10x6_formats për panvk
- VK_EXT_shader_atomic_float për panvk
- VK_EXT_shader_stencil_export për panvk
- VK_EXT_zero_initialize_device_memory për panvk
- VK_KHR_copy_memory_indirect për nvk, RADV/GFX8+
- VK_KHR_device_address_commands për RADV
- VK_{KHR,EXT}_{surface,swapchain}_maintenance1 për panvk
- VK_KHR_get_display_properties2 për panvk
- VK_KHR_get_surface_capabilities2 për panvk
- VK_KHR_internally_synchronized_queues për RADV
- VK_KHR_maintenance4 për pvr
- VK_KHR_pipeline_executable_properties për pvr
- VK_KHR_present_id për panvk, v3dv
- VK_KHR_present_wait për panvk, v3dv
- VK_KHR_sampler_ycbcr_conversion për pvr
- VK_KHR_shader_integer_dot_product për pvr
- VK_KHR_shader_untyped_pointers për panvk
- VK_KHR_swapchain_mutable_format për panvk
- VK_QCOM_image_processing për Turnip
- VK_VALVE_mutable_descriptor_type për panvk
- VK_VALVE_shader_mixed_float_dot_product për RADV (Vega20, Navi14, RDNA2+)
- Implementohen zgjerimet OpenCL:
- cl_khr_subgroup_ballot për asahi, iris, llvmpipe, radeonsi dhe zink
- cl_khr_subgroup_clustered_reduce për asahi, llvmpipe, radeonsi dhe zink
- cl_khr_subgroup_extended_types për asahi, iris, llvmpipe, radeonsi dhe zink
- cl_khr_subgroup_non_uniform_arithmetic për asahi, llvmpipe, radeonsi dhe zink
- cl_khr_subgroup_non_uniform_vote për asahi, iris, llvmpipe, radeonsi dhe zink
- cl_khr_subgroup_rotate për asahi, llvmpipe dhe zink
- Përgjegjësia e VirGL për GPU-në virtuale për QEMU ka mbetur pa mbështetje dhe do të fshihet nëse nuk gjendet njeri që do ta marrë përgjegjësinë.
Burimi: opennet.ru
