تم تبديل برنامج تشغيل RADV Vulkan لاستخدام الواجهة الخلفية لتجميع تظليل ACO

في قاعدة التعليمات البرمجية المستخدمة لتشكيل إصدار Mesa 20.2، مُنفّذ تبديل RADV، برنامج تشغيل Vulkan لرقائق AMD، لاستخدام الواجهة الخلفية الافتراضية لتجميع التظليل "ACO"، والذي يتم تطويره بواسطة Valve كبديل لمترجم تظليل LLVM. سيؤدي هذا التغيير إلى زيادة أداء اللعبة وتقليل وقت الإطلاق. لإرجاع الواجهة الخلفية القديمة، يتم توفير متغير البيئة "RADV_DEBUG=llvm".

أصبح تحويل برنامج تشغيل RADV إلى الواجهة الخلفية الجديدة ممكنًا بعد أن حققت ACO التكافؤ في الوظائف مع الواجهة الخلفية القديمة التي طورتها AMD لبرنامج تشغيل AMDGPU، والذي يستمر استخدامه في برنامج تشغيل RadeonSI OpenGL. اختبار بواسطة صمام وأظهرتأن ACO أسرع مرتين تقريبًا من مترجم تظليل AMDGPU من حيث سرعة الترجمة ويظهر زيادة في FPS في بعض الألعاب عند التشغيل على أنظمة بها برنامج تشغيل RADV.

تم تبديل برنامج تشغيل RADV Vulkan لاستخدام الواجهة الخلفية لتجميع تظليل ACO

تم تبديل برنامج تشغيل RADV Vulkan لاستخدام الواجهة الخلفية لتجميع تظليل ACO

تهدف الواجهة الخلفية لـ ACO إلى توفير إنشاء أكواد برمجية مثالية قدر الإمكان لتظليل تطبيقات الألعاب، بالإضافة إلى تحقيق سرعة تجميع عالية جدًا. تمت كتابة ACO بلغة C++، وتم تصميمه مع وضع تجميع JIT في الاعتبار، ويستخدم هياكل بيانات متكررة سريعة، مع تجنب الهياكل المستندة إلى المؤشر. يعتمد التمثيل الوسيط للكود بالكامل على SSA (التخصيص الفردي الثابت) ويسمح بتخصيص السجل عن طريق الحساب المسبق الدقيق للسجل اعتمادًا على التظليل.

إضافة: في الوقت الحالي، يعمل ACO فقط مع برنامج التشغيل Mesa RADV Vulkan. لكن مطوري ACO مؤكدأن خطوتهم التالية ستكون بدء العمل على توسيع قدرات ACO لدعم برنامج تشغيل RadeonSI OpenGL، بحيث يمكن لـ ACO في المستقبل، بالنسبة لبرنامج التشغيل هذا، استبدال مترجم تظليل LLVM الافتراضي.

المصدر: opennet.ru

إضافة تعليق