Шарап долбоору Direct3D 1.3 ишке ашыруу менен Vkd3d 12 чыгарды

Бир жарым жылдык өнүгүүдөн кийин Wine долбоору Vulkan графикалык API'ге чалууларды таратуу аркылуу иштеген Direct3D 1.3 ишке ашыруусу менен vkd3d 12 пакетин чыгарды. Пакетке Direct3D 3 ишке ашыруулары менен libvkd12d китепканалары, 3 жана 4 шэйдер моделдеринин котормочусу бар libvkd5d-shader жана Direct3D 3 тиркемелерин көчүрүүнү жөнөкөйлөтүү функциялары бар libvkd12d-utils, ошондой эле портту камтыган демо мисалдардын топтому камтылган. of glxgears Direct3D 12. Долбоордун коду LGPLv2.1 лицензиясы менен бөлүштүрүлгөн.

libvkd3d китепканасы Direct3D 12 функцияларынын көбүн колдойт, анын ичинде графика жана эсептөө каражаттары, кезектер жана буйрук тизмелери, туткалары жана үймөк туткалары, түпкү кол тамгалар, иштен чыгуу мүмкүнчүлүгү, Үлгүлөр, буйрук кол тамгалары, тамыр константалары, кыйыр көрсөтүү, Тазалоо ыкмалары *( ) жана Көчүрүү*().

libvkd3d-shaderде, 4 жана 5-шейдер моделдеринин байткодун SPIR-V аралык өкүлчүлүгүнө которуу ишке ашырылган. Vertex, пиксел, tessellation, эсептөө жана жөнөкөй геометриялык шейдерлер, тамыр кол тамгасын сериялаштыруу жана сериялаштыруу колдоого алынат. Шейдер инструкцияларына арифметикалык, атомдук жана биттик операциялар, салыштыруу жана маалымат агымын башкаруу операторлору, үлгүлөрдү алуу, чогултуу жана жүктөө инструкциялары, иретсиз жетүү операциялары (UAV, Unordered Access View) кирет.

Vkd3d 1.3 эң маанилүү инновациялардын арасында:

  • DirectX 9.0 менен баштап берилген HLSL (Жогорку деңгээлдеги Шейдер тили) ичинде шейдерлерди компиляциялоо жана алдын ала иштетүү үчүн баштапкы колдоо кошулду.
  • 5.1 шейдер моделинде аныкталган дескрипторлордун массивдери үчүн кошумча колдоо.
  • Шейдерлерде кош тактыктагы калкыма чекиттердеги операцияларды, тесселл шейдерлери үчүн кыйыр даректи, шейдерлерден трафареттерди экспорттоону, "так" шейдер модификаторун жана эстутум ресурстарына глобалдык тоскоолдуктарды камсыздайт.
  • Direct3D шейдерлерин байт коддон монтаждык өкүлчүлүккө ажыратуу мүмкүнчүлүгү ишке ашырылган.
  • Direct3D 3, 1 жана 2 шейдер моделдеринде колдонулган эски Direct3D байт код форматын талдоо үчүн кошумча колдоо.
  • libvkd3d Direct3D 12 функцияларын кошот, мисалы, тамыр кол тамгалары, иретсиз көрүү эсептегичтери, чыгаруу үчүн логикалык бириктирүү операторлору жана mirror_once текстураны даректөө режими. vkd3d_host_time_domain_info түзүмү кошулду.

Source: opennet.ru

Комментарий кошуу