آزمایش بر روی اولین نسخه Wine 8.0 که یک پیادهسازی باز WinAPI است، آغاز شده است. پیش از انتشار، که در اواسط ژانویه پیشبینی میشود، کد پایه در مرحله فریز قرار گرفته است. از زمان انتشار Wine 7.22، 52 گزارش باگ بسته شده و 538 تغییر ایجاد شده است.
مهمترین تغییرات:
- بسته vkd3d با اجرای Direct3D 12 از طریق ترجمه تماس به API گرافیکی Vulkan به نسخه 1.6 به روز شده است.
- بهینه سازی مبدل های تماس سیستمی (thunks) برای Vulkan و OpenGL انجام شده است.
- WinPrint پشتیبانی از پردازنده های چاپ را گسترش داده است.
- پانل کنترل جوی استیک بهبود یافته
- کار برای ارائه پشتیبانی از نوع 'long' در کد تابع printf تکمیل شده است.
- گزارش های خطای مربوط به عملکرد بازی ها بسته است: Tom Clancy's Rainbow Six: Vegas 2، The Void، Ragnarok Online، Drakan، Star Wars، Colin McRae، X-COM.
- گزارشهای خطای بسته مربوط به عملکرد برنامهها: TMUnlimiter 1.2.0.0، MDB Viewer Plus، Framemaker 8، Studio One Professional 5.
علاوه بر این، میتوان به انتشار بسته vkd3d 1.6 توسط پروژه Wine با اجرای Direct3D 12 اشاره کرد که از طریق ترجمه تماسها به API گرافیکی Vulkan کار میکند. این بسته شامل کتابخانههای libvkd3d با پیادهسازی Direct3D 12، libvkd3d-shader با مترجم مدلهای سایه زن 4 و 5 و libvkd3d-utils با عملکردهایی برای سادهسازی پورت کردن برنامههای Direct3D 12 و همچنین مجموعهای از نمونههای نمایشی شامل پورت است. از glxgears به Direct3D 12. کد پروژه با مجوز LGPLv2.1 توزیع شده است.
کتابخانه libvkd3d از اکثر ویژگیهای Direct3D 12 پشتیبانی میکند، از جمله امکانات گرافیکی و محاسباتی، صفها و لیستهای دستوری، دستهها و دستههای پشته، امضاهای ریشه، دسترسی خارج از دستور، نمونهها، امضاهای فرمان، ثابتهای ریشه، رندر غیرمستقیم، روشهای پاک کردن *( ) و کپی*(). در libvkd3d-shader، ترجمه بایت کد مدل های سایه زن 4 و 5 به یک نمایش متوسط SPIR-V پیاده سازی شده است. از راس، پیکسل، تسلاسیون، محاسبات و شیدرهای هندسی ساده، سریالسازی امضای ریشه و سریالزدایی پشتیبانی میکند. دستورالعمل های سایه زن شامل عملیات حسابی، اتمی و بیت، مقایسه و عملگرهای کنترل جریان داده، دستورالعمل های نمونه، جمع آوری و بارگذاری، عملیات دسترسی نامرتب (UAV، Unordered Access View) می باشد.
نسخه جدید به بهبود کامپایلر سایه زن در HLSL (زبان سایه زن سطح بالا) ادامه می دهد که با DirectX 9.0 ارائه شده است. بهبودهای مرتبط با HLSL عبارتند از:
- پشتیبانی اولیه برای شیدرهای محاسباتی اجرا شده است.
- پشتیبانی بهبود یافته برای مقداردهی اولیه و اختصاص اشیاء ترکیبی مانند ساختارها و آرایه ها.
- قابلیت بارگیری و ذخیره منابع بافت با استفاده از دسترسی خارج از دستور (UAV) اضافه شده است.
- پشتیبانی از ویژگی های تابع اضافه شده و توابع داخلی پیاده سازی شده asuint(), length(), normalize().
- پشتیبانی از ماژول های ممیز شناور اضافه شده است.
- پرچم VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS را برای نشان دادن عملیات اتمی در توصیفگرهای نمایش دسترسی نامرتب (UAV) پیاده سازی کرد.
منبع: opennet.ru