
پروژه گرافیکی متنباز Mesa یک لایه مشترک ولکان (Common Vulkan Layer) را در زمان اجرای ولکان خود (Mesa Vulkan Runtime) ادغام کرده است. این زیرساخت تازه در شاخه توسعه Mesa 27.0-devel قرار گرفته و هدف آن یکپارچهسازی راهکارهای موقت (Workarounds) مشترک برای باگهای بازیها، موتورهای بازی و برنامههایی است که چند درایور مختلف را تحت تأثیر قرار میدهند.
چرا این لایه مشترک اهمیت دارد؟
پیشتر درایورهای ولکان RADV رادئون و NVK انویدیا هر کدام از یک لایه ولکان (Vulkan Layer) استفاده میکردند تا برخی باگهای برنامهها را مستقیماً از نقاط ورودی ولکان (Vulkan Entrypoints) دور بزنند. اکنون Mesa راهکار مشترکی ارائه کرده است که درایورها میتوانند بهصورت اختیاری از آن استفاده کنند؛ بهویژه زمانی که مشکل مورد نظر مخصوص یک درایور خاص نیست.
نخستین کاربرد: رفع مشکل بازی Metro Exodus
این زیرساخت تازه برای معرفی یک راهکار موقت جدید در بازی Metro Exodus نیز به کار رفته است. مشکل از آنجا ناشی میشود که بازی گاهی مقدار NULL را به pWaitSemaphores ارسال میکند؛ رفتاری که بر اساس مشخصات API ولکان (Vulkan API Specification) غیرمجاز است. راهکار موقت در این لایه مشترک اکنون آن رفتار غیرمجاز را مدیریت میکند تا درایورهای ولکان Mesa بتوانند بهدرستی عمل کنند. این باگ نخستین بار در سال ۲۰۲۳ گزارش شده بود.
درایورهای فعلی و آینده
- RADV و NVK نخستین استفادهکنندگان این لایه مشترک هستند.
- با گذشت زمان، دیگر درایورهای ولکان Mesa نیز میتوانند به این زیرساخت بپیوندند.
- این کار توسط ساموئل پیتویسه (Samuel Pitoiset) از Valve انجام شده و جزئیات بیشتر از طریق درخواست ادغام (Merge) آن در دسترس است.