حقق تطبيق OpenGL عبر DirectX التوافق مع OpenGL 3.3 وتم تضمينه في Mesa

أعلنت شركة Collabora عن اعتماد برنامج تشغيل D3D12 Gallium في تركيبة Mesa الرئيسية، والذي يطبق طبقة لتنظيم عمل OpenGL أعلى واجهة برمجة تطبيقات DirectX 12 (D3D12). في الوقت نفسه، أُعلن أن برنامج التشغيل نجح في اجتياز اختبارات التوافق مع OpenGL 3.3 عند العمل فوق برامج تشغيل WARP (أداة مسح البرامج) وبرامج تشغيل NVIDIA D3D12.

يمكن أن يكون برنامج التشغيل مفيدًا لاستخدام Mesa على الأجهزة التي تحتوي على برامج تشغيل تدعم D3D12 فقط، وأيضًا كنقطة بداية لنقل تطبيقات OpenGL للتشغيل أعلى واجهة برمجة تطبيقات D3D12. على وجه الخصوص، يمكن استخدام برنامج التشغيل لتنظيم تشغيل التطبيقات الرسومية في البيئات التي تعمل بنظام WSL الفرعي (نظام Windows الفرعي لنظام Linux)، والذي يضمن تشغيل ملفات Linux القابلة للتنفيذ في Windows.

يتم تنفيذ التطوير بالاشتراك مع مهندسي Microsoft الذين يقومون بتطوير مجموعة أدوات D3D11On12 المفتوحة لترجمة الألعاب من D3D11 إلى D3D12 ومكتبة D3D12TranslationLayer، التي تنفذ أساسيات الرسوم القياسية أعلى D3D12. استنادًا إلى المشروع قيد النظر، قامت Microsoft بالفعل بإعداد طبقة تجعل من الممكن تشغيل التطبيقات المستندة إلى OpenGL على أجهزة Windows التي لا توفر دعم OpenGL الكامل. على وجه الخصوص، كان من الممكن التأكد من أن Photoshop يعمل على أجهزة Windows مع معالجات ARM.

يتضمن التنفيذ برنامج تشغيل لـ Mesa ومترجم تظليل NIR-to-DXIL (وقت تشغيل D3D12)، والذي يحول التمثيل المتوسط ​​لتظليل NIR المستخدم في Mesa إلى التنسيق الثنائي DXIL (لغة DirectX الوسيطة) المدعوم في DirectX 12 وعلى أساس LLVM كود بت 3.7 (مترجم DirectX Shader من Microsoft هو شوكة لـ LLVM 3.7). يستخدم برنامج التشغيل Mesa واجهة Gallium، ويقبل أوامر OpenGL ويستخدم مترجم NIR-to-DXIL لإنشاء أوامر D3D12، والتي يتم تنفيذها على وحدة معالجة الرسومات من خلال برنامج تشغيل النظام D3D12. بشكل منفصل، يتم تطوير المكونات لضمان عمل OpenCL أعلى D3D12، بما في ذلك مترجم OpenCL ووقت تشغيل OpenCL.

المصدر: opennet.ru

إضافة تعليق