انتشار Mesa 21.0، اجرای رایگان OpenGL و Vulkan

انتشار اجرای رایگان OpenGL و Vulkan API - Mesa 21.0.0 - ارائه شده است. اولین نسخه از شعبه Mesa 21.0.0 وضعیت آزمایشی دارد - پس از تثبیت نهایی کد، نسخه پایدار 21.0.1 منتشر خواهد شد. Mesa 21.0 شامل پشتیبانی کامل از OpenGL 4.6 برای درایورهای 965، iris (اینتل)، radeonsi (AMD)، zink و llvmpipe است. پشتیبانی از OpenGL 4.5 برای پردازنده‌های گرافیکی AMD (r600) و NVIDIA (nvc0) و پشتیبانی OpenGL 4.3 برای virgl (GPU مجازی Virgil3D برای QEMU/KVM) در دسترس است. پشتیبانی از Vulkan 1.2 برای کارت های Intel و AMD و Vulkan 1.0 برای VideoCore VI (Raspberry Pi 4) اجرا شده است.

نوآوری های اصلی:

  • درایور Zink (اجرای OpenGL API در بالای Vulkan) از OpenGL 4.6 پشتیبانی می‌کند. اگر سیستم دارای درایورهایی باشد که فقط از Vulkan API پشتیبانی می‌کنند، Zink به شما امکان می‌دهد OpenGL را با سرعت سخت‌افزار دریافت کنید. عملکرد Zink نزدیک به اجرای OpenGL بومی است.
  • درایور llvmpipe که برای رندر نرم افزار طراحی شده است، از OpenGL 4.6 پشتیبانی می کند.
  • درایور Freedreno که برای زیرسیستم گرافیکی تراشه های کوالکام استفاده می شود، از OpenGL ES 6 برای پردازنده گرافیکی Adreno a3.0xx پشتیبانی می کند.
  • درایور Panfrost برای پردازنده‌های گرافیکی Midgard (Mali-T7xx، Mali-T8xx) و Bifrost (Mali G3x، G5x، G7x) از OpenGL 3.1 و همچنین پشتیبانی OpenGL ES 3.0 برای پردازنده‌های گرافیکی Bifrost پشتیبانی می‌کند.
  • درایور radeonsi اکنون از افزونه های OpenGL GL_EXT_demote_to_helper_invocation و GL_NV_compute_shader_derivatives پشتیبانی می کند. برای بازی "Counter-Strike: Global Offensive"، حالت بهینه سازی "mesa_glthread" به طور پیش فرض فعال است و به شما امکان می دهد عملکرد را 10-20٪ افزایش دهید. بهینه سازی های پیاده سازی شده که بر گذراندن تست های SPECViewPerf تاثیر می گذارد. پشتیبانی از ابزار پروفایل Radeon GPU Profiler (RGP) اضافه شده است. برای GPU Zen 3 و RDNA 2، پشتیبانی از فناوری Smart Access Memory اضافه شده است. پشتیبانی از رمزگذارهای HEVC SAO (نمونه آفست تطبیقی، برای پردازنده‌های گرافیکی با پشتیبانی از موتورهای VCN2، VCN2.5 و VCN3) و رمزگشاهای AV1 (برای RDNA 2/RX 6000 و فقط از طریق رابط OpenMAX).
  • درایور RADV Vulkan (برای کارت‌های AMD) پشتیبانی از فناوری ریاضی بسته‌بندی سریع (بردار 16 بیتی) و حافظه Sparse را اضافه کرده است (به منابعی مانند تصاویر و بافت‌ها اجازه می‌دهد به طور متناقض قرار داده شوند و دوباره به عملیات تخصیص حافظه مختلف متصل شوند). بهینه‌سازی عملکرد برای کارت‌های سری RX 6000 انجام شده است. پسوندهای VK_VALVE_mutable_descriptor_type و VK_KHR_fragment_shading_rate اضافه شده‌اند (فقط RDNA2).
  • درایورهای Intel ANV و Iris بهینه‌سازی‌های عملکردی را اضافه می‌کنند و پشتیبانی اولیه از برنامه‌های افزودنی Vulkan ray tracing را که در کارت‌های گرافیک Xe HPG پیاده‌سازی شده‌اند، ارائه می‌کنند.
  • پشتیبانی از افزونه EGL_MESA_platform_xcb اضافه شده است که به برنامه‌ها اجازه می‌دهد منابع EGL را از منابع X11 بدون دسترسی به Xlib ایجاد کنند.
  • درایور V3DV Vulkan که برای شتاب دهنده گرافیکی VideoCore VI مورد استفاده در بردهای Raspberry Pi 4 بر اساس تراشه Broadcom BCM2711 توسعه یافته است، پشتیبانی از Wayland WSI (یکپارچه سازی سیستم ویندوز) را اضافه کرده است که امکان دسترسی به API Vulkan را از محیط های مبتنی بر Wayland فراهم می کند.
  • اجرای اولیه لایه ای که فراخوانی های OpenGL را به DirectX 12 API ترجمه می کند برای سازماندهی کار برنامه های گرافیکی در یک محیط WSL (زیر سیستم ویندوز برای لینوکس) اتخاذ شده است. علاوه بر این، کتابخانه spirv_to_dxil برای تبدیل نمایش میانی سایه زن های SPIR-V به DXIL (DirectX Intermediate Language)، توسعه یافته توسط مایکروسافت، گنجانده شده است.
  • پشتیبانی مجدد از سیستم عامل هایکو به طور قابل توجهی بهبود یافته است.
  • تنظیمات glx_disable_oml_sync_control، glx_disable_sgi_video_sync و glx_disable_ext_buffer_age از driconf حذف شده‌اند.
  • پشتیبانی از DRI1 حذف شد و بارگیری درایورهای DRI از نسخه های Mesa قبل از 8.0 متوقف شد.
  • درایور swrast که بر اساس رابط کلاسیک DRI ساخته شده و برای رندر نرم افزار OpenGL در نظر گرفته شده است، حذف شده است (درایورهای رندر نرم افزار باقیمانده llvmpipe و softpipe از نظر عملکرد و عملکرد به طور قابل توجهی از swrast جلوتر هستند). حذف swrast با وجود بسیاری از مشکلات حل نشده و وقوع رگرسیون تسهیل شد، علیرغم اینکه این درایور دیگر در توزیع ها استفاده نمی شود.
  • نسخه کلاسیک قدیمی رابط نرم افزار OSMesa حذف شده است (OSMesa بر اساس گالیوم باقی مانده است)، که امکان رندر را نه روی صفحه، بلکه در بافر درون حافظه فراهم می کند.

    منبع: opennet.ru

اضافه کردن نظر