Π‘Π»Π΅Π΄ Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡΡ 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, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π³ΡΠ°ΡΠΈΠΊΠ° ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΎΠΏΠ°ΡΠΊΠΈ ΠΈ ΡΠΏΠΈΡΡΡΠΈ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ ΠΈ ΠΊΡΠΏΡΠΈΠ½ΠΈ, ΠΊΠΎΡΠ΅Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ, Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ, Sampler-ΠΈ, ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡy, ΠΊΠΎΡΠ΅Π½ΠΎΠ²ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ, Π½Π΅ΠΏΡΡΠΊΠ° (indirect) ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³, ΠΌΠ΅ΡΠΎΠ΄ΠΈ Clear*() ΠΈ Copy*().
Π libvkd3d-shader Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΡΠ°Π½ΡΠ»Π°ΡΠΈΡ Π½Π° Π±Π°ΠΉΡΠΊΠΎΠ΄Π° Π½Π° 4-ΡΠ° ΠΈ 5-ΡΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅ΠΉΠ΄Π΅ΡΠΈ Π² ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ SPIR-V. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Π½ΠΈ, ΠΏΠΈΠΊΡΠ΅Π»Π½ΠΈ, ΡΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ, ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½ΠΈ ΠΈ ΠΏΡΠΎΡΡΠΈ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ½ΠΈ ΡΠ΅ΠΉΠ΄Π΅ΡΠΈ, ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΊΠΎΡΠ΅Π½ΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΡ. ΠΡ ΡΠ΅ΠΉΠ΄Π΅ΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ½ΠΈ, Π°ΡΠΎΠΌΠ°ΡΠ½ΠΈ ΠΈ Π±ΠΈΡΠΎΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ Π·Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΠΎΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ sample, gather ΠΈ load, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π½Π΅ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅Π½ Π΄ΠΎΡΡΡΠΏ (UAV, Unordered Access View).
Π‘ΡΠ΅Π΄ Π½Π°ΠΉ-Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² Vkd3d 1.3 ΡΠ΅ ΠΎΡΠΊηͺΠ²Π°Ρ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΎΡΠ΅ΡΠΈΠ½Π³ Π½Π° ΡΠ΅ΠΉΠ΄Π΅ΡΠΈ Π½Π° HLSL (High-Level Shader Language), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΠΎΡ DirectX 9.0 Π½Π°ΡΠ°ΠΌ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ°ΡΠΈΠ²ΠΈ ΠΎΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ, Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π² ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° ΡΠ΅ΠΉΠ΄Π΅ΡΠΈ 5.1.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΠ° Π·Π°ΠΏΠ΅ΡΠ°Ρ Ρ Π΄Π²ΠΎΠΉΠ½Π° ΡΠΎΡΠ½ΠΎΡΡ Π² ΡΠ΅ΠΉΠ΄Π΅ΡΠΈΡΠ΅, Π½Π΅ΠΏΡΡΠΊΠ° Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΡ Π·Π° ΡΠ΅ΡΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ΅ΠΉΠ΄Π΅ΡΠΈ, Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠ°ΡΠ΅ΡΠΈ ΠΎΡ ΡΠ΅ΠΉΠ΄Π΅ΡΠΈ, ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΡΠ΅ΠΉΠ΄Π΅ΡΠΈ βpreciseβ ΠΈ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ Π±Π°ΡΠΈΠ΅ΡΠΈ Π·Π° ΡΠ΅ΡΡΡΡΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π΄ΠΈΠ·Π°ΡΠ΅ΠΌΠ±Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΉΠ΄Π΅ΡΠΈ Direct3D ΠΎΡ Π±Π°ΠΉΡΠΊΠΎΠ΄ Π² Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΠ°ΡΡΠΈΠ½Π³ Π½Π° ΡΡΠ°Ρ ΡΠΎΡΠΌΠ°Ρ Π½Π° Π±Π°ΠΉΡΠΊΠΎΠ΄Π° Direct3D, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΉΠ΄Π΅ΡΠΈ Direct3D 1, 2 ΠΈ 3.
- Π libvkd3d ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° Direct3D 12, ΠΊΠ°ΡΠΎ ΠΊΠΎΡΠ΅Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ, Π±ΡΠΎΡΡΠΈ Π·Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Ρ Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ, Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π·Π° ΠΈΠ·Ρ ΠΎΠ΄, ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΡ Π½Π° ΡΠ΅ΠΊΡΡΡΡΠΈ mirror_once. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΡΡΡΠΊΡΡΡΠ° vkd3d_host_time_domain_info.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
