Açıq Win32 API reastivmasiyasında eksperimental Wine 11.10 buraxıldı. 11.9 versiyasından etibarən 17 xəta hesabatı bağlanıb və 248 dəyişiklik edilib.
Ən mühüm dəyişikliklər:
- Birbaşa Direct3D 12 reastivmasiyası ilə Vkd3d paketinin 2.0 versiyasına yüksəldilib.
- XPath dilinin yenidən işlənmiş dəstəyi təklif olunub ki, bu da libxml2 kitabxanasından istifadə edilmədən həyata keçirilib.
- VBScript ilə uyğunluq artırılmışdır.
- ntdll-də ALPC (Advanced Local Procedure Call) API üçün stub funksiyaları əlavə edilmişdir: NtAlpcCreatePort(), NtAlpcConnectPort(), NtAlpcAcceptConnectPort(), NtAlpcSendWaitReceivePort(), NtAlpcDisconnectPort() və NtAlpcImpersonateClientOfPort().
- Bluetooth dəstəyi artırılmışdır, BluetoothLEDeviceStatics::FromBluetoothAddressAsync, IBluetoothLEDevice::get_DeviceId, IBluetoothLEDevice::get_GattServices, IGattDeviceService::get_Uuid və IGattDeviceService::get_AttributeHandle metodları əlavə olunmuşdur.
- d3dx10 və d3dx11 reastivmasiyasında DDS fayllarını yükləmə imkanı əlavə edilib. D3DX10LoadTextureFromTexture() funksiyasına 3D dəri, detallama səviyyəsi olan dəri və MIP səviyyələrinin (MipMap) yaradılması dəstəyi əlavə edilib.
- win32u DLL-də NtUserGetMessagePos() və NtUserSetMessageExtraInfo() funksiyaları həyata keçirilib.
- IrfanView, Kodak EasyShare, Git for Windows, Family Tree Maker 2017, Foxit PhantomPDF Business 10.0, Vocaloid 6, Photolemur 3 ilə bağlı olan xəta hesabatları bağlanmışdır.
TrackChecker. - Star Wars Racer, Star Wars: Knights of the Old Republic, Age of Empires III: The Asian Dynasties oyunları ilə bağlı xəta hesabatları bağlanıb.
Wine layihəsi, Vulkan qrafik API-yə çağırışların tərcüməsi ilə işləyən Direct3D 12 reastivmasiyası olan vkd3d 2.0 paketini də buraxdı. Paketin tərkibində Direct3D 12 reastivmasiyası üçün libvkd3d kitabxanaları, shader modellərinin translyasiyası üçün libvkd3d-shader və Direct3D 12 tətbiqlərini keçirmək üçün funksiyalar təqdim edən libvkd3d-utils daxildir, eləcə də Direct3D 12-yə port olunmuş glxgears daxil olmaqla nümayiş nümunələri təqdim olunur. Layihənin kodu LGPLv2.1 lisenziyası altında yayımlanır.
libvkd3d kitabxanası Direct3D 12-nin çox hissəsini, qrafika və hesablama vasitələrini, sıraları və komanda siyahılarını, deskriptorlar və saxlama deskriptorlarını, kök imzaları, qeyri-müəyyən giriş imkanı, nümunəçilər, komanda imzaları, kök konstantları, qeyri-düzgün (indirect) renderləmə, Clear*() və Copy*() metodlarını dəstəkləyir. libvkd3d-shader-da shader modellərinin byte kodunun SPIR-V arası təqdimata çevrilməsi həyata keçirilmişdir. Piksel, vertex, tessellation, hesablama və sadə geometriya shaderləri, kök imzasının serializasiyası və deserializasiyası dəstəklənir. Shader təlimatlarından riyazi, atomar və bit əməliyyatları, müqayisə və axın idarəetmə əmrləri, sample, gather və load təlimatları, qeyri-müəyyən giriş imkanı (UAV, Unordered Access View) əməliyyatları həyata keçirilmişdir.
Yeni vkd3d versiyasında:
- HLSL şaders dilində 2-3 şader modeli üçün dövr dəstəyi əlavə edilmişdir, axın qrupları üçün strukturlu paylaşılmış yaddaşa yazma imkanı verilmişdir, tex3Dbias(), tex3Dlod() və texCUBElod() funksiyaları həyata keçirilmişdir, SV_ClipDistance, SV_CullDistance və SV_StencilRef semantikasının girişi və çıxışı işləmə dəstəklənmişdir.
- HLSL şader kompilyatorunda təkrarlanan hesablamaların avtomatik silinməsi, x % y kimi ifadələrin əvvəlcədən məlum dəyərlərlə kompilasiya mərhələsində hesablanması, zaman registrlərinin bölgüsünün yaxşılaşdırılması həyata keçirilmişdir. HLSL spesifikasiyasının tələblərinə uyğun olaraq, 'for' dövründə dəyişənlərin görünüşü genişləndirilmişdir (dəyişən dövrün bitməsindən sonra da əlçatan qalır). Hissə ədədlərinin emalında dilin bölgüsü dayandırılmışdır (ayrıcı işarə olaraq həmişə nöqtə istifadə olunur).
- Köhnə Direct3D şaderlərinin ikili formatına dəstək yaxşılaşdırılmışdır. m4x4, m3x4, m4x3, m3x3, m3x2, phase, texdepth əmrləri həyata keçirilmişdir.
texreg2ar, texreg2gb, texreg2rgb. texcrd və texld əmrləri ilə istifadə oluna bilən '_dz', '_db', '_dw' və '_da' modifikatorları dəstəklənmişdir. Piksel şaderləri ilə işləmək üçün 'vFace' və 'vPos' registrlərinə dəstək əlavə edilmişdir. - DXIL (Direct3D Intermediate Language) kodunda, yüklemə, saxlama, atomik dəyişmə və müqayisə əməliyyatlarında daha sonra elan olunmuş məlumatlara göstəricilərin istifadə edilməsinə imkan yaradılmışdır.
- Direct3D şaderlərinin assambleyasında 16-bitlik daxili sabitlərin dəstəyi və '64UAVs' bayraqları əlavə edilmişdir.
'ROVs' qeyd edilmişdir.
'UAVLoadAdditionalFormats' qeyd edilmişdir.
'UAVsAtEveryStage' qeyd edilmişdir.
'allResourcesBound' qeyd edilmişdir.
'enable11_1ShaderExtensions' qeyd edilmişdir.
'int64Ops' qeyd edilmişdir.
'nativeLowPrecision' qeyd edilmişdir.
'stencilRef' qeyd edilmişdir.
'viewportAndRTArrayIndex' və
'waveOps' qeyd edilmişdir. - Şaderlərin kompilasiyası üçün variantlar həyata keçirilmişdir: VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F16, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F32, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F64 və VKD3D_SHADER_COMPILE_OPTION_CONST_GLOBAL_UNIFORM.
Mənbə: opennet.ru
