بعد ثلاثة أشهر من التطوير، تم إطلاق Mesa 26.1.0، وهي النسخة مفتوحة المصدر من واجهات برمجة تطبيقات OpenGL وVulkan. الإصدار الأول من Mesa 26.1.0 تجريبي، وسيتم إطلاق النسخة المستقرة 26.1.1 بعد استقرار الكود بشكل كامل.
يُضيف إصدار Mesa 26.1 دعمًا لواجهة برمجة تطبيقات الرسومات Vulkan 1.4 في برامج تشغيل ANV لوحدات معالجة الرسومات من Intel، وRADV لوحدات معالجة الرسومات من AMD، وNVK لوحدات معالجة الرسومات من NVIDIA، وHoneyKrisp (hk) لوحدات معالجة الرسومات من Apple، وTurnip لوحدات معالجة الرسومات من Qualcomm، وPanVK لوحدات معالجة الرسومات من ARM Mali، وبرنامج lavapipe للمسح الضوئي (lvp)، ووضع المُحاكي (vn). يدعم برنامجا التشغيل v3dv (وحدة معالجة الرسومات من Broadcom VideoCore لـ Raspberry Pi 4+) وdzn (Vulkan عبر Direct3D 12) Vulkan 1.0، بينما يدعم برنامج التشغيل kk (KosmicKrisp وVulkan عبر Metal) Vulkan 1.1، ويدعم برنامج تشغيل pvr (وحدة معالجة الرسومات من Imagination PowerVR) Vulkan 1.2.
توفر Mesa أيضًا دعمًا كاملاً لـ OpenGL 4.6 لمعالجات iris (معالجات رسومات Intel من الجيل الثامن فأكثر)، وradeonsi (AMD)، وCrocus (معالجات رسومات Intel من الجيل الرابع إلى السابع الأقدم)، وAMD (r8)، وzink، وllvmpipe، وvirgl (معالج رسومات افتراضي Virgil4D لـ QEMU/KVM)، وfreedreno (معالج Qualcomm Adreno)، وd7d600 (طبقة OpenGL فوق DirectX 3)، وasahi (معالج رسومات AGX المستخدم في شرائح Apple M3 وM12). يتوفر دعم OpenGL 12 لمعالجات رسومات NVIDIA (nvc1). يتوفر دعم OpenGL 2 في برامج تشغيل softpipe (برنامج التبخير) وnv4.5 (NVIDIA NV0). يدعم OpenGL 3.3 برامج تشغيل panfrost (معالج رسومات ARM Mali) وv50d (معالج رسومات Broadcom VideoCore).
الابتكارات الرئيسية:
- تدعم برامج تشغيل معالجات الرسوميات من إنتل (Iris و Crocus و ANV) الآن الوصول المباشر إلى معالج الرسوميات من الأجهزة الافتراضية باستخدام السياقات الأصلية في VirtIO-GPU. تعمل السياقات الأصلية على تحسين الأداء عند العمل مع معالج رسوميات افتراضي (virtio-gpu-gl) في نظام ضيف من خلال نقل الأوامر مباشرةً إلى معالج الرسوميات المضيف الفعلي.
- تمت إضافة دعم OpenGL ES 2.0 لوحدات معالجة الرسومات PowerVR عبر برنامج تشغيل Zink، مما يتيح تسريع OpenGL بواسطة الأجهزة التي تدعم واجهة برمجة تطبيقات Vulkan.
- يتطلب برنامج تشغيل Rusticl OpenCL الآن مكتبة C++ القياسية المرتبطة بشكل ثابت للعمل بشكل صحيح مع التطبيقات التي تستخدم مكتبات C++ القياسية الأصلية.
- أضاف برنامج تشغيل radeonsi (AMD) دعمًا لامتداد OpenGL GL_NV_timeline_semaphore.
- يدعم برنامج تشغيل panfrost (ARM Mali) الآن امتداد OpenGL GL_EXT_shader_image_load_store.
- يدعم برنامج تشغيل v3d (Broadcom VideoCore) الآن امتداد OpenGL GL_ARB_sample_shading.
- تمت إضافة دعم لملحقات Vulkan:
- VK_ARM_scheduling_controls for panvk
- VK_EXT_acquire_drm_display for panvk
- VK_EXT_astc_decode_mode for panvk
- VK_EXT_attachment_feedback_loop_dynamic_state لـ panvk
- VK_EXT_attachment_feedback_loop_layout for panvk
- VK_EXT_blend_operation_advanced for lavapipe
- VK_EXT_color_write_enable لـ panvk
- VK_EXT_conditional_rendering for panvk
- VK_EXT_depth_clamp_control for panvk
- VK_EXT_descriptor_heap لـ RADV (عند تعيين 'export RADV_EXPERIMENTAL=heap')
- VK_EXT_hdr_metadata for v3dv
- VK_EXT_image_drm_format_modifier for pvr
- VK_EXT_image_view_min_lod لـ panvk
- VK_EXT_legacy_dithering لـ panvk
- VK_EXT_map_memory_placed for panvk
- VK_EXT_nested_command_buffer لـ panvk
- VK_EXT_non_seamless_cube_map for 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 for 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 for RADV
- VK_KHR_maintenance4 لـ PVR
- VK_KHR_pipeline_executable_properties لـ PVR
- VK_KHR_present_id لـ panvk، v3dv
- VK_KHR_present_wait لـ panvk، v3dv
- VK_KHR_sampler_ycbcr_conversion for pvr
- VK_KHR_shader_integer_dot_product for 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 for 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 for asahi, iris, llvmpipe, radeonsi and zink
- cl_khr_subgroup_non_uniform_arithmetic لـ asahi و llvmpipe و radeonsi و zink
- cl_khr_subgroup_non_uniform_vote for asahi, iris, llvmpipe, radeonsi and zink
- cl_khr_subgroup_rotate لـ asahi و llvmpipe و zink
- لم يعد يتم صيانة برنامج تشغيل VirGL، الذي يقوم بتنفيذ وحدة معالجة رسومات افتراضية لـ QEMU، وسيتم إزالته ما لم يكن هناك شخص مستعد لتولي صيانته.
المصدر: opennet.ru
