การเปิดตัว Mesa 22.3 ซึ่งเป็นการนำ OpenGL และ Vulkan ไปใช้ฟรี

การเปิดตัวการใช้งาน OpenGL และ Vulkan APIs - Mesa 22.3.0 ฟรี - ได้รับการเผยแพร่แล้ว การเปิดตัวครั้งแรกของสาขา Mesa 22.3.0 มีสถานะการทดลอง - หลังจากการรักษาเสถียรภาพของโค้ดขั้นสุดท้ายแล้ว เวอร์ชันเสถียร 22.3.1 จะถูกปล่อยออกมา

Mesa 22.3 ให้การสนับสนุน Vulkan 1.3 กราฟิก API ใน anv สำหรับ Intel GPU, radv สำหรับ AMD GPU, tu สำหรับ Qualcomm GPU และในโหมดจำลอง (vn) มีการรองรับ Vulkan 1.1 ในซอฟต์แวร์แรสเตอร์ไรเซอร์ lavapipe (lvp) และ Vulkan 1.0 ในไดรเวอร์ v3dv (Broadcom VideoCore VI GPU จาก Raspberry Pi 4)

Mesa ยังให้การสนับสนุน OpenGL 4.6 เต็มรูปแบบสำหรับไดรเวอร์ 965, iris (Intel), radeonsi (AMD), zink และ llvmpipe รองรับ OpenGL 4.5 สำหรับ AMD (r600), NVIDIA (nvc0) และ Qualcomm Adreno (freedreno) GPUs, OpenGL 4.3 สำหรับ virgl (virgil3D virtual GPU สำหรับ QEMU/KVM) และ OpenGL 4.2 สำหรับไดรเวอร์ d3d12 (เลเยอร์สำหรับการจัดระเบียบ OpenGL ทำงานบน DirectX 12)

นวัตกรรมหลัก:

  • ไดรเวอร์ freedreno สำหรับ GPU Qualcomm Adreno ให้การสนับสนุน OpenGL 4.5 กราฟิก API และไดรเวอร์จำลอง (vn) รองรับ Vulkan 1.3 API
  • ไดรเวอร์ Panfrost ใช้ความสามารถในการแคชเชเดอร์บนดิสก์ และเพิ่มการรองรับ Mali T620 GPU ไดร์เวอร์เข้ากันได้กับข้อกำหนด OpenGL 3.1 และ OpenGL ES 3.1
  • ไดรเวอร์ RADV (AMD) Vulkan ได้เพิ่มการรองรับสำหรับ GPU GFX11/RDNA3 (ซีรีส์ Radeon RX 7000) โค้ดสำหรับการติดตามรังสีได้รับการปรับให้เหมาะสมแล้ว เพิ่มการรองรับรูปแบบพิกเซล R8G8B8, B8G8R8 และ R16G16B16 รวมถึงรูปแบบบัฟเฟอร์จุดสุดยอด 64 บิต เพิ่มการสนับสนุนสำหรับแฟล็ก ExtendedDynamicState2PatchControlPoints ซึ่งกำหนดการสนับสนุนสำหรับส่วนขยาย VK_EXT_extend_dynamic_state2 ผสานรวม Radeon Raytracing Analyzer แล้ว
  • แพ็คเกจนี้ประกอบด้วยไดรเวอร์ Rusticle พร้อมการใช้งานข้อกำหนด OpenCL 3.0 ซึ่งกำหนด API และส่วนขยายของภาษา C เพื่อจัดระเบียบการประมวลผลแบบขนานข้ามแพลตฟอร์ม ไดรเวอร์เขียนด้วยภาษา Rust พัฒนาโดยใช้อินเทอร์เฟซ Gallium ที่ให้ไว้ใน Mesa และทำหน้าที่เป็นอะนาล็อกของส่วนหน้า Clover OpenCL ที่มีอยู่ใน Mesa Clover ถูกทิ้งร้างมาเป็นเวลานาน และ Rusticl จะถูกวางตำแหน่งให้เป็นสิ่งทดแทนในอนาคต การสนับสนุน Rust และ Rusticl ถูกปิดใช้งานโดยค่าเริ่มต้น และต้องการบิลด์ที่มีตัวเลือกที่ชัดเจน "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" เมื่อสร้าง จำเป็นต้องใช้คอมไพเลอร์rustc, ตัวสร้างการเชื่อมโยงbindgen, LLVM, SPIRV-Tools และ SPIRV-LLVM-Translator เป็นการขึ้นต่อกันเพิ่มเติม
  • ไดรเวอร์ RadeonSI รองรับการเรนเดอร์แบบมัลติเธรดผ่าน OpenGL เป็นค่าเริ่มต้น
  • เปิดตัว Mesa-DB ซึ่งเป็นแคชเชเดอร์รูปแบบใหม่ที่เก็บข้อมูลไว้ในไฟล์เดียว
  • เพิ่มการรองรับส่วนขยาย OpenGL:
    • GL_ARB_shader_clock สำหรับ llvmpipe
    • GL_KHR_blend_equation_advanced_coherent สำหรับ zink
    • GL_NV_shader_atomic_float สำหรับ llvmpipe
  • เพิ่มการรองรับส่วนขยาย Vulkan:
    • VK_KHR_shader_clock สำหรับ lavapipe
    • VK_EXT_attachment_feedback_loop_layout สำหรับ RADV, lavapipe
    • VK_KHR_global_priority สำหรับ RADV
    • VK_EXT_load_store_op_none สำหรับ RADV
    • VK_EXT_mutable_descriptor_type สำหรับ RADV
    • VK_EXT_shader_atomic_float สำหรับ lvp
    • VK_EXT_shader_atomic_float2 สำหรับ lvp
    • VK_EXT_image_robustness สำหรับ v3dv
    • VK_EXT_extend_dynamic_state3 สำหรับ lavapipe, RADV และ ANV
    • VK_EXT_extend_dynamic_state2 สำหรับ RADV
    • VK_EXT_pipeline_robustness สำหรับ v3dv
    • VK_EXT_mesh_shader สำหรับ ANV

ที่มา: opennet.ru

เพิ่มความคิดเห็น