Wine долбоору Vulkan графикалык API'ге чалууларды таратуу аркылуу иштеген Direct3D 1.5 ишке ашыруусу менен 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) камтыйт.
Жаңы версияда:
- DirectX 9.0 версиясынан бери берилген HLSL (Жогорку деңгээлдеги Шейдер тили) шейдер компиляторуна көптөгөн жакшыртуулар киргизилди. Анын ичинде структуралардагы жана массивдердеги Texture2D сыяктуу HLSL объектинин түрлөрү үчүн жакшыртылган колдоо, дот(), ldexp() жана lerp() орнотулган функциялар үчүн кошумча колдоо, шейдер моделдери үчүн “жана”, “же” логикалык операторлору үчүн кошумча колдоо 4 жана 5 жана "жок", ошондой эле буль түрлөрүн чыгаруу мүмкүнчүлүгү.
- SPIR-V көп бөлүктүү форматтары (DXGI_FORMAT) үчүн иретсиз кирүү өкүлчүлүгүн (UAV) жүктөө үчүн VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV опциясы ишке ашырылды.
Source: opennet.ru
