ΠΠ°ΠΏΠΎΡΠ½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΡΠ²ΠΈΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π·Π° Π²Π΅ΡΡΠΈΡ 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.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈΠΌ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ΡΠΎ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Wine Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° vkd3d 1.6 Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° 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, ΠΈΠ·Π³Π»Π΅Π΄ Π½Π° Π½Π΅ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½ Π΄ΠΎΡΡΡΠΏ).
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ Π² HLSL (High-Level Shader Language), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ DirectX 9.0. Π‘Π²ΡΡΠ·Π°Π½ΠΈΡΠ΅ Ρ HLSL ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ²Π°Ρ:
- ΠΡΠ²Π΅Π΄Π΅Π½Π° Π΅ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅ΠΉΠ΄ΡΡΠΈ.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΡΠΈΡΠ²ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΡΠ°Π²Π½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ ΠΊΠ°ΡΠΎ ΡΡΡΡΠΊΡΡΡΠΈ ΠΈ ΠΌΠ°ΡΠΈΠ²ΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡΡΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π΄ΠΎΡΡΡΠΏ ΠΈΠ·Π²ΡΠ½ ΡΠ΅Π΄Π° (UAV).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ asuint(), length(), normalize().
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ Ρ ΠΏΠ»Π°Π²Π°ΡΠ° Π·Π°ΠΏΠ΅ΡΠ°Ρ.
- ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΎ Π΅ ΡΠ»Π°Π³ΡΡ VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π°ΡΠΎΠΌΠ°ΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΡ Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ Π·Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π½Π΅ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½ Π΄ΠΎΡΡΡΠΏ (UAV).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru