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

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

Mesa 24.3 รองรับ Vulkan 1.3 กราฟิก API ใน anv สำหรับ Intel GPU, radv สำหรับ AMD GPU, NVK สำหรับ NVIDIA GPU, tu สำหรับ Qualcomm GPU, ซอฟต์แวร์ lavapipe rasterizer (lvp), โหมดจำลอง (vn) และ v3dv (GPU Broadcom VideoCore สำหรับ Raspberry Pi 4+) การสนับสนุน Vulkan 1.0 ถูกนำมาใช้ในไดรเวอร์ dzn (การใช้งาน Vulkan ที่ด้านบนของ Direct3D 12) และ panvk (ARM Mali GPU)

Mesa ยังให้การสนับสนุน OpenGL 4.6 เต็มรูปแบบสำหรับ iris (Intel Gen 8+ GPUs), radeonsi (AMD), Crocus (GPU Intel Gen4-Gen7 รุ่นเก่า), zink, llvmpipe, virgl (Virgil3D virtual GPU สำหรับ QEMU/KVM), ไดรเวอร์ freedreno ( Qualcomm Adreno), d3d12 (เลเยอร์สำหรับการจัดระเบียบ OpenGL ทำงานบน DirectX 12) และ asahi (AGX GPU ที่ใช้ในชิป Apple M1 และ M2) รองรับ OpenGL 4.5 สำหรับ GPU AMD (r600) และ NVIDIA (nvc0) รองรับ OpenGL 3.3 ในไดรเวอร์ softpipe (software rasterizer) และ nv50 (NVIDIA NV50)

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

  • ไดรเวอร์ v3dv ให้การสนับสนุนอย่างเต็มที่สำหรับกราฟิก API Vulkan 1.3 สำหรับ GPU VideoCore ที่ใช้กับบอร์ด Raspberry Pi 4 และ Raspberry Pi 5
  • มีการเพิ่มไดรเวอร์ Vulkan ใหม่ gfxstream-vk ซึ่งสามารถใช้เพื่อจำลอง Vulkan API และเข้าถึง API กราฟิกนี้จากระบบแขกที่ใช้ Linux, Android และ Fuchsia Google ใช้ไดรเวอร์นี้ในโปรแกรมจำลอง Android, โปรแกรมจำลอง Fuchsia, บริการคลาวด์ของ Android และ Android Automotive OS (AAOS)
  • เพิ่มการรองรับส่วนขยาย Vulkan VK_PRESENT_MODE_FIFO_KHR ให้กับอินเทอร์เฟซการรวมของ API แบบกราฟิก Vulkan พร้อมระบบหน้าต่าง (WSI, Windowing System Integration) เพื่อใช้ในสภาพแวดล้อมที่ใช้ Wayland ของโปรโตคอล FIFO ซึ่งช่วยให้เอาต์พุตใช้รอการเสร็จสิ้นได้ ของการสแกนแนวตั้ง (vblank) แทนการใช้การโทรกลับในแต่ละเฟรมที่พร้อมแสดงเฟรมใหม่ ซึ่งแก้ปัญหาโหลด GPU สูงเมื่อใช้ VSync
  • บนระบบที่มี Intel GPU ที่ใช้สถาปัตยกรรม Xe2 การบีบอัดความลึกบัฟเฟอร์ (z-buffer) จะถูกเปิดใช้งานตามค่าเริ่มต้น
  • ไดรเวอร์ iris OpenGL และไดรเวอร์ ANV Vulkan ได้เพิ่มการรองรับเบื้องต้นสำหรับ Intel GPU ตามสถาปัตยกรรม Xe3 ที่พบในโปรเซสเซอร์ Panther Lake
  • เพิ่มการรองรับส่วนขยาย Vulkan ให้กับไดรเวอร์ NVK (NVIDIA) แล้ว:
    • VK_EXT_descriptor_buffer
    • VK_EXT_post_deep_coverage
    • VK_EXT_legacy_vertex_attributes
    • VK_KHR_การบำรุงรักษา7
    • VK_KHR_dynamic_rendering_local_read
    • VK_NV_compute_shader_derivatives
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_float_controls2
    • VK_EXT_host_image_copy (สำหรับ GPU ทัวริง +)
    • VK_KHR_shader_quad_control
    • VK_KHR_fragment_shading_rate
    • VK_EXT_deep_clamp_zero_one
    • VK_EXT_device_generated_commands
  • เพิ่มการรองรับส่วนขยาย Vulkan ให้กับไดรเวอร์ RADV (AMD):
    • VK_KHR_video_maintenance1
    • VK_KHR_pipeline_binary
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_float_controls2
    • VK_EXT_device_generated_commands
    • VK_KHR_shader_relaxed_extend_instruction
  • เพิ่มการรองรับส่วนขยาย Vulkan ให้กับไดรเวอร์ ANV (Intel)
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_relaxed_extend_instruction
    • VK_EXT_deep_clamp_control
  • ไดรเวอร์ hasvk (Intel Ivy Bridge, Haswell และ Broadwell) ได้เพิ่มการรองรับสำหรับส่วนขยาย Vulkan:
    • VK_EXT_deep_clamp_control
    • VK_KHR_shader_relaxed_extend_instruction
  • เพิ่มการสนับสนุนส่วนขยาย Vulkan VK_KHR_shader_relaxed_extend_instruction ให้กับไดรเวอร์ hk, tu, v3dv และ lvp แล้ว
  • เพิ่มการรองรับส่วนขยาย OpenGL ใหม่:
    • GL_KHR_shader_subgroup ในไดรเวอร์ radeonsi
    • GL_OVR_multiview ในไดรเวอร์ zink
    • GL_OVR_multiview2 ในไดรเวอร์ zink
    • GL_ARB_draw_indirect ไปยังไดรเวอร์ etnaviv/HALTI5+
    • GL_EXT_draw_buffers2 ในไดรเวอร์ etnaviv/HALTI5+
    • GL_ARB_draw_buffers_blend ในไดรเวอร์ etnaviv/HALTI5+
    • GL_ARB_framebuffer_no_attachments ในไดรเวอร์ etnaviv
    • GL_ARB_timer_query ในไดรเวอร์ Panfrost
    • GL_EXT_disjoint_timer_query ในไดรเวอร์ Panfrost

ที่มา: opennet.ru

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