LINUX.ORG.RU

Vkd3d 1.17 с реализацией Direct3D 12

 , , , ,


0

2

Проект Wine опубликовал выпуск пакета vkd3d 1.17 с реализацией Direct3D 12, работающей через трансляцию вызовов в графический API Vulkan. В состав пакета входят библиотеки libvkd3d с реализаций Direct3D 12, libvkd3d-shader c транслятором 4 и 5 модели шейдеров и libvkd3d-utils с функциями для упрощения портирования приложений Direct3D 12, а также набор демонстрационных примеров, включая порт glxgears на Direct3D 12. Код проекта распространяется под лицензией LGPLv2.1.

Библиотека libvkd3d поддерживает большую часть возможностей Direct3D 12, включая средства для графики и вычислений, очереди и списки команд, дескрипторы и дескрипторы кучи, корневые сигнатуры, неупорядоченный доступ, Sampler-ы, сигнатуры команд, корневые константы, непрямую (indirect) отрисовку, методы Clear*() и Copy*(). В libvkd3d-shader реализована трансляция байт-кода моделей шейдеров в промежуточное представление SPIR-V. Поддерживаются вершинные, пиксельные, тесселяционные, вычислительные и простые геометрические шейдеры, сериализация и десериализация корневой сигнатуры. Из шейдерных инструкций реализованы арифметические, атомарные и битовые операции, операторы сравнения и управления потоком передачи данных, инструкции sample, gather и load, операции неупорядоченного доступа (UAV, Unordered Access View).

В новой версии:

  • В реализацию языка шейдеров HLSL добавлена начальная поддержка разделяемой памяти групп потоков, расширена поддержка геометрических шейдеров, добавлен парсер для ресурсов StructuredBuffer.
  • Продолжено развитие реализации языка шейдеров MSL (Metal Shading Language), применяемого компанией Apple в графическом API Metal. Например, в MSL добавлена поддержка циклов, косвенной адресации постоянных буферов, сэмплинга текстур и различных операций целочисленной арифметики и сравнения.
  • В библиотеке libvkd3d в реализацию программного интерфейса ID3D12Device5 добавлен метод EnumerateMetaCommands().
  • Добавлен новый тип шейдеров «tx» (VKD3D_SHADER_SOURCE_TX), используемый для загрузки шейдеров обработки текстур.

>>> Подробности на opennet



Проверено: dataman ()
Последнее исправление: dataman (всего исправлений: 3)

Небольшая, но новость.

PunkPerson
() автор топика

Срошу еще здесь: что нужно доустановить для Wine, чтобы старенькие казуальные игры вроде Zuma Deluxe (от PopCap Games) не загоняли проц? Игра же вобщем-то совершенно не требовательна. Может, какой-то DirectX или еще что?

Gonzo ★★★★★
()
Ответ на: комментарий от Gonzo

А что проблема только со старыми казуальными играми?

Может, какой-то DirectX или еще что?

Не думаю, что DirectX будет долбить ЦПУ.

И сразу спрошу: какой у вас ЦПУ?

PunkPerson
() автор топика
Ответ на: комментарий от Gonzo

Игра же вобщем-то совершенно не требовательна.

Игра не требовательна, да. Но жрать ресурсы ПК может Wine, который во время своей работы непрерывно переводит WinAPI-вызовы в вызовы ядра Linux, другим словом эмулирует WinAPI.

PunkPerson
() автор топика

Спрашиваю как ненастоящий сварщик, нашетший сварочную маску у папули в багажнике: трансляция вызовов в графический API Vulkan сильно по производительности бьёт вообще? Кто нибудь измерял/пытался измерить?

UriZzz ★★
()
Последнее исправление: UriZzz (всего исправлений: 1)
Ответ на: комментарий от UriZzz

сильно по производительности бьёт вообще

Оно сильно по потреблению видеопамяти бьет. Например у меня для Skyrim SE в вайне с dxvk иногда были дропы fps, тупо памяти не хватало в RX 550(4Gb). Требования Skyrim SE и насколько выросло потребление можешь сравнить сам.

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)

Вайн сильно перекосило в сторону игорей :(
Приходится сидеть на 9.21 так как виндовые VST плагины перекосило и чинить никто не хочет. А еще Direct2D 1.2 нужен, но пилят исключительно пукан для геймеров.

kott ★★★★★
()
Ответ на: комментарий от petyanamlt

Я не про новые игры говорю, перечитай пост. Речь про dxvk, и его особенности.

пруф - https://github.com/doitsujin/dxvk/issues/1047#issuecomment-490301173

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 2)

работающей через трансляцию

Потери FPS ктонить уже промерял?

somemong
()
Ответ на: комментарий от vbcnthfkmnth123

У меня была 1650 super тоже с 4 гигами, и старые и новые игры работали.

petyanamlt ★★★☆
()
Ответ на: комментарий от kott

Вайн сильно перекосило в сторону игорей :(
Приходится сидеть на 9.21

Согласен полностью. Та же фигня. Сидим на девятке. Если бы wow64 завезли раньше, то сидел бы еще на меньшей версии.

Gonzo ★★★★★
()
Последнее исправление: Gonzo (всего исправлений: 2)
Ответ на: комментарий от PunkPerson

Ясно. В общем, на нуво загоняет проц, а на блобе не особо. Видимо, в дровах графики причина.

Gonzo ★★★★★
()
Ответ на: комментарий от Goat

Zaz

О, благодарю. Норм тема. Правда, чуток отличается от Зумы, ну да ладно уже. Залипну в это :)

Gonzo ★★★★★
()
Ответ на: комментарий от Gonzo

AMD Athlon II X2 245 2.9 ГГц

Староват. Может из-за нехватки вычислительных мощностей, как вы говорите «загоняется».

PunkPerson
() автор топика
Ответ на: комментарий от UriZzz

Трансляция вызовов - это всегда излишняя работа. При наличии достойной карты с достаточным количеством видеопамяти (оно всегда потребляет больше памяти, чем нативный вариант), в результате либо та же производительность, либо медленнее. В некоторых случаях даже быстрее и почти без статтеров, так как транслятор устраняет криворукость разработчиков за счёт кэширования.

xDShot ★★★★★
()
Ответ на: комментарий от xDShot

и почти без статтеров

Новые тайтлы все как один плавно идут (из тех, что вообще работают, хехе), а вот старые одинаково статтерят вне зависимости от мощности видеокарты.

MagicMirror ★★★
()
Ответ на: комментарий от MagicMirror

А на сколько старые? Кажется мне, что какая то все увеличивающаяся часть старых игр может, полностью в видеопамяти уместиться и там работать.

Behem0th ★★★★★
()
Ответ на: комментарий от Behem0th

Субъективно - всё что на dx9 и около того. Проявляется в основном в виде подвсаний при повороте камеры в места, куда до этого ни разу не смотрел.

MagicMirror ★★★
()
Ответ на: комментарий от Behem0th

Видеопамять никак не помогает, когда например говнокод игры читает из неё многомегабайтные буферы ещё и дёргая вызов апи на каждые 4 байта посреди рендеринга кадра и прочие приколы.

hawkthe
()
Ответ на: комментарий от MagicMirror

а вот старые одинаково статтерят

Проблемы в твоей видюхе, а точнее - в mesa-драйверах к ней.

Всегда ваш, К.О.

LamerOk ★★★★★
()
Ответ на: комментарий от hawkthe

Я понимаю что если постараться можно наговнокодить так, что ничего не поможет.

У меня было скорее шуточное предложение завалить проблемный код вычислительной мощностью. Когда полностью вся игра копируется в память видеокарты, там запускается на исполнение в вайне который работает полностью в OpenCL. Кривой код игры это не вылечит, но возможно позволит задавить железом. И еще раз повторю, это шуточное предложение, хотя в каждой шутке ... Может когда то и до такого проекта доживем.

Behem0th ★★★★★
()
Ответ на: комментарий от MagicMirror

Ты называешь железо где этого нет,

Не "железо", а железо + mesa-драйвера к нему. AMD RDNA.

а я не ставлю клоуна.

Поставь себе клоуна, клоун, натягивающий проблемы своего локалхоста на вселенную.

LamerOk ★★★★★
()
Последнее исправление: LamerOk (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.