- PVSM.RU - https://www.pvsm.ru -

В Wine добавили нативную поддержку Direct3D 9

Когда-то давно, в далеком-далеком 2010 году, один человек сделал поддержку Direct3D 10/11 State Tracker в Wine, но она была достаточно плохой, ее забросили и не включили в основную ветку. А вчера, Christoph Bumiller сделал поддержку Direct3D 9 State Tracker [1] и написал об этом в список рассылки Wine, код проходит все wined3d9 тесты.
Причины, побудившие его сделать это, таковы:

  • Gallium не был готов для D3D11, да и до сих пор не готов, зато готов для D3D9
  • Автор не видит мотивирующих приложений, использующих Direct3D 10/11
  • Работа автора написана на C вместо C++, и не использует хаки темплейтов, чтобы заставить gcc генерировать COM-compatible vtables

Что самое важное — Direct3D 9 State Tracker работает уже сейчас.
Автор погонял Skyrim, Civilization 5, Anno 1404 и StarCraft 2 и отметил прибавку в FPS до 2 раз, но бенчмарков еще нет.

Работает это только с Gallium3D-драйверами nouveau (nvc0, NVIDIA), r600g (AMD), swrast и, возможно, i915g.

Можете попробовать собрать это у себя.
github.com/chrisbmr/Mesa-3D/tree/gallium-nine [2] — Патченный Gallium
github.com/chrisbmr/wine/tree/d3dadapter9-wip [3] — Патченный Wine

Источник [1]
Новость на Opennet [4]

Автор: ValdikSS

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/38881

Ссылки в тексте:

[1] сделал поддержку Direct3D 9 State Tracker: http://lists.freedesktop.org/archives/mesa-dev/2013-July/041900.html

[2] github.com/chrisbmr/Mesa-3D/tree/gallium-nine: https://github.com/chrisbmr/Mesa-3D/tree/gallium-nine

[3] github.com/chrisbmr/wine/tree/d3dadapter9-wip: https://github.com/chrisbmr/wine/tree/d3dadapter9-wip

[4] Новость на Opennet: http://www.opennet.ru/opennews/art.shtml?num=37438

[5] Источник: http://habrahabr.ru/post/186884/