ΠΡΠΎΠ΅ΠΊΡ Wine ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π²ΡΠΏΡΡΠΊ ΠΏΠ°ΠΊΠ΅ΡΠ° vkd3d 1.4 Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Direct3D 12, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ API Vulkan. Π ΡΠΎΡΡΠ°Π² ΠΏΠ°ΠΊΠ΅ΡΠ° Π²Ρ ΠΎΠ΄ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ libvkd3d Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ Direct3D 12, libvkd3d-shader c ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠΎΠΌ 4 ΠΈ 5 ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ² ΠΈ libvkd3d-utils Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Direct3D 12, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π±ΠΎΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΡΡ glxgears Π½Π° Direct3D 12. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ LGPLv2.1.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° libvkd3d ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Direct3D 12, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ ΡΠΏΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΠΊΡΡΠΈ, ΠΊΠΎΡΠ½Π΅Π²ΡΠ΅ ΡΠΈΠ³Π½Π°ΡΡΡΡ, Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ, Sampler-Ρ, ΡΠΈΠ³Π½Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠ½Π΅Π²ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Π½Π΅ΠΏΡΡΠΌΡΡ (indirect) ΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ Clear*() ΠΈ Copy*().
Π libvkd3d-shader ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π±Π°ΠΉΡΠΊΠΎΠ΄Π° 4 ΠΈ 5 ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ² Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ SPIR-V. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π²Π΅ΡΡΠΈΠ½Π½ΡΠ΅, ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΡΠ΅, ΡΠ΅ΡΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠ΅, Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠΎΡΡΡΠ΅ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΉΠ΄Π΅ΡΡ, ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠΈΠ³Π½Π°ΡΡΡΡ. ΠΠ· ΡΠ΅ΠΉΠ΄Π΅ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅, Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠ΅ ΠΈ Π±ΠΈΡΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ , ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ sample, gather ΠΈ load, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° (UAV, Unordered Access View).
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ:
- ΠΠ½Π΅ΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ HLSL (High-Level Shader Language), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΌ Π½Π°ΡΠΈΠ½Π°Ρ Ρ DirectX 9.0.
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π½ΠΎΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΡΡΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² (Descriptor Heap), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ°Ρ Vulkan-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ VK_EXT_descriptor_indexing.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½ΠΎΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π³ΡΠ°Π½ΠΈΡ (fence), ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° Vulkan-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ K_KHR_timeline_semaphore.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru