ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΎΡΠΊΡΡΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Win32 API β Wine 10.2. ΠΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° 10.1 Π±ΡΡ Π° Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΈ 20 ΠΎΡΡΠ΅ΡΠ° Π·Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈ 269 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
- ΠΠ³ΡΠ°Π΄Π΅Π½Π°ΡΠ° ΠΏΠ°ΠΊΠ΅Ρ Vkd3d Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° Direct3D 12 Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 1.15.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΠΎΠΊΠΎΠ²Π΅ΡΠ΅.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° Wow64 (64-Π±ΠΈΡΠΎΠ²Π° Windows-on-Windows), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° 32-Π±ΠΈΡΠΎΠ²ΠΈ Windows ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² 64-Π±ΠΈΡΠΎΠ²ΠΈ Unix ΡΠΈΡΡΠ΅ΠΌΠΈ.
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π·Π° Bluetooth.
- ΠΠ°ΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ° ΠΎΡΡΠ΅ΡΠΈΡΠ΅ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠΎ: Wordpad, cmd.
- ΠΠ°ΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ° ΠΎΡΡΠ΅ΡΠΈΡΠ΅ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΈΠ³ΡΠΈ: Cyberpunk 2077, Final Fantasy XI Online, Guild Wars, MSWT Kart 2004, YOU and ME and HER, Myst, Sekiro: Shadows Die Twice.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° vkd3d 1.15 Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Direct3D 12, ΡΠ°Π±ΠΎΡΠ΅ΡΠ° ΡΡΠ΅Π· ΡΡΠ°Π½ΡΠ»Π°ΡΠΈΡ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π² Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ API Vulkan. ΠΠ°ΠΊΠ΅ΡΡΡ Π²ΠΊΠ»ΡΡΠ²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ libvkd3d Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Direct3D 12, libvkd3d-shader Ρ ΡΡΠ°Π½ΡΠ»Π°ΡΠΎΡ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ Π²Π΅ΡΡΠΈΡ 4 ΠΈ 5, ΠΈ libvkd3d-utils Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Direct3D 12, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΡΡ Π½Π° glxgears Π½Π° Direct3D 12. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ LGPLv2.1.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Π·Π° Π΅Π·ΠΈΠΊΠ° Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ HLSL ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΡΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ΅ΠΉΠ΄ΡΡΠΈ ΠΈ Π΅ ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠ΅Π·Π°Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ. Π libvkd3d Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° vkd3d_queue_signal_on_cpu(). ΠΠ° HLSL ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ GatherCmp(), GatherCmpAlpha(), GatherCmpBlue(), GatherCmpGreen(), GatherCmpRed(), InterlockedAdd(), InterlockedAnd(), InterlockedCompareExchange(), InterlockedCompareStore(), InterlockedExchange(), InterlockedMax(), InterlockedMin(), InterlockedOr(), InterlockedXor() ΠΈ isinf().
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
