После трёх месяцев разработки представлен (http://lists.freedesktop.org/archives/mesa-dev/2014-December... релиз свободной реализации OpenGL API - Mesa 10.4 (http://mesa3d.org/), в котором продолжена реализация новых расширений OpenGL, приближающих (http://cgit.freedesktop.org/mesa/mesa/tree/docs/GL3.txt) Mesa к появлению поддержки OpenGL 4. Поддержка OpenGL 3.3 для драйверов i965, Nouveau (nv50, nvc0), RadeonSI, r600, llvmpipe и softpipe уже реализована полностью. Переход на нумерацию 11.0 будет проведён после реализации поддержки OpenGL 4.x в одном из драйверов, что ожидается в следующем выпуске Mesa. Первый выпуск ветки Mesa 10.4 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 10.4.1.
Основные (http://cgit.freedesktop.org/mesa/mesa/log/) изменения (http://cgit.freedesktop.org/mesa/mesa/tree/docs/relnotes/10.... в Mesa 10.4:- В состав включен (http://cgit.freedesktop.org/mesa/mesa/commit/?id=fdd96578ef2... трекер состояний Nine, обеспечивающий поддержку API Direct3D 9 для Unix-подобных систем. В отличие от удалённого в прошлом году экспериментального трекера состояний Direct3D 10/11, Nine полностью работоспособен, обеспечивает более высокую производительность и пригоден для запуска реальных игр, таких как Star Craft 2, Skyrim, Civilization 5 и Anno 1404. Реализована поддержка как базового COM-интерфейса IDirect3DDevice9, так и интерфейса ID3DAdapter9, используемого для финального варианта IDirect3D9Ex.
При совместном использовании с Wine (требуется использование отдельных патчей) новая реализация позволяет достигнуть двухкратного роста FPS в играх, по сравнению со штатным wined3d. Ускорение достигается за счёт реализации API Direct3D 9 непосредственно на уровне драйверов Gallium3D, без использования дополнительно транслирующей прослойки на базе OpenGL. Следует отметить, что API Direct3D 9 кардинально отличается от Direct3D 10/11, что не позволяет использовать представленный код в качестве базы для дальнейшего обеспечения поддержки Direct3D 10/11.- Добавлена (http://cgit.freedesktop.org/mesa/mesa/commit/?id=3867933ecbc... начальная реализация трекера состояний VA-API (http://www.freedesktop.org/wiki/Software/vaapi/) (Video Acceleration API (http://en.wikipedia.org/wiki/Video_Acceleration_API)). VA-API представляет унифицированный интерфейс к аппаратным реализациям средств кодирования и декодирования видео, созданный компанией Intel для замены XvMC;
- Поддержка новых расширений OpenGL, определённых в стандартах OpenGL 4.x:- GL_ARB_conditional_render_inverted для драйвера nv50
- GL_ARB_sample_shading для драйвера r600
- GL_ARB_texture_view для драйверов nv50, nvc0
- GL_ARB_clip_control для драйверов nv50, nvc0, r300, r600, radeonsi, llvmpipe, softpipe
- GL_KHR_context_flush_control для всех драйверов
- В трекер состояний Clover, нацеленный на обеспечение поддержки OpenCL и организацию выполнения вычислительных задач на стороне GPU, добавлена (http://cgit.freedesktop.org/mesa/mesa/commit/?id=8e7df519bd8...поддержка компиляции в нативный объектный код, а также представлена (http://cgit.freedesktop.org/mesa/mesa/commit/?id=611d66fe451... начальная реализация clCompileProgram для OpenCL 1.2;
- В драйверах r600g и radeonsi включена по умолчанию (http://cgit.freedesktop.org/mesa/mesa/commit/?id=14bdcc6ff98... поддержка технологии HyperZ, позволяющей увеличить производительность некоторых графических карт AMD. HyperZ обеспечивает прирост производительности в 2-10%, но данный режим был ранее отключен из-за возникновения проблем с зависанием GPU, которые удалось успешно решить;- Проведена (http://cgit.freedesktop.org/mesa/mesa/log/?qt=grep&q=Freedreno) значительная работа по расширению возможностей драйвера Freedreno, в рамках которого с использованием методов обратного инжиниринга развивается (http://www.opennet.me/opennews/art.shtml?num=33604) открытый драйвер для графической подсистемы чипов Qualcomm Snapdragon с GPU Adreno A2xx/A3xx.
- Внесены (http://cgit.freedesktop.org/mesa/mesa/log/?qt=grep&q=ILO) улучшения в экспериментальный Gallium-драйвер ILO, развиваемый с целью опробования новых механизмов и оптимизаций для достижения максимальной производительности для видеочипов Intel;
- Включены наработки по увеличению производительности драйверов Intel i965 и RadeonSI;
- Прекращена поддержка переменной окружения GALLIUM_MSAA, принудительно включавшей режим MSAA (Multi-Sample AntiAliasing).URL: http://lists.freedesktop.org/archives/mesa-dev/2014-December...
Новость: http://www.opennet.me/opennews/art.shtml?num=41266
Вот бы ещё игру, портированную на Mesa Direct3D. Атишники бы одобрили: большинство игр а режиме OpenGL выдают меньше FPS.
> Вот бы ещё игру, портированную на Mesa Direct3D. Атишники бы одобрили: большинство
> игр а режиме OpenGL выдают меньше FPS.Только на ати.
> большинство игр а режиме OpenGL выдают меньше FPS.Если двигло писали под OpenGL - то нормально там FPSов. А если там конвертер в двигле - очень зависит от двигла и конвертера.
> большинство игр а режиме OpenGL выдают меньше FPSБольшинство оптимизированный под nVidia игр выдают на AMD меньше FPS... интересно почему
> Большинство оптимизированный под nVidia игр выдают на AMD меньше FPS... интересно почемуОбъявляется конкурс самых капитанистых Капитанов!
http://richg42.blogspot.ru/2014/05/the-truth-on-opengl-drive...
> B's driver devs try to follow the spec more closely than Vendor A, but in the end this tends to do them no good because most devs just use Vendor A's driver for development and when things don't work on Vendor B they blame the vendor, not the state of GL itself.В этом вся суть. Те кто изначально пишут код под NVidia, потом огребают кучу проблем под AMD и Intel, так как на NVidia часто нормально работает неверный с точки зрения спецификаций код. До этого уже встречал авторитетное мнение, что код без проблем работающий на всех картах желательно писать под AMD.
Клоун говорит: "авторитетное мнение анонимным не бывает."
> Клоун говорит: "авторитетное мнение анонимным не бывает."
Участник: клоун Стаканчик
Тип: Аноним
Рейтинг: -19306 баллов
Репутация: +377/-1685 голосов
Хороший FAIL по поводу анонима. Но ты не бойся, я это упущение исправил.
p.s. зарегать ник стаканчика... это примерно как получить чемодан говна.
Я рыдал...
>новая реализация позволяет достигнуть двухкратного роста FPS в играх, по сравнению со штатным wined3dА вот когда сделают отдельный поток, то будет еще быстрее. Но доколе?
А они совместно работать могут?
На Месе + нативные игрушки пока не сделали, а на NVIDIA - да. __GL_THREADED_OPTIMIZATIONS=1 steam
как небыло так и нет
как не было так и нет
Как не было, так и нет.
- Как? Не было?
- Таки нет!
И как ты подружишь трансляцию из DirectX в OpenGL в отдельном потоке с нативным DirectX, можно полюбопытствовать?Теперь так - для блобоводов - костыли в виде CSMT, для труЪ - более православно и почти нативно.
На Gallium драйверах Nine даёт бОльший прирост FPS и меньшую нагрузку на проц, чем CSMT :)
>В драйверах r600g и radeonsi включена по умолчанию поддержка технологии HyperZШо, опять?
> Шо, опять?Да. В том числе и в RadeonSI. Вроде как все известные баги замахали.
Ждем новых, пока неизвестных.
> Ждем новых, пока неизвестных.У себя так сходу не вижу. А так - "глюк не воробей: вылезет - прибей!" (древняя ITшная поговорка).
Еще не весна, назад выключат.
А в Fedora 21 уже пришёл апдейт! http://koji.fedoraproject.org/koji/taskinfo?taskID=8381921А в Ubuntu по-прежнему сильно устаревшая 10.3.2. http://packages.ubuntu.com/source/vivid/mesa
Для ubuntu есть xorg-edgers (https://launchpad.net/~xorg-edgers/+archive/ubuntu/ppa/+pack...
оно официально поддерживается дистрибутивом? нет.
В Fedora появилось в updates? Нет.
И что она даёт, эта "поддержка дистрибутивом"? Поддержка есть от разработчиков: есть баг - написал репорт разрабам - они приняли и правят. А чем дистрибутив поможет?
> чем дистрибутив поможет?Ну вот некоторым как видим помогает пальцы растопыривать.
Да.Xorg-edgers официально поддерживается разработчиками дистрибутива.
> оно официально поддерживается дистрибутивом? нет.Еще для убунты есть Oibaf PPA. Там гитовые версии. Немного камикадзево, но как правило качественно и шустро. И кстати Fabio (oibaF) в своем деле разбирается и его билды как правило оптимизированные и затвиканные.
Собссно фороникс на этом стеке регулярно бенчит текущие версии месы и ловит регрессии. АМДшники там же на форуме пасутся и разруливают регрессии, все дела. В целом все эти люди очень мило и продуктивно взаимодействуют, вместе делая себе хорошую видеоподсистему. Учитесь как надо. Так победим.
Народ, давайте серьёзно поговорим, плиз.
dx9 уже много и много лет назад выкинут на свалку всеми коммерческими и даже не коммерческими разработчиками игр. Он давно пылится на музейных полках.Очень смешно читать новости про то, что в Mesa появилась поддержка некоторых возможностей dx9.
Народ, давайте серьёзно поговорим, плиз.
COBOL уже много и много лет назад выкинут на свалку всеми коммерческими и даже не коммерческими разработчиками ПО. Он давно пылится на музейных полках.А вообще, игр написанных на dx9 дофига, так что поддержка не помешает. Её всегда можно выпилить (а вот обратное не всегда просто).
Серьездно, не так много игр не имеет поддержку direct3d 9
> смешно читать новости про то, что в Mesa появилась поддержка некоторых возможностей dx9.не возможностей, а трекер состояния.
всякиетам возможности были и до этого на OpenGL (включая траслятор DX в OpenGL).
трекер_состояния+доработанный_wine -- не добавляют новых возможностей, а это лишь просто более оптимизированный костыль для запуска легаси софта.
новый современный софт (в отличии от легаси софта) -- можешь сразу запускать в режиме Linux_Native_OpenGL , так как современные движки поддерживают Linux и OpenGL.
>В отличие от удалённого в прошлом году экспериментального трекера состояний Direct3D 10/11, Nine полностью работоспособен, обеспечивает более высокую производительность и пригоден для запуска реальных игрчёт он у меня сегфолты одни. то ли wine кривой либо mesa. вроде сначало работало даже шустро так, а потом обновилось раз и всё - не работает.
> чёт он у меня сегфолты одни.Сегфолт без бэктрейса - байты на ветер!
Ага, только есть НЮАНС: с недавних пор Nine работает только через DRI3. А DRI3 в X-драйвере radeon ОТСУТСТВУЕТ!!!Т.е. если его в 10.4 так и приняли с DRI3, то до тех пор пока X-драйвер не допилят, Nine работать не будет...
Интересно девки пляшут...
Замечательно, вот только при чём тут X-драйвер к 3D?
Видимо при том, что 3D работает именно через DRI, а чтобы DRI работал, его должен DDX поддерживать.В radeon есть DRI2, но нет DRI3.
Есть патчик от iXit, включающий базовую поддержку DRI3 в radeon, но она именно что базовая - я её попробовал поюзать, наловил глюков и снёс нафиг.
ldd d3dadapter9.so.1.0.0
linux-vdso.so.1 (0x00007fffd31fe000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe30aa66000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe30a862000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fe30a638000)
libdrm_radeon.so.1 => /usr/lib/x86_64-linux-gnu/libdrm_radeon.so.1 (0x00007fe30a42b000)
libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007fe30a21e000)
libelf.so.1 => /usr/lib/x86_64-linux-gnu/libelf.so.1 (0x00007fe30a006000)
libLLVM-3.5.so.1 => /usr/lib/x86_64-linux-gnu/libLLVM-3.5.so.1 (0x00007fe3082e3000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe307fd8000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe307cd6000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe30792d000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe307717000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe30b127000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe3074fb000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007fe3072f3000)
libedit.so.2 => /usr/lib/x86_64-linux-gnu/libedit.so.2 (0x00007fe3070ba000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007fe306e8f000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fe306c7f000)Никаких зависимостей от dri3.
Каким образом это связано? Всегда считал, что dri для иксов. А 3D через drm
Я не знаю как это связано, но недавно при попытке запустить очередной собранный wine с nine на радеоне я увидел "no adapters found" жёлтым. Стал копать, докопался до того, что ему был нужен dri3.ldd особо ничего не значит, но сейчас, может, и пофиксили, не знаю. Проверять надо.
P.S: А ещё, кстати, так как эта хрень работает через Gallium3D, на интеловских карточках её заюзать фактически нельзя... Т.е. можно, но только через драйвер ilo, который конкретно убог - умеет только OpenGL 2.1 и медленно и глючно работает в 2D - например, kwin падает на нём постоянно с фразой "../../../../../../src/gallium/drivers/ilo/shader/toy_legalize_ra.c:215:linear_scan_spill: Assertion `!«no spilling support»' failed" - там тупо какая-то фича не реализована.
> Видимо при том, что 3D работает именно через DRI, а чтобы DRI
> работал, его должен DDX поддерживать.DDX может пользоваться интерфейсами DRI3, но оно само реализовано в низкоуровневой подложке. Как то ядре и DRMных либах. К этой подложке интерфейсятся все остальные.
> В radeon есть DRI2, но нет DRI3.
Открытый радеон состоит из нескольких частей:
1) Ядерный выносок - модуль ядра для радеонов.
2) Плагины к либам DRM/KMS для радеонов которые вывешивают при помощи 1) радеоны с KMS/DRM интерфейсами.
3) Gallium3D драйвер. Отвечает за 3D и продвинутости. Трекеры состояний - это вот там.
4) DDX драйвер. Отвечает за ускорение 2D в иксах. Вот в нем поддержку DRI3 только пилят.И вообще-то иксы с их DDX - как я понимаю к state tracker галлиума относятся чуть менее чем никак. Или я что-то где-то сильно упустил. А что галлиумовский трекер вообще в DDX драйвере иксов забыл?
> именно что базовая - я её попробовал поюзать, наловил глюков и
> снёс нафиг.А при чем тут поддержка 3D и упомянутый трекер в частности? В каком месте DX и галлиумовый трекер интересует чем там иксы и их DDX занимаются? DDX и Gallium - достаточно независимые закоулки, по сути можно считать отдельными субпроектами которые друг от друга не зависят.
> DDX драйвер. Отвечает за ускорение 2D в иксах. Вот в нем поддержку DRI3 только пилят.Я честно говоря не знаю, где его там пилят, всё что я видел - это только косой патчик от ixit.
+ вот тут http://dri.freedesktop.org/wiki/DDX/ сказано: Each 2D driver has a bit of code to bootstrap the 3D / DRI features.
Т.е. ещё DDX отвечает за то, чтобы включить поддержку 3D.
> А что галлиумовский трекер вообще в DDX драйвере иксов забыл?
Галлиумовский трекер в DDX ничего и не забыл, но насколько я понимаю, проброс d3dadapter9 в wine хочет работать именно через dri3. А dri3 в DDX radeon выключен... Т.е. это именно специфичный для wine код. А может и не специфичный, я детально не разбирался, как там этот проброс работает...
Спросил в баге, который ставил им на гитхабе - подтвердили, что так и приняли с dri3.
Clover реализует OpenCL программно? Чтобы можно было отлаживаться на кошках.
> на кошках.На зелюках.
так шо окончательно распрощались с Direct3D 10/11 на юниксе? - брависимо!!!
> Currently, we know that VMWare already has this state tracker working. They could eventually release it, but their lawyers have to allow it.
> All of the Gallium-3D infrastructure is fully prepared to handle D3D10.