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

Шарап жобасы жарияланған пакет шығару vkd3d 1.2 Vulkan графикалық API қызметіне қоңырауларды тарату арқылы жұмыс істейтін Direct3D 12 іске асыруымен. Пакет Direct3D 3 іске асырулары бар libvkd12d кітапханаларын, 3 және 4 шейдер үлгілерінің аудармашысы бар libvkd5d-shader және Direct3D 3 қосымшаларын тасымалдауды жеңілдететін функциялары бар libvkd12d-utils, сондай-ақ портты қоса демонстрациялық мысалдар жиынтығын қамтиды. glxgears Direct3D 12. Жоба коды таралады LGPLv2.1 бойынша лицензияланған.

libvkd3d кітапханасы қолдайды Direct3D 12 мүмкіндіктерінің көпшілігі, соның ішінде графикалық және есептеу құралдары, кезектер мен пәрмен тізімдері, дескрипторлар мен үйме дескрипторлары, түбірлік қолтаңбалар, ретсіз қатынас, Үлгілер, пәрмен қолтаңбалары, түбірлік тұрақтылар, жанама көрсету, Clear*() әдістері және Көшіру*().

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

Ең маңыздыларының қатарында инновациялар Vkd3d 1.2 нұсқасында мыналар бөлектелген:

  • libvkd3d-shader кітапханасы үшінші тарап жобаларында пайдалануға дайын.
  • Тесселляциялық шейдер қолдауы.
  • Түбірлік қолтаңбаларды түрлендіруге, сериялауға және сериядан шығаруға қолдау көрсету (vkd3d_serialize_versioned_root_signature() және vkd3d_create_versioned_root_signature_deserializer()).
  • Ағынды шығысқа қолдау көрсету.
  • Көптеген бұрын қол жетімді болмаған Direct3D 12 мүмкіндіктерін іске асыру, соның ішінде көп үлгілерді қолдау, ресурстарды резервтеу,
    жанама индекстелген көрсету, пиксельдік шейдерлерсіз тереңдікті көрсету, әртүрлі командалық кезектердегі ресурстарға бір уақытта қол жеткізу, нөлдік көріністер.

  • Қосылған орта айнымалылары: libvkd3d әрекетін өзгерту опцияларын орнату үшін VKD3D_CONFIG және Vulkan API үшін құрылғыны қайта анықтау үшін VKD3D_VULKAN_DEVICE.
  • Bufinfo шейдер нұсқауларына қолдау қосылды,
    бағалау_орталығы,
    бағалау_үлгі_индексі,
    ld2ms,
    үлгі_b,
    үлгі_d,
    үлгі_ақпарат,
    үлгілер.

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

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