Wine жобасы Direct3D 1.7 енгізуімен Vkd3d 12 нұсқасын жариялады

Wine жобасы Vulkan графикалық API интерфейсіне қоңырауларды тарату арқылы жұмыс істейтін Direct3D 1.7 іске асырылуы бар vkd3d 12 бумасының шығарылымын жариялады. Пакет Direct3D 3 іске асырулары бар libvkd12d кітапханаларын, 3 және 4 шейдер үлгілерінің аудармашысы бар libvkd5d-shader және Direct3D 3 қосымшаларын тасымалдауды жеңілдететін функциялары бар libvkd12d-utils, сондай-ақ портты қоса демонстрациялық мысалдар жиынтығын қамтиды. 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(), refle(), sin(), cos(), smoothstep(), sqrt(), rsqrt функциялары қосылды. () , step(), транспозиция().
    • "min16float" сияқты төмен дәлдіктегі өзгермелі нүкте түрлеріне бастапқы қолдау қосылды.
  • Direct3D 1/2/3 шейдер үлгісі профильдерін қолдау айтарлықтай жақсарды.
  • DXBC екілік деректерін талдауға (vkd3d_shader_parse_dxbc) және сериялауға (vkd3d_shader_serialize_dxbc) арналған жалпыға қолжетімді API қосылды.

Ақпарат көзі: opennet.ru

пікір қалдыру