يتمتع Panfrost الآن بدعم OpenGL 3.1 لوحدات معالجة الرسومات في مالي

لم يتوقف مطورو Collabora عن العمل وهو أنهم قدموا الكثير للحديث عنه في الأشهر الأخيرة وهذه المرة ليس الاستثناء لأنه في الآونة الأخيرة أعلن عن تنفيذ برنامج Panfrost لدعم OpenGL 3.1 بالنسبة لوحدات معالجة الرسومات Midgard (Mali-T6xx و Mali-T7xx و Mali-T8xx) ووحدات معالجة الرسومات Bifrost (Mali G3x و G5x و G7x) ، بالإضافة إلى دعم OpenGL ES 3.0 لوحدات معالجة الرسومات Bifrost.

هذه التغييرات من المتوقع أن يتم تضمينه في إصدار Mesa 21.0، والتي هي حاليًا في مرحلة مرشح الإطلاق.

يجب أن نتذكر أن مطوري Collabora قد عملوا لفترة طويلة على تنفيذ وحدات التحكم للجداول ومثال على ذلك هو الماضي تحكم منضدية الغاليوم ، التي تنفذ طبقة وسيطة لتنظيم OpenCL 1.2 و OpenGL 3.3 API حول برامج التشغيل التي تدعم DirectX 12 (D3D12) وأن رمز المصدر الخاص بها تم إصداره بموجب ترخيص MIT.

المراقب المقترح يسمح لك باستخدام ميسا على الأجهزة التي لا تتوافق في البداية مع OpenCL و OpenGL وأيضًا كنقطة انطلاق لمنفذ تطبيقات OpenGL / OpenCL للعمل على D3D12.

من جانب برنامج التشغيل Panfrost الجديد ، لوحظ أن وحدة معالجة الرسومات (GPU) تشترك Midgard و Bifrost في هياكل البيانات المشتركة للوظائف الثابتة ، ولكن يستخدم Bifrost مجموعة مختلفة من التعليمات بشكل أساسي، مما يجعل التنفيذ المتزامن لوظائف بيانات وحدة معالجة الرسومات أمرًا صعبًا.

من الناحية المعمارية ، تشارك Bifrost معظم هياكل بيانات الوظيفة الثابتة مع Midgard ، ولكنها تقدم مجموعة جديدة من التعليمات. يعكس عملنا لتقديم OpenGL ES 3.0 إلى Bifrost هذا التقسيم.

عملت بعض ميزات الوظائف الثابتة ، مثل إنشاء انطباع وتحويل ردود الفعل ، دون أي تغيير Bifrost محدد ، كما فعلنا بالفعل في Midgard. تتطلب ميزات التظليل الأخرى ، مثل كائنات المخزن المؤقت الموحدة ، عمليات تنفيذ "من البداية" في مترجم Bifrost ، وهي مهمة سهلت من خلال التمثيل الوسيط الناضج للمترجم مع دعم بناء من الدرجة الأولى.

على سبيل المثال تم تنفيذ الوظائف الثابتة بالفعل لـ Midgardمثل "ملاحظات التحويل" ، يمكن نقلها إلى بيفروست بدون تغييرات ، بينما تقتصر ميزات مثل أهداف العرض المتعددة (MRT) على بعض تغييرات Bifrost المحددة.

في الوقت نفسه ، تتطلب عمليات التظليل الأخرى ، مثل كائنات المخزن المؤقت الموحدة ، تنفيذ خدش لمترجم Bifrost shader.

يأتي هذا بعد دعم OpenGL ES 3.0 في Midgard الذي هبط خلال الصيف ، بالإضافة إلى دعم OpenGL ES 2.0 الأولي الذي ظهر مؤخرًا لـ Bifrost. يتم الآن اختبار OpenGL ES 3.0 على Mali G52 في تكامل Mesa المستمر ، مما يحقق معدل نجاح بنسبة 99.9٪ في الاختبارات المقابلة لبرنامج جودة DrawElements.

ومع ذلك ، تتطلب الميزات الأخرى ، مثل أهداف العرض المتعددة ، رمزًا محددًا من Bifrost مع الاستفادة من التعليمات البرمجية الأخرى المشتركة مع Midgard. ومع ذلك ، تقدم العمل بشكل أسرع في المرة الثانية ، وهو دليل على قوة الرموز المشتركة. لكنك لست بحاجة إلى قصر التبادل على وحدات معالجة الرسومات Panfrost فقط ؛ يمكن للسائقين مفتوح المصدر مشاركة التعليمات البرمجية بين البائعين.

بالإضافة إلى ذلك ، في الإعلان ذكر ذلك تم تجنب بعض الازدواجية في العمل باستخدام تمثيل وسيط في المترجم ، والتي ، جنبًا إلى جنب مع الكود المشترك ، تعمل على تسريع عملية التطوير بشكل كبير ، ومن خلال هذا النهج ، يمكن استخدام الكود ليس فقط لعائلة من وحدات معالجة الرسومات ، ولكن أيضًا لوحدات التحكم المختلفة.

على وجه الخصوص ، ذكر المطورون أنه من أجل تنفيذ OpenGL على أنظمة سطح المكتب ، تطلب برنامج تشغيل Panfrost استخدام مكونات Mesa الجاهزة للاستخدام ، بينما يقتصر برنامج التشغيل الخاص بمالي على دعم OpenGL ES فقط.

ومع ذلك ، فإن دعم OpenGL 3.1 لسطح المكتب يكاد يكون "مجانيًا" بالنسبة لنا كوحدة تحكم Mesa المنبع من خلال الاستفادة من البنية التحتية المشتركة.

وأخيرا، إذا كنت مهتمًا بمعرفة المزيد عنها حول تنفيذ Panfrost الجديد الذي اقترحه مطورو Collabora ، يمكنك التحقق من التفاصيل في الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.