OpenGL နှင့် Vulkan ၏ အခမဲ့အကောင်အထည်ဖော်မှု Mesa 21.1 ကို ဖြန့်ချိသည်။

OpenGL နှင့် Vulkan API - Mesa 21.1.0 - ၏ အခမဲ့ အကောင်အထည်ဖော်မှု ထုတ်ဝေမှုကို တင်ပြလိုက်ပါသည်။ Mesa 21.1.0 ဌာနခွဲ၏ ပထမဆုံးထုတ်ဝေမှုတွင် စမ်းသပ်ဆဲအခြေအနေတစ်ခုရှိသည် - ကုဒ်၏နောက်ဆုံးတည်ငြိမ်မှုပြီးနောက်၊ တည်ငြိမ်သောဗားရှင်း 21.1.1 ကို ထွက်ရှိလာမည်ဖြစ်သည်။ Mesa 21.1 တွင် 4.6 အတွက် OpenGL 965 အတွက် အပြည့်အဝ ပံ့ပိုးမှု ပါဝင်သည်။ OpenGL 4.5 ပံ့ပိုးမှုအား AMD (r600) နှင့် NVIDIA (nvc0) GPU များအတွက် နှင့် virgl (QEMU/KVM အတွက် Virgil4.3D virtual GPU အတွက် OpenGL 3 ပံ့ပိုးမှု) ကို ရရှိနိုင်ပါသည်။ Vulkan 1.2 ပံ့ပိုးမှုကို Intel နှင့် AMD ကတ်များ၊ Qualcomm GPUs အတွက် Vulkan 1.1 နှင့် lavapipe ဆော့ဖ်ဝဲ rasterizer နှင့် Broadcom VideoCore VI GPUs (Raspberry Pi 1.0) အတွက် Vulkan 4 ကို အကောင်အထည်ဖော်သည်။

အဓိက တီထွင်ဆန်းသစ်မှုများ-

  • VK_KHR_workgroup_memory_explicit_layout နှင့် VK_KHR_zero_initialize_workgroup_memory extensions များကို Vulkan drivers RADV (AMD) နှင့် ANV (Intel) တွင် ထည့်သွင်းထားပါသည်။
  • DRM ဖော်မတ်မွမ်းမံမှုများအတွက် ပံ့ပိုးမှုကို RADV ဒရိုက်ဘာ (AMD GFX9 ကတ်များအတွက်) (VK_EXT_image_drm_format_modifier တိုးချဲ့မှုအား ဖွင့်ထားသည်)။
  • RADV ဒရိုက်ဘာတွင် မည်သည့် depth buffers နှင့်မဆို အသုံးပြုရန်အတွက် VRS (Variable Rate Shading) ပံ့ပိုးမှုပါရှိသည်။ VRS သည် အရည်အသွေး ကုန်ကျစရိတ်ဖြင့် ကုန်ထုတ်စွမ်းအားကို တိုးတက်စေသည်။
  • AMD Aldebaran GPU (gfx90a) အတွက် ထပ်လောင်းပံ့ပိုးမှု။
  • Vulkan API ကိုအခြေခံ၍ virtual GPU အကောင်အထည်ဖော်မှု (virtio-gpu) ဖြင့် Venus Driver အသစ်ကို ပေါင်းထည့်ခဲ့သည်။
  • Zink ဒရိုက်ဘာ (Vulkan ထိပ်ရှိ OpenGL API ကို အကောင်အထည်ဖော်ခြင်း) တွင် OpenGL 4.6 နှင့် OpenGL ES 3.1 အတွက် ပံ့ပိုးမှု ပါဝင်သည်။ စနစ်တွင် Vulkan API ကိုသာ ပံ့ပိုးပေးသည့် ဒရိုင်ဘာများ ကန့်သတ်ထားပါက Zink သည် သင့်အား ဟာ့ဒ်ဝဲလ်အရှိန်မြှင့် OpenGL ကို ရရှိစေပါသည်။ Zink ၏စွမ်းဆောင်ရည်သည် မူရင်း OpenGL အကောင်အထည်ဖော်မှုများနှင့် နီးစပ်ပါသည်။
  • Vulkan API အတွက် ဆော့ဖ်ဝဲလ် rasterizer ကို အကောင်အထည်ဖော်ခြင်းဖြင့် lavapipe ဒရိုက်ဘာသည် Vulkan 1.1 အတွက် ပံ့ပိုးမှုထပ်ဖြည့်ထားပြီး Vulkan extension VK_KHR_copy_commands2 ကို အကောင်အထည်ဖော်ခဲ့သည်။ lavapipe ရှိ ဆော့ဖ်ဝဲလ်အကောင်အထည်ဖော်မှုသည် Gallium API သို့ Vulkan API ခေါ်ဆိုမှုများကို ထင်ဟပ်စေခြင်းအပေါ် အခြေခံထားသည်။
  • ဖိုင်တစ်ခုတွင် shader ကက်ရှ်များကို သိမ်းဆည်းရန်အတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။
  • Virgl (Virtual GPU Virgil3D for QEMU/KVM) နှင့် Lima (ARM Mali GPU) ဒရိုက်ဘာများသည် disk ပေါ်တွင် caching shaders များအတွက် ပံ့ပိုးပေးပါသည်။
  • DirectX 3 API (D12D12) ၏ထိပ်တွင် OpenGL အလုပ်စီစဉ်ရန်အတွက် အလွှာပါရှိသော Gallium driver D3D12 သည် D3.3D3 drivers WARP (software rasterizer) နှင့် NVIDIA ၏ထိပ်တွင်အလုပ်လုပ်သောအခါ OpenGL 12 နှင့် လိုက်ဖက်မှုရှိသည်ကိုသေချာစေသည်။ Driver ကို Windows တွင် Linux graphical applications များလည်ပတ်ရန် WSL2 အလွှာတွင်အသုံးပြုသည်။
  • OpenGL extensions အသစ်များကို ထည့်သွင်းထားသည်-
    • softpipe နှင့် zink drivers များအတွက် GL_EXT_depth_bounds_test
    • nvc0 ဒရိုက်ဘာအတွက် GL_EXT_texture_filter_minmax (gm200+)
    • nvc0 ဒရိုက်ဘာအတွက် GL_ARB_texture_filter_minmax (gm200+)
    • Zink ဒရိုက်ဘာအတွက် GL_ARB_post_depth_လွှမ်းခြုံမှု။

source: opennet.ru

မှတ်ချက် Add