Π’Π΅ΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π° Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΡ Π·Π° ΠΏΡΠ²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Wine 8.0, ΠΎΡΠ²ΠΎΡΠ΅Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° WinAPI. ΠΠ°Π·Π°ΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Π΅ ΡΡΠ°Π²Π΅Π½Π° Π²ΠΎ ΡΠ°Π·Π° Π½Π° Π·Π°ΠΌΡΠ·Π½ΡΠ²Π°ΡΠ΅ ΠΏΡΠ΅Π΄ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ, ΡΡΠΎ ΡΠ΅ ΠΎΡΠ΅ΠΊΡΠ²Π° Π²ΠΎ ΡΡΠ΅Π΄ΠΈΠ½Π°ΡΠ° Π½Π° ΡΠ°Π½ΡΠ°ΡΠΈ. ΠΠ΄ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Wine 7.22, Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ 52 ΠΈΠ·Π²Π΅ΡΡΠ°ΠΈ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ΅ 538 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.
ΠΠ°ΡΠ²Π°ΠΆΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ:
- ΠΠ°ΠΊΠ΅ΡΠΎΡ vkd3d ΡΠΎ Direct3D 12 ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ΅ΠΊΡ Π΅ΠΌΠΈΡΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ²ΠΈΡΠΈ Π΄ΠΎ Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ API Π½Π° Vulkan Π΅ Π°ΠΆΡΡΠΈΡΠ°Π½ Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° 1.6.
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² (thunk) Π΄Π»Ρ Vulkan ΠΈ OpenGL.
- Π WinPrint ΡΠ°ΡΡΠΈΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΠΏΠ΅ΡΠ°ΡΡ (Print processor).
- Π£Π»ΡΡΡΠ΅Π½Π° ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΆΠΎΠΉΡΡΠΈΠΊΠΎΠΌ.
- ΠΠ°Π²Π΅ΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΈΠΏΠ° β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