Шарап долбоору Direct3D 1.7 ишке ашыруу менен Vkd3d 12 жарыяланды

Wine долбоору Vulkan графикалык API'ге чалууларды таратуу аркылуу иштеген Direct3D 1.7 ишке ашыруусу менен 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 аралык өкүлчүлүгүнө которууну ишке ашырат. Чокусун, пикселди, тесселляцияны, эсептөө жана жөнөкөй геометриялык шейдерлерди, тамыр кол тамгасын сериялаштыруу жана сериялаштыруу колдойт. Шейдер инструкцияларына арифметикалык, атомдук жана биттик операциялар, салыштыруу жана маалымат агымын башкаруу операторлору, үлгүлөрдү алуу, чогултуу жана жүктөө инструкциялары, иретсиз кирүү операциялары (UAV, Unordered Access View) кирет.

Жаңы версияда:

  • HLSLде (Жогорку деңгээлдеги Шейдер тили) шейдер компиляторун өркүндөтүү боюнча иштер улантылды:
    • Ыңгайлаштырылган функцияларды чакыруу жана массивдерди ыңгайлаштырылган функцияларга параметр катары колдонуу мүмкүнчүлүгү кошулду.
    • SV_DispatchThreadID, SV_GroupID жана SV_GroupThreadID параметрлери үчүн кошумча колдоо.
    • All(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt кошо орнотулган функциялар (), step(), transpose().
    • "min16float" сыяктуу төмөн тактыктагы калкыма чекиттин түрлөрү үчүн баштапкы колдоо кошулду.
  • Direct3D 1/2/3 шэйдер моделинин профилдерин колдоо кыйла жакшыртылган.
  • DXBC бинардык берилиштерин талдоо (vkd3d_shader_parse_dxbc) жана сериялаштыруу (vkd3d_shader_serialize_dxbc) үчүн коомдук API кошулду.

Source: opennet.ru

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