הוצגה המהדורה של היישום החינמי של ממשקי API של OpenGL ו-Vulkan - Mesa 21.0.0. לגרסה הראשונה של ענף Mesa 21.0.0 יש סטטוס ניסיוני - לאחר התייצבות סופית של הקוד, תשוחרר גרסה יציבה 21.0.1. Mesa 21.0 כולל תמיכה מלאה ב-OpenGL 4.6 עבור מנהלי ההתקן של 965, איריס (Intel), radeonsi (AMD), zink ו-llvmpipe. תמיכה ב-OpenGL 4.5 זמינה עבור GPUs של AMD (r600) ו-NVIDIA (nvc0), ותמיכה ב-OpenGL 4.3 עבור virgl (GPU וירטואלי Virgil3D עבור QEMU/KVM). תמיכת Vulkan 1.2 מיושמת עבור כרטיסי אינטל ו-AMD, ו-Vulkan 1.0 עבור VideoCore VI (Raspberry Pi 4).
חידושים עיקריים:
- מנהל ההתקן של Zink (יישום של OpenGL API על גבי Vulkan) מספק תמיכה ב-OpenGL 4.6. Zink מאפשר לך לקבל OpenGL מואץ בחומרה אם למערכת יש מנהלי התקנים מוגבלים לתמיכה ב-Vulkan API בלבד. הביצועים של Zink קרובים לאלו של יישומי OpenGL מקוריים.
- מנהל ההתקן llvmpipe, המיועד לעיבוד תוכנה, תומך ב-OpenGL 4.6.
- מנהל ההתקן של Freedreno, המשמש עבור תת-המערכת הגרפית של שבבי קוואלקום, תומך ב-OpenGL ES 6 עבור ה-Adreno a3.0xx GPU.
- מנהל ההתקן של Panfrost עבור Midgard (Mali-T7xx, Mali-T8xx) ו-Bifrost GPUs (Mali G3x, G5x, G7x) תומך ב-OpenGL 3.1, כמו גם בתמיכה ב-OpenGL ES 3.0 ב-Bifrost GPU.
- מנהל ההתקן של 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 (Sample Adaptive Offset, עבור GPUs עם תמיכה במנועי VCN2, VCN2.5 ו- VCN3) ומפענחי AV1 (עבור RDNA 2/RX 6000 ורק דרך ממשק OpenMAX).
- מנהל ההתקן של RADV Vulkan (עבור כרטיסי AMD) הוסיף תמיכה בטכנולוגיית Rapid packed Math (16-bit vectorization) ו-Sparse memory (מאפשר למקם משאבים כגון תמונות ומרקמים באופן לא עקבי ולצרף מחדש לפעולות הקצאת זיכרון שונות). אופטימיזציה של ביצועים עבור כרטיסים מסדרת RX 6000 בוצעה VK_VALVE_mutable_descriptor_type ונוספו הרחבות VK_KHR_fragment_shading_rate (RDNA2 בלבד).
- מנהלי התקנים של Intel ANV ו-Iris מוסיפים אופטימיזציות של ביצועים ומציעים תמיכה ראשונית עבור הרחבות מעקב אחר קרני Vulkan המיושמות בכרטיסי מסך Xe HPG.
- נוספה תמיכה בהרחבה EGL_MESA_platform_xcb, המאפשרת ליישומים ליצור משאבי EGL ממשאבי X11 מבלי לגשת ל-Xlib.
- מנהל ההתקן Vulkan V3DV, שפותח עבור המאיץ הגרפי VideoCore VI המשמש בלוחות Raspberry Pi 4 המבוססים על שבב Broadcom BCM2711, הוסיף תמיכה עבור Wayland WSI (שילוב מערכת חלונות), המאפשר גישה ל-Vulkan API מסביבות מבוססות Wayland.
- היישום הראשוני של שכבה המתרגמת קריאות OpenGL ל-DirectX 12 API אומץ כדי לארגן את פעולתן של יישומי גרפיקה בסביבת WSL (Windows תת-מערכת עבור Linuxבנוסף, ספריית spirv_to_dxil כלולה להמרת ייצוג ביניים של שיידרים של SPIR-V ל-DXIL (שפת ביניים של DirectX), שפותחה על ידי מיקרוסופט.
- תמיכה מחודשת ושיפור משמעותית עבור Haiku OS.
- ההגדרות 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 מבוססת על שיירי Gallium), המאפשרת רינדור לא למסך, אלא למאגר בזיכרון.
מקור: OpenNet.ru
