Wine жобасы Direct3D 1.3 енгізуімен Vkd3d 12 нұсқасын шығарды

Бір жарым жыл әзірлегеннен кейін Wine жобасы Vulkan графикалық API интерфейсіне хабар тарату қоңыраулары арқылы жұмыс істейтін Direct3D 1.3 енгізуі бар 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 аралық көрінісіне аудару жүзеге асырылады. Vertex, пиксель, тесселляция, есептеу және қарапайым геометриялық шейдерлер, түбірлік қолтаңбаны сериялау және сериядан шығаруға қолдау көрсетіледі. Шейдер нұсқауларына арифметикалық, атомдық және биттік операциялар, салыстыру және деректер ағынын басқару операторлары, үлгілеу, жинау және жүктеу нұсқаулары, ретсіз қол жеткізу операциялары (UAV, Unordered Access View) кіреді.

Vkd3d 1.3-тегі ең маңызды жаңалықтардың ішінде:

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

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

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