לאחר שלושה חודשי פיתוח, יצאה גרסה 26.1.0, המימוש בקוד פתוח של ממשקי ה-API של OpenGL ו-Vulkan. הגרסה הראשונה של ענף Mesa 26.1.0 היא ניסיונית; לאחר שהקוד יתייצב במלואו, תצא הגרסה היציבה, 26.1.1.
Mesa 26.1 מוסיפה תמיכה עבור ממשק ה-API הגרפי Vulkan 1.4 בדרייברים ANV עבור מעבדי Intel, RADV עבור מעבדי AMD, NVK עבור מעבדי NVIDIA, HoneyKrisp (hk) עבור מעבדי Apple, Turnip עבור מעבדי Qualcomm, PanVK עבור מעבדי ARM Mali, רסטרייזר תוכנה lavapipe (lvp), ומצב אמולטור (vn). דרייברים v3dv (מעבד GPU Broadcom VideoCore עבור Raspberry Pi 4+) ו-dzn (Vulkan over Direct3D 12) תומכים ב-Vulkan 1.0, דרייבר kk (KosmicKrisp, Vulkan over Metal) תומך ב-Vulkan 1.1, ודרייבר pvr (מעבד GPU Imagination PowerVR) תומך ב-Vulkan 1.2.
Mesa מספקת גם תמיכה מלאה ב-OpenGL 4.6 עבור iris (מעבדי Intel Gen 8+), radeonsi (AMD), Crocus (מעבדי Intel Gen4-Gen7 ישנים יותר), AMD (r600), zink, llvmpipe, virgl (מעבד GPU וירטואלי virgil3D עבור QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (שכבת OpenGL על גבי DirectX 12), ו-asahi (מעבד GPU AGX המשמש בשבבי Apple M1 ו-M2). תמיכה ב-OpenGL 4.5 זמינה עבור מעבדי NVIDIA (nvc0). תמיכה ב-OpenGL 3.3 זמינה בדרייברים softpipe (תוכנה מרתקת) ו-nv50 (NVIDIA NV50). OpenGL 3 נתמך בדרייברים panfrost (מעבד GPU ARM Mali) ו-v3.1d (מעבד GPU Broadcom VideoCore).
חידושים עיקריים:
- דרייברים עבור מעבדי GPU של אינטל (Iris, Crocus ו-ANV) תומכים כעת בגישה ישירה למעבדי GPU ממכונות וירטואליות באמצעות הקשרים מקוריים ב-VirtIO-GPU. הקשרים מקוריים משפרים את הביצועים בעת עבודה עם מעבד GPU וירטואלי (virtio-gpu-gl) במערכת אורחת על ידי שידור ישיר של פקודות למעבד הגרפי המארח בפועל.
- תמיכה ב-OpenGL ES 2.0 נוספה עבור מעבדי PowerVR באמצעות מנהל ההתקן Zink, מה שמאפשר OpenGL בהאצת חומרה במכשירים התומכים ב-API של Vulkan.
- מנהל ההתקן rusticl OpenCL דורש כעת stdlib C++ המקושר סטטית כדי לפעול כהלכה עם יישומים המשתמשים ב- stdlibs C++ מקוריים.
- מנהל ההתקן של radeonsi (AMD) הוסיף תמיכה עבור ההרחבה GL_NV_timeline_semaphore OpenGL.
- מנהל ההתקן של panfrost (ARM Mali) תומך כעת בסיומת OpenGL GL_EXT_shader_image_load_store.
- מנהל ההתקן v3d (Broadcom VideoCore) תומך כעת בסיומת OpenGL GL_ARB_sample_shading.
- נוספה תמיכה עבור הרחבות Vulkan:
- VK_ARM_scheduling_controls עבור panvk
- VK_EXT_acquire_drm_display עבור panvk
- VK_EXT_astc_decode_mode עבור panvk
- VK_EXT_attachment_feedback_loop_dynamic_state עבור panvk
- VK_EXT_attachment_feedback_loop_layout עבור panvk
- VK_EXT_blend_operation_advanced עבור lavapipe
- VK_EXT_color_write_enable עבור panvk
- רינדור_מותנה_VK_EXT עבור panvk
- VK_EXT_depth_clamp_control עבור panvk
- VK_EXT_descriptor_heap עבור RADV (בעת הגדרת 'export RADV_EXPERIMENTAL=heap')
- VK_EXT_hdr_metadata עבור v3dv
- VK_EXT_image_drm_format_modifier עבור PVR
- VK_EXT_image_view_min_lod עבור panvk
- VK_EXT_legacy_dithering עבור panvk
- VK_EXT_map_memory_placed עבור panvk
- VK_EXT_nested_command_buffer עבור panvk
- VK_EXT_non_seamless_cube_map עבור PVR
- VK_EXT_present_timing עבור RADV, NVK, Turnip, ANV, Honeykrisp, panvk
- VK_EXT_primitive_restart_index עבור RADV
- VK_EXT_rgba10x6_formats עבור panvk
- VK_EXT_shader_atomic_float עבור panvk
- VK_EXT_shader_stencil_export עבור panvk
- VK_EXT_zero_initialize_device_memory עבור panvk
- VK_KHR_copy_memory_indirect עבור nvk, RADV/GFX8+
- VK_KHR_device_address_commands עבור RADV
- VK_{KHR,EXT}_{surface,swapchain}_maintenance1 עבור panvk
- VK_KHR_get_display_properties2 עבור panvk
- VK_KHR_get_surface_capabilities2 עבור panvk
- VK_KHR_internally_synchronized_queues עבור RADV
- VK_KHR_maintenance4 עבור PVR
- VK_KHR_pipeline_executable_properties עבור PVR
- VK_KHR_present_id עבור panvk, v3dv
- VK_KHR_present_wait for panvk, v3dv
- VK_KHR_sampler_ycbcr_conversion עבור PVR
- VK_KHR_shader_integer_dot_product עבור PVR
- VK_KHR_shader_untyped_pointers עבור panvk
- VK_KHR_swapchain_mutable_format עבור panvk
- VK_QCOM_image_processing עבור Turnip
- VK_VALVE_mutable_descriptor_type עבור panvk
- VK_VALVE_shader_mixed_float_dot_product עבור RADV (Vega20, Navi14, RDNA2+)
- הרחבות OpenCL מיושמות:
- cl_khr_subgroup_ballot עבור asahi, iris, llvmpipe, radeonsi ו-zink
- cl_xr_subgroup_clustered_reduce עבור asahi, llvmpipe, radeonsi ו-zink
- cl_khr_subgroup_extended_types עבור asahi, iris, llvmpipe, radeonsi ו-zink
- cl_khr_subgroup_non_uniform_arithmetic עבור asahi, llvmpipe, radeonsi ו-zink
- cl_khr_subgroup_non_uniform_vote עבור asahi, iris, llvmpipe, radeonsi ו-zink
- cl_khr_subgroup_rotate עבור asahi, llvmpipe ו-zink
- מנהל ההתקן VirGL, אשר מיישם GPU וירטואלי עבור QEMU, אינו מתוחזק עוד ויוסר אלא אם כן מישהו יהיה מוכן לקחת על עצמו את התחזוקה שלו.
מקור: OpenNet.ru
