إصدار Mesa 25.0 ، وهو تطبيق مجاني لبرنامج OpenGL و Vulkan

بعد ثلاثة أشهر من التطوير، تم نشر إصدار التطبيق المجاني لـ OpenGL وVulkan APIs، Mesa 25.0.0. يتمتع الإصدار الأول من فرع Mesa 25.0.0 بحالة تجريبية - بعد التثبيت النهائي للكود، سيتم إصدار نسخة مستقرة 25.0.1.

يوفر Mesa 25.0 الدعم لواجهة برمجة تطبيقات الرسومات Vulkan 1.4 لبرامج تشغيل ANV لوحدات معالجة الرسومات من Intel، وRADV لوحدات معالجة الرسومات من AMD، وNVK لوحدات معالجة الرسومات من NVIDIA، وAsahi لوحدات معالجة الرسومات من Apple، وTurnip لوحدات معالجة الرسومات من Qualcomm، وبرنامج lavapipe (lvp). في وضع المحاكي (vn)، يتم دعم واجهة برمجة التطبيقات Vulkan 1.3، وفي برنامج تشغيل PanVK لوحدات معالجة الرسومات ARM Mali - Vulkan 1.1، وفي برامج التشغيل v3dv (وحدة معالجة الرسومات Broadcom VideoCore لـ Raspberry Pi 4+) وdzn (تنفيذ Vulkan على Direct3D 12) - Vulkan 1.0.

توفر Mesa أيضًا دعم OpenGL 4.6 الكامل لـ iris (وحدات معالجة الرسومات Intel Gen 8+)، وradeonsi (AMD)، وCrocus (وحدات معالجة الرسومات Intel Gen4-Gen7 الأقدم)، وzink، وllvmpipe، وvirgl (وحدة معالجة الرسومات الافتراضية Virgil3D لـ QEMU/KVM)، وبرامج تشغيل freedreno ( Qualcomm Adreno)، وd3d12 (طبقة لتنظيم عمل OpenGL أعلى DirectX 12) وasahi (وحدة معالجة الرسومات AGX المستخدمة في شرائح Apple M1 وM2). يتوفر دعم OpenGL 4.5 لوحدات معالجة الرسوميات AMD (r600) وNVIDIA (nvc0). يتوفر دعم OpenGL 3.3 في برامج تشغيل softpipe (أداة مسح البرامج) وnv50 (NVIDIA NV50).

الابتكارات الرئيسية:

  • تدعي برامج تشغيل Vulkan ANV (Intel)، وRADV (AMD)، وNVK (NVIDIA)، وAsahi (Apple)، وPanVK (ARM Mali)، وTurnip (Qualcomm)، بالإضافة إلى برنامج rasterizer lavapipe (lvp) أنها تدعم واجهة برمجة التطبيقات Vulkan 1.4 (في السابق، كان Vulkan 1.3 مدعومًا).
  • أضاف برنامج تشغيل RADV Vulkan الدعم الأولي لوحدات معالجة الرسومات AMD RDNA4 (GFX12، سلسلة AMD Radeon RX 9000).
  • تم نقل برنامج تشغيل RadeonSI لاستخدام برنامج تجميع تظليل ACO الخلفي، والذي أنشأته Valve كبديل لمترجم تظليل LLVM. تهدف واجهة ACO الخلفية إلى ضمان أن يكون إنشاء الكود مثاليًا قدر الإمكان لتطبيقات الألعاب، وتحقيق سرعات تجميع عالية جدًا. تمت كتابة ACO بلغة C++، وتم تصميمه مع وضع التجميع JIT في الاعتبار، ويستخدم هياكل بيانات سريعة قابلة للتكرار، وتجنب الهياكل القائمة على المؤشرات.
  • تمت إضافة برنامج تشغيل amdgpu_virtio، مما يسمح للنظام الضيف باستخدام برامج تشغيل OpenGL وVulkan الخاصة بـ radeonsi وradeonsi_drv_video وradv التي يوفرها النظام المضيف. ويتم الوصول إليها عبر VirtIO، مما يوفر تسريعًا ثلاثي الأبعاد عالي الأداء. آلة افتراضيةيُزعم أن amdgpu_virtio يقدم أداءً أفضل من برامج تشغيل virgl و venus، والتي صُممت سابقًا للوصول إلى Vulkan و OpenGL من أنظمة الضيوف.
  • تم توسيع قدرات برنامج تشغيل Panfrost OpenGL لوحدات معالجة الرسومات ARM Mali.
    • يتم تمكين آلية "إزالة المعاملات" بشكل افتراضي، مما يؤدي إلى تجاهل العمليات المكررة (على سبيل المثال، يتم تجاهل العمليات لإعادة كتابة الأجزاء التي لم تتغير منذ العرض السابق).
    • تمت إضافة دعم للرسم التدريجي، والذي يسمح بتقليل استهلاك الذاكرة عند رسم عدد كبير من الكائنات عن طريق معالجة المربعات بشكل منفصل.
    • تمت إضافة الدعم لوضع AFBC 32x8، المستخدم لتحسين العمل مع مخزن المسح في بعض وحدات تحكم العرض.
    • تم زيادة الحد الأقصى للعرض والارتفاع المدعوم من 8192 إلى 32768 بكسل.
    • تمت إضافة دعم لوضع التنميط MTK_FMT_MOD_TILE_16L32S، والذي يقوم بنسخ البيانات المجزأة إلى مخزن مؤقت غير مجزأ قبل العرض (يستخدم للعمل مع أجهزة فك تشفير الفيديو الموجودة في أنظمة MediaTek SoC).
  • تم تحديث برنامج تشغيل ANV (Intel) لدعم ملحقات Vulkan لفك تشفير فيديو AV1.
  • ينفذ برنامج تشغيل PanVK Vulkan لوحدات معالجة الرسومات ARM Mali المستندة إلى بنية V10، مثل Mali-G610 وMali-G310، الدعم لواجهة برمجة التطبيقات Vulkan 1.1 (في السابق، كان Vulkan 1.0 مدعومًا). يتم تضمين PanVK في قائمة برامج التشغيل المتاحة للاستخدام في Mesa بشكل افتراضي (في السابق لم يتم عرض PanVK في قائمة برامج التشغيل وكان يجب تعيين متغير بيئي لاستخدامه). في أنظمة ARM، يتم تمكين إنشاء PanVK بشكل افتراضي.
  • ينفذ برنامج تشغيل PanVK ملحقات Vulkan:
    • VK_KHR_8bit_storage
    • VK_KHR_تخصيص مخصص
    • VK_KHR_global_priority 
    • VK_KHR_index_type_uint8
    • VK_KHR_map_memory2 
    • VK_KHR_عرض متعدد
    • معلمات رسم تظليل VK_KHR
    • VK_KHR_shader_float16_int8
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_relaxed_extened_instruction
    • VK_KHR_shader_subgroup_rotate
    • VK_KHR_vertex_attribute_divisor
    • VK_KHR_zero_initialize_workgroup_memory
    • VK_EXT_4444_formats
    • VK_EXT_استعلام_الأولوية_العالمية
    • VK_EXT_الأولوية العالمية 
    • VK_EXT_host_query_reset
    • VK_EXT_image_robustness 
    • VK_EXT_pipeline_robustness
    • VK_EXT_رأس_مثير_للغضب 
    • VK_EXT_queue_family_family
    • VK_EXT_sampler_filter_minmax
    • VK_EXT_scalar_block_layout
    • VK_EXT_subgroup_size_control
    • VK_EXT_tooling_info
    • VK_EXT_subgroup_size_control
  • أضاف برنامج تشغيل RADV (AMD) الدعم لإضافات Vulkan VK_KHR_maintenance8 وVK_KHR_depth_clamp_zero_one.
  • يدعم برنامج التشغيل rusticl الآن ملحق cl_khr_depth_images OpenCL.

    المصدر: opennet.ru

  • إضافة تعليق