ไม่ใช่แค่เคอร์เนล Linux ที่ได้เห็นการทำความสะอาดสปริง แต่นักพัฒนา Mesa ก็ค่อนข้างยุ่งกับการทำงานเพื่อลบโค้ดเก่าที่ไม่ได้รับการดูแลไม่ดีออกจากส่วนประกอบไดรเวอร์โอเพ่นซอร์ส 3D

เมื่อเดือนที่แล้วเป็นการลบเส้นทาง GLSL เก่าไปเป็น TGSI ครั้งใหญ่ โดยตอนนี้ไดรเวอร์ Mesa ในแผนผังจะผ่าน NIR เสมอ… และในไดรเวอร์ที่ได้รับการดูแลน้อยกว่า ให้แปลงกลับเป็น TGSI IR สำหรับการใช้ไดรเวอร์หาก ไม่มีแบ็กเอนด์ NIR อย่างแข็งขัน แต่อย่างน้อยตอนนี้ NIR ถูกใช้ทุกที่และสามารถใช้ประโยชน์จากการเพิ่มประสิทธิภาพทั่วไปและการบำรุงรักษารหัสที่ดีขึ้น

การผสานรวมในช่วงสุดสัปดาห์นี้เป็นการปรับปรุงอีกประการหนึ่งของ Mesa ที่ทำให้โค้ดมากกว่าหนึ่งพันบรรทัดว่างขึ้น และปรับปรุงสถานการณ์สำหรับไดรเวอร์รุ่นเก่า Timothy Arceri ได้เปลี่ยนไดรเวอร์ Mesa ทั้งหมดเป็นใช้เฉพาะ NIR loop unroller และในตอนท้ายจะลบโค้ดเก่าของ GLSL IR loop unrolling

Arceri สรุปสถานการณ์ดังนี้:

โค้ดการปลดล็อก GLSL IR แบบเก่าเป็นที่ทราบกันดีอยู่แล้วว่ามีปัญหาและทำงานช้ามาก

ณ จุดนี้ ดูเหมือนว่าไดรเวอร์บางตัวใช้ทั้งคู่โดยไม่ทราบถึงปัญหาที่โค้ดเก่าอาจก่อให้เกิด หรือในบางกรณีไม่ได้ใช้ NIR unroller เลยโดยที่ไม่รู้ตัว เนื่องจากพวกเขาเรียก nir unroller ในลูปการเพิ่มประสิทธิภาพแบ็กเอนด์ แต่ไม่เคย กำหนดขีด จำกัด การวนซ้ำซึ่งหมายความว่าไม่ได้ทำอะไรเลย

รวมอายุหนึ่งเดือน คำขอมาถึงสุดสัปดาห์นี้และลบโค้ด 1,903 บรรทัดในขณะที่เพิ่มเพียง 129 บรรทัด สิ่งนี้ส่งผลต่อไดรเวอร์ VMware SVGA, Nouveau NV30/NV50/NVC0, Lima สำหรับกราฟิก Arm Mali รุ่นแรก และไดรเวอร์ Freedreno ตลอดจนการลบโค้ดการคลายลูป GLSL IR ที่ไม่ได้ใช้ในขณะนี้ออกจากโค้ด Mesa หลัก

การ์ดกราฟิกรุ่นเก่าที่ไดรเวอร์ของผู้จำหน่ายอย่างเป็นทางการหายไปเป็นเวลานาน ยังคงเห็นการปรับปรุงด้วยโค้ด Mesa 3D แบบโอเพนซอร์ส

การขจัดโค้ดล่าสุดนี้และฟีเจอร์การทำงานอื่นๆ อีกมากมายจะพบได้ทั้งหมด ใน Mesa 22.2 ที่จะวางจำหน่ายในเดือนสิงหาคม

Categories: IT Info