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

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

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

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

Дар байни муҳимтарин навоварй дар Vkd3d 1.2 инҳо таъкид шудаанд:

  • Китобхонаи libvkd3d-shader барои истифода дар лоиҳаҳои тарафи сеюм омода аст.
  • Дастгирии shader Tessellation.
  • Дастгирии табдил, сериализатсия ва бессериализатсияи имзоҳои решавӣ (vkd3d_serialize_versioned_root_signature() ва vkd3d_create_versioned_root_signature_deserializer()).
  • Дастгирии баромади ҷараён.
  • Татбиқи бисёр хусусиятҳои қаблан дастраснашудаи Direct3D 12, аз ҷумла дастгирии чанд намуна, захираи захираҳо,
    намоиши ғайримустақим индексатсияшуда, амиқи бе рейдерҳои пиксел, дастрасии ҳамзамон ба захираҳо аз навбатҳои гуногуни фармон, Намоишҳои нул.

  • Тағйирёбандаҳои муҳити иловашуда: VKD3D_CONFIG барои танзим кардани имконоти тағир додани рафтори libvkd3d ва VKD3D_VULKAN_DEVICE барои аз нав таъин кардани дастгоҳ барои API Vulkan.
  • Дастгирии иловашуда барои дастурҳои shader bufinfo,
    eval_centroid,
    баҳодиҳии_намуна_индекс,
    ld2ms,
    намуна_б,
    намуна_д,
    намуна_маълумот,
    намунаҳо.

Манбаъ: opennet.ru

Илова Эзоҳ