Wine ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° Vkd3d 1.7 с изпълнСниС Π½Π° Direct3D 12

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Wine ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° vkd3d 1.7 с внСдряванС Π½Π° 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 (Π•Π·ΠΈΠΊ Π·Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ Π½Π° високо Π½ΠΈΠ²ΠΎ):
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° пСрсонализирани Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° масиви ΠΊΠ°Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ към пСрсонализирани Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ SV_DispatchThreadID, SV_GroupID ΠΈ SV_GroupThreadID.
    • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt (), ΡΡ‚ΡŠΠΏΠΊΠ°(), транспониранС().
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ с ΠΏΠ»Π°Π²Π°Ρ‰Π° запСтая с ниска точност, ΠΊΠ°Ρ‚ΠΎ "min16float".
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Direct3D 1/2/3 ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ ΠΌΠΎΠ΄Π΅Π».
  • Π”ΠΎΠ±Π°Π²Π΅Π½ ΠΏΡƒΠ±Π»ΠΈΡ‡Π΅Π½ API Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ (vkd3d_shader_parse_dxbc) ΠΈ сСриализиранС (vkd3d_shader_serialize_dxbc) Π½Π° DXBC Π΄Π²ΠΎΠΈΡ‡Π½ΠΈ Π΄Π°Π½Π½ΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€