Лоиҳаи Wine Vkd3d 1.3-ро бо татбиқи Direct3D 12 баровардааст

Пас аз якуним соли рушд, лоиҳаи Wine нашри бастаи vkd3d 1.3-ро бо татбиқи Direct3D 12 нашр кард, ки тавассути пахши зангҳо ба API графикии Vulkan кор мекунад. Маҷмӯа китобхонаҳои libvkd3d бо татбиқи Direct3D 12, libvkd3d-shader бо тарҷумони моделҳои shader 4 ва 5 ва libvkd3d-utils бо функсияҳои содда кардани интиқоли замимаҳои Direct3D 12, инчунин маҷмӯи намунаҳои намоишӣ, аз ҷумла портро дар бар мегирад. аз glxgears ба Direct3D 12. Рамзи лоиҳа дар доираи LGPLv2.1 иҷозатнома дода мешавад.

Китобхонаи libvkd3d аксари хусусиятҳои Direct3D 12-ро дастгирӣ мекунад, аз ҷумла графикҳо ва васоити ҳисоббарорӣ, навбатҳо ва рӯйхати фармонҳо, дастаҳо ва дастаҷамъӣ, имзоҳои решавӣ, дастрасии берун аз тартибот, Намунадиҳандагон, имзоҳои фармон, константаҳои реша, намоиши ғайримустақим, Усулҳои тоза *( ) ва Нусхабардорӣ*().

Дар libvkd3d-shader, тарҷумаи байткоди моделҳои shader 4 ва 5 ба муаррифии фосилавии SPIR-V амалӣ карда мешавад. Шадерҳои вертекс, пиксел, tessellation, ҳисоббарорӣ ва оддии геометрия, сериализатсияи имзои реша ва сериализатсия дастгирӣ карда мешаванд. Дастурҳои Shader иборатанд аз амалиёти арифметикӣ, атомӣ ва битӣ, операторҳои муқоиса ва назорати ҷараёни додаҳо, дастурҳои намунавӣ, ҷамъоварӣ ва боркунӣ, амалиёти дастрасии бетартиб (UAV, View Access Unordered).

Дар байни навовариҳои муҳимтарин дар Vkd3d 1.3 инҳоянд:

  • Дастгирии ибтидоӣ барои тартиб додан ва коркарди пешакии шейдерҳо дар HLSL (Забони сатҳи баланди Shader), ки аз DirectX 9.0 оғоз мешавад, илова карда шуд.
  • Дастгирии иловашуда барои массивҳои дескрипторҳо, ки дар модели 5.1 shader муайян шудаанд.
  • Дастгирии амалиёти дукаратаи шинокунандаи нуқтаи шинокунанда дар шейдерҳо, суроғаи ғайримустақим барои шейдерҳои tessellation, содироти трафаретҳо аз шейдерҳо, тағирдиҳандаи "дақиқ" шейдер ва монеаҳои глобалӣ барои захираҳои хотираро таъмин мекунад.
  • Имконияти ҷудо кардани шейдерҳои Direct3D аз байткод ба намояндагии маҷлис амалӣ карда шудааст.
  • Дастгирии иловашуда барои таҳлили формати байткоди кӯҳнаи Direct3D, ки дар моделҳои Direct3D 1, 2 ва 3 shader истифода мешавад.
  • libvkd3d хусусиятҳои Direct3D 12-ро илова мекунад, ба монанди имзоҳои решавӣ, ҳисобкунакҳои намоиши берун аз тартиб, операторҳои мантиқии якҷоякунӣ барои баромад ва ҳолати суроғаи texture mirror_once. Сохтори vkd3d_host_time_domain_info илова карда шуд.

Манбаъ: opennet.ru

Илова Эзоҳ