ตอนนี้ Panfrost รองรับ OpenGL 3.1 สำหรับ Mali GPU แล้ว

นักพัฒนา Collabora ยังไม่หยุดทำงานและในช่วงไม่กี่เดือนที่ผ่านมาพวกเขาให้ความสำคัญกับเรื่องนี้มากและครั้งนี้ก็ไม่ใช่ข้อยกเว้นเพราะเมื่อไม่นานมานี้ ประกาศว่าเขาประกาศการใช้งานในไดรเวอร์ Panfrost ของการสนับสนุน OpenGL 3.1 สำหรับ Midgard GPUs (Mali-T6xx, Mali-T7xx, Mali-T8xx) และ Bifrost GPUs (Mali G3x, G5x, G7x) รวมถึงรองรับ OpenGL ES 3.0 สำหรับ Bifrost GPUs

การเปลี่ยนแปลงเหล่านี้ คาดว่าจะรวมอยู่ในรุ่น Mesa 21.0ซึ่งกำลังอยู่ในขั้นตอนการเปิดตัวผู้สมัคร

ควรจำไว้ว่านักพัฒนา Collabora ทำงานมานานในการใช้งานคอนโทรลเลอร์สำหรับตารางและตัวอย่างของสิ่งนี้คืออดีต ตัวควบคุมโต๊ะแกลเลียม, ที่ใช้ชั้นกลาง เพื่อจัดระเบียบ OpenCL 1.2 และ OpenGL 3.3 API เกี่ยวกับไดรเวอร์ที่รองรับ DirectX 12 (D3D12) และซอร์สโค้ดเผยแพร่ภายใต้ใบอนุญาต MIT

ตัวควบคุมที่เสนอ ช่วยให้คุณใช้ Mesa บนอุปกรณ์ต่างๆ ซึ่งเข้ากันไม่ได้ในตอนแรก ด้วย OpenCL และ OpenGL และยังเป็นตำแหน่งเริ่มต้นในการพอร์ตแอปพลิเคชัน OpenGL / OpenCL เพื่อทำงานบน D3D12

ในส่วนของไดรเวอร์ Panfrost ใหม่จะสังเกตได้ว่า GPU Midgard และ Bifrost ใช้โครงสร้างข้อมูลร่วมกัน สำหรับฟังก์ชันคงที่ แต่ Bifrost ใช้ชุดคำสั่งที่แตกต่างกันโดยพื้นฐานซึ่งทำให้การใช้งานฟังก์ชันสำหรับข้อมูล GPU แบบซิงโครนัสทำได้ยาก

ในทางสถาปัตยกรรม Bifrost ใช้โครงสร้างข้อมูลคงที่ส่วนใหญ่กับ Midgard แต่แนะนำชุดคำสั่งใหม่ งานของเราในการนำ OpenGL ES 3.0 ไปใช้กับ Bifrost สะท้อนให้เห็นถึงแผนกนี้

คุณลักษณะฟังก์ชันคงที่บางอย่างเช่นการสร้างอินสแตนซ์และการตอบสนองการแปลงจะทำงานโดยไม่มีการเปลี่ยนแปลง Bifrost ที่เฉพาะเจาะจงอย่างที่เราทำใน Midgard คุณสมบัติการทำเงาอื่น ๆ เช่นอ็อบเจ็กต์บัฟเฟอร์ที่เหมือนกันจำเป็นต้องมีการใช้งาน "ตั้งแต่เริ่มต้น" ในคอมไพเลอร์ Bifrost ซึ่งเป็นงานที่ทำได้ง่ายโดยการแสดงระดับกลางที่เป็นผู้ใหญ่ของคอมไพเลอร์พร้อมการสนับสนุนการสร้างชั้นหนึ่ง

เช่น ฟังก์ชั่นคงที่ใช้งานแล้วสำหรับ Midgardเช่น 'ข้อเสนอแนะการเปลี่ยนแปลง' สามารถโอนไปยัง Bifrost โดยไม่มีการเปลี่ยนแปลง ในขณะที่คุณสมบัติเช่น Multiple Render Targets (MRT) ถูก จำกัด เฉพาะการเปลี่ยนแปลง Bifrost บางอย่าง

ในขณะเดียวกันการดำเนินการ shader อื่น ๆ เช่นอ็อบเจ็กต์บัฟเฟอร์แบบรวมจำเป็นต้องมีการใช้งานใหม่สำหรับคอมไพเลอร์ Bifrost shader

สิ่งนี้เป็นไปตามการสนับสนุน OpenGL ES 3.0 ใน Midgard ที่มาถึงในช่วงฤดูร้อนเช่นเดียวกับการสนับสนุน OpenGL ES 2.0 เริ่มต้นที่เพิ่งเปิดตัวสำหรับ Bifrost ขณะนี้ OpenGL ES 3.0 ได้รับการทดสอบกับ Mali G52 ในการผสานรวมอย่างต่อเนื่องของ Mesa โดยได้รับอัตราการส่งผ่าน 99.9% ในการทดสอบโปรแกรมคุณภาพ DrawElements ที่เกี่ยวข้อง

อย่างไรก็ตามคุณสมบัติอื่น ๆ เช่นเป้าหมายการแสดงผลหลายรายการจำเป็นต้องใช้รหัสเฉพาะจาก Bifrost ในขณะที่ใช้ประโยชน์จากรหัสอื่น ๆ ที่แชร์กับ Midgard ถึงกระนั้นงานก็ดำเนินไปเร็วขึ้นมากในครั้งที่สองซึ่งเป็นข้อพิสูจน์ถึงพลังของรหัสที่ใช้ร่วมกัน แต่คุณไม่จำเป็นต้อง จำกัด swap ของคุณให้อยู่ใน Panfrost GPUs เท่านั้น ไดรเวอร์โอเพนซอร์สสามารถแชร์โค้ดระหว่างผู้ขาย

นอกจากนี้ในประกาศยังมีการกล่าวถึง หลีกเลี่ยงการทำซ้ำงานบางส่วนโดยใช้การแทนค่ากลางในคอมไพเลอร์ ซึ่งเมื่อใช้ร่วมกับโค้ดที่ใช้ร่วมกันจะช่วยเพิ่มความเร็วในการพัฒนาได้อย่างมากและด้วยวิธีนี้โค้ดนี้ไม่เพียง แต่จะใช้กับตระกูล GPU เท่านั้น แต่ยังรวมถึงคอนโทรลเลอร์ที่แตกต่างกันด้วย

โดยเฉพาะอย่างยิ่งนักพัฒนากล่าวว่าในการใช้ OpenGL บนระบบเดสก์ท็อปไดรเวอร์ Panfrost จำเป็นต้องใช้ส่วนประกอบ Mesa ที่พร้อมใช้งานในขณะที่ไดรเวอร์ที่เป็นกรรมสิทธิ์ของ Mali นั้น จำกัด ให้รองรับเฉพาะ OpenGL ES เท่านั้น

อย่างไรก็ตามการสนับสนุนเดสก์ท็อป OpenGL 3.1 นั้นแทบจะ "ฟรี" สำหรับเราในฐานะตัวควบคุมเมซาต้นน้ำโดยใช้ประโยชน์จากโครงสร้างพื้นฐานทั่วไป

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม เกี่ยวกับการใช้งาน Panfrost ใหม่ที่เสนอโดยนักพัฒนา Collabora คุณสามารถตรวจสอบรายละเอียดได้ ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา