ΠΠ°ΠΏΠΎΡΠ½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΡΠ²ΠΈΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π·Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅ Wine 9.0, ΠΎΡΠ²ΠΎΡΠ΅Π½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° WinAPI. ΠΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π° Π΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½Π° Π½Π° Π΅ΡΠ°ΠΏ Π·Π°ΠΌΡΠ°Π·ΡΠ²Π°Π½Π΅ ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π° ΠΏΡΠ΅Π· Π²ΡΠΎΡΠ°ΡΠ° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π½Π° ΡΠ½ΡΠ°ΡΠΈ. Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π²Π΅ΡΡΠΈΡ Wine 8.21, 52 ΠΎΡΡΠ΅ΡΠ° Π·Π° Π³ΡΠ΅ΡΠΊΠΈ ΡΠ° Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΈ 391 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
- ΠΡΡΡΠΎΠ΅Π½ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ vkd3d Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Direct3D 12, ΡΠ°Π±ΠΎΡΠ΅Ρ ΡΡΠ΅Π· ΡΡΠ°Π½ΡΠ»Π°ΡΠΈΡ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π² Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ API Vulkan, Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 1.10.
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ°, Π½Π°ΡΠΎΡΠ΅Π½Π° ΠΊΡΠΌ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Wine Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΡΡΠ΅Π΄ΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland, Π±Π΅Π· ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° XWayland ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ X11. Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° winewayland.drv Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ½ΠΈ ΠΏΠΎΠ΄ΡΠ΅Π΄Π±ΠΈ. Π Π°Π·ΡΠΈΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ API Vulkan ΠΈ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ vkQueuePresentKHR, vkGetDeviceGroupSurfacePresentModesKHR, vkGetPhysicalDevicePresentRectanglesKHR. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΡΠ½ΠΊΡΠΈΡ ClipCursor ΠΈ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈ ΠΏΡΠΈ ΡΠ»Π΅Π΄Π΅Π½Π΅ Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠΈΡΠΊΠ°ΡΠ°.
- Π‘ Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΡ Π½Π° GnuTLS Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ DH (Diffie-Hellman).
- ΠΠ°ΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ° ΠΎΡΡΠ΅ΡΠΈΡΠ΅ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: Notepad, MS Word, Roon, eFilm Workstation 2.x/3.x, Athenaβs Charm Table Search 0.35b, Process Explorer, Araxis Merge 2023.5877, Framemaker 8, Internet Download Manager, Air Jura, SpeedCommander, ModOrganizer, RestoreDC, Acid-V VST plugin, MIDITrail 1.4.0.
- ΠΠ°ΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ° ΠΎΡΡΠ΅ΡΠΈΡΠ΅ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΈΠ³ΡΠΈ: For Honor, STEEP, Far Cry 5, NFS Most Wanted, Castlevania: Lords of Shadow 2, Eurobattle, Daily Chthonicle, Crimson Skies.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° vkd3d 1.10 Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Direct3D 12, ΡΠ°Π±ΠΎΡΠ΅ΡΠ° ΡΡΠ΅Π· ΡΡΠ°Π½ΡΠ»Π°ΡΠΈΡ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π² Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ API Vulkan. ΠΠ°ΠΊΠ΅ΡΡΡ Π²ΠΊΠ»ΡΡΠ²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ libvkd3d Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Direct3D 12, libvkd3d-shader Ρ ΡΡΠ°Π½ΡΠ»Π°ΡΠΎΡ Π·Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ ΠΎΡ 4 ΠΈ 5 ΠΌΠΎΠ΄Π΅Π» ΠΈ libvkd3d-utils Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Direct3D 12, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΡΡ Π½Π° glxgears Ρ Direct3D 12. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° LGPLv2.1.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libvkd3d ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠ°ΡΡ ΠΎΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Direct3D 12, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° Π³ΡΠ°ΡΠΈΠΊΠ° ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΎΠΏΠ°ΡΠΊΠΈ ΠΈ ΡΠΏΠΈΡΡΡΠΈ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ ΠΈ ΠΊΡΠΏΡΠΈΠ½ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ, ΠΊΠΎΡΠ΅Π½ΠΎΠ²ΠΈ ΡΠΈΠ³Π½Π°ΡΡΡΠΈ, Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ, Sampler-ΠΈ, ΡΠΈΠ³Π½Π°ΡΡΡΠΈ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠΎΡΠ΅Π½ΠΎΠ²ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ, Π½Π΅ΠΏΡΡΠΊΠ° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°, ΠΌΠ΅ΡΠΎΠ΄ΠΈ Clear*() ΠΈ Copy*(). Π libvkd3d-shader Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΡΠ°Π½ΡΠ»Π°ΡΠΈΡ Π½Π° Π±Π°ΠΉΡΠΊΠΎΠ΄ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ 4 ΠΈ 5 Π½Π° ΡΠ΅ΠΉΠ΄Π΅ΡΠΈ Π² ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ SPIR-V. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Π½ΠΈ, ΠΏΠΈΠΊΡΠ΅Π»Π½ΠΈ, ΡΠ΅ΡΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½ΠΈ, ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½ΠΈ ΠΈ ΠΏΡΠΎΡΡΠΈ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ½ΠΈ ΡΠ΅ΠΉΠ΄Π΅ΡΠΈ, ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΊΠΎΡΠ΅Π½ΠΎΠ²Π°ΡΠ° ΡΠΈΠ³Π½Π°ΡΡΡΠ°. ΠΡ ΡΠ΅ΠΉΠ΄Π΅ΡΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ½ΠΈ, Π°ΡΠΎΠΌΠ½ΠΈ ΠΈ Π±ΠΈΡΠΎΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ Π·Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΠΎΠΊΠ° Π΄Π°Π½Π½ΠΈ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ sample, gather ΠΈ load, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ (UAV, Unordered Access View).
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Π½Π° ΡΠ΅ΠΉΠ΄Π΅ΡΠΈ Π½Π° HLSL (High-Level Shader Language), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΠΎΡ DirectX 9.0: Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°ΡΠΈΠ²ΠΈ; Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΈΠ·ΡΠ°Π·ΠΈ Β«breakΒ», Β«continueΒ» ΠΈ Β«switchΒ»; ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΠ° ΠΈΠ·ΡΠ°Π·ΠΈΡΠ΅, Π·Π° ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΡΠ²ΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ; ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ceil(), degrees(), radians(), fwidth(), tan(), tex2Dlod(), tex2Dproj(), texCUBEproj() ΠΈ tex3Dproj().
Π Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libvkd3d ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Direct3D 12 (ID3D12Device5, ID3D12GraphicsCommandList5 ΠΈ ID3D12Resource1) ΠΈ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° (pipeline state object). Π libvkd3d-utils ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° DXBC: D3DGetBlobPart(), D3DGetDebugInfo(), D3DGetInputAndOutputSignatureBlob(), D3DGetInputSignatureBlob(), D3DGetOutputSignatureBlob(), D3DStripShader(). Π ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° vkd3d-compiler ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΠΏΡΠΈΠΈ ββfragment-coordinate-originβ ΠΈ ββsemantic-compat-mapβ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
