Π‘Π»Π΅Π΄ Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΏΡΠΎΠ΅ΠΊΡΡΡ Wine ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° vkd3d 1.3 Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° 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, ΠΈΠ·Π³Π»Π΅Π΄ Π½Π° Π½Π΅ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½ Π΄ΠΎΡΡΡΠΏ).
Π‘ΡΠ΅Π΄ Π½Π°ΠΉ-Π·Π½Π°ΡΠΈΠΌΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π²ΡΠ² Vkd3d 1.3 ΡΠ°:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ Π² HLSL (High-Level Shader Language), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π°, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ DirectX 9.0.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ°ΡΠΈΠ²ΠΈ ΠΎΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ, Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π² ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° 5.1 ΡΠ΅ΠΉΠ΄ΡΡ.
- ΠΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠ»Π°Π²Π°ΡΠ° Π·Π°ΠΏΠ΅ΡΠ°Ρ Ρ Π΄Π²ΠΎΠΉΠ½Π° ΡΠΎΡΠ½ΠΎΡΡ Π² ΡΠ΅ΠΉΠ΄ΡΡΠΈ, Π½Π΅ΠΏΡΡΠΊΠΎ Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π·Π° ΡΠ΅ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ΅ΠΉΠ΄ΡΡΠΈ, Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΠΎΡ ΡΠ΅ΠΉΠ΄ΡΡΠΈ, "ΠΏΡΠ΅ΡΠΈΠ·Π΅Π½" ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ ΠΈ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ Π±Π°ΡΠΈΠ΅ΡΠΈ ΠΏΡΠ΅Π΄ ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°.
- ΠΡΠ²Π΅Π΄Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π·Π³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ Π½Π° Direct3D ΡΠ΅ΠΉΠ΄ΡΡΠΈ ΠΎΡ Π±Π°ΠΉΡΠΊΠΎΠ΄ Π² Π°ΡΠ΅ΠΌΠ±Π»ΠΈΡΠ°Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡ ΡΠΎΡΠΌΠ°Ρ Π½Π° Π±Π°ΠΉΡ ΠΊΠΎΠ΄ Direct3D, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ Direct3D 1, 2 ΠΈ 3.
- libvkd3d Π΄ΠΎΠ±Π°Π²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Direct3D 12, ΠΊΠ°ΡΠΎ ΠΊΠΎΡΠ΅Π½Π½ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ, Π±ΡΠΎΡΡΠΈ Π½Π° ΠΈΠ·Π³Π»Π΅Π΄ΠΈ ΠΈΠ·Π²ΡΠ½ ΡΠ΅Π΄Π°, Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ ΠΈ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡΡΡΠ° mirror_once. ΠΠΎΠ±Π°Π²Π΅Π½Π° ΡΡΡΡΠΊΡΡΡΠ° vkd3d_host_time_domain_info.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru