После трёх месяцев разработки представлен (http://lists.freedesktop.org/archives/mesa-announce/2015-Jun...) релиз свободной реализации OpenGL API - Mesa 10.6 (http://mesa3d.org/), в котором продолжена реализация новых расширений OpenGL, приближающих (http://cgit.freedesktop.org/mesa/mesa/tree/docs/GL3.txt) Mesa к появлению поддержки OpenGL 4. После реализации поддержки OpenGL 4.x в одном из драйверов будет подготовлен выпуск Mesa 11.0. В настоящее время в драйверах i965, Nouveau (nv50, nvc0), RadeonSI, r600, llvmpipe и softpipe обеспечена полная поддержка OpenGL 3.3. Первый выпуск ветки Mesa 10.6 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 10.6.1.
В разработке нового выпуска приняли участие около 100 разработчиков, которые внесли в кодовую базу более 2000 изменений, значительно продвинувшись в области поддержки элементов OpenGL 4.x. Из расширений GL 4.0 и GLSL 4.0 осталось реализовать только GL_ARB_shader_subroutine и GL_ARB_tessellation_shader, из GL 4.1 -
GL_ARB_shader_precision, а из GL 4.2 - GL_ARB_shader_image_load_store. Работа над реализацией данных расширений уже началась.
Основные (http://cgit.freedesktop.org/mesa/mesa/log/) изменения (http://cgit.freedesktop.org/mesa/mesa/tree/docs/relnotes/10....) в Mesa 10.6:
- Во всех драйверах, поддерживающих OpenGL 2+, реализовано OpenGL-расширение GL_ARB_direct_state_access, являющееся ключевым новшеством стандарта OpenGL 4.5;
- В драйвере freedreno, развиваемом для Qualcomm Snapdragon с GPU Adreno A2xx/A3xx, обеспечена поддержка расширений GL_ARB_depth_buffer_float, GL_ARB_uniform_buffer_object, GL_ARB_draw_instanced, GL_ARB_instanced_arrays, GL_EXT_draw_buffers2, EGL_KHR_fence_sync, EGL_KHR_wait_sync, EGL_KHR_cl_event2 и GL_ARB_depth_clamp;- Для драйверов nv50, nvc0, r600 и radeonsi и softpipe добавлена поддержка расширений GL_ARB_pipeline_statistics_query, GL_ARB_texture_stencil8, EGL_KHR_fence_sync, EGL_KHR_wait_sync и EGL_KHR_cl_event2;
- В драйвер r600 добавлена поддержка расширений GL_ARB_draw_indirect, GL_ARB_multi_draw_indirect, GL_AMD_pinned_memory;
- В драйвер nvc0 добавлена поддержка расширений GL_AMD_performance_monitor, GL_ARB_gpu_shader_fp64 и GL_ARB_vertex_attrib_64bit;
- В драйвер radeonsi добавлена поддержка расширений GL_AMD_pinned_memory
- В драйвер i965 добавлена поддержка расширений GL_ARB_clip_control, GL_ARB_gpu_shader5 (для GPU gen8+), EGL_KHR_fence_sync, EGL_KHR_wait_sync, GL_ARB_pipeline_statistics_query, GL_ARB_viewport_array, GL_AMD_vertex_shader_viewport_index (для GPU gen6)
- Во все драйверы добавлена поддержка расширений GL_ARB_program_interface_query и GL_OES_EGL_sync;
- В драйвер softpipe добавлена поддержка расширений GL_ARB_pipeline_statistics_query, GL_ARB_texture_stencil8, GL_ARB_gpu_shader_fp64, GL_ARB_texture_view, GL_ARB_vertex_attrib_64bit
- В драйвер llvmpipe добавлена поддержка расширения GL_ARB_texture_view;
- Удалён классический программный растеризатор для Windows. Из SCons-сборок для Windows удалён загрузчик EGL и классический интерфейс osmesa (http://www.mesa3d.org/osmesa.html);
- Удалены драйверы galahad, identity, egl_gallium и gbm_gallium;
- Прекращена поддержка OpenVG.
URL: http://lists.freedesktop.org/archives/mesa-announce/2015-Jun...
Новость: http://www.opennet.me/opennews/art.shtml?num=42426
Жаль что до релиза не успели дозапилить 4.0, радует что в следующем релизе они похоже скакнут сразу к 4.2.
Кто они? Сама mesa (конкретно state tracker, если правильно понимаю) может и скакнет. Из драйверов, судя по всему, имеют шансы скакнуть только intel.
> Кто они? Сама mesa (конкретно state tracker, если правильно понимаю) может и
> скакнет. Из драйверов, судя по всему, имеют шансы скакнуть только intel.На самом деле, формально по фичам один из самых полных - nouveau. Правда, скоростью работы не вышел. А так интел и радеоны реализовали почти все GL4 кроме пары наиболее сложных вещей.
Ух ты, действительно, GL3.txt [1] сильно изменился с тех пор, как я видел его в последний раз.
http://mesamatrix.net/
> На самом деле, формально по фичам один из самых полных - nouveau.Если фичи реализованы софтверно, то, по сути, можно сказать что не работает. У ati тоже сначала многие были софтверно, потом начали переводить на аппаратную поддержку, и вот по скорости работы уже догоняет катаглист.
> Если фичи реализованы софтверно,Да никто там ничего софтверно не реализует обычно. Нуво просто не умеет реклокинг. И потому шпарит на частоте в 20% от номинала. И память на мизерной частоте.
Знаете, если скостить процу и его памяти частоты в 5 раз - оно будет работать в 5 раз медленее, хоть там какой идеальный код, задействующий все возможности. Нвидия на это никаких спеков не опубликовала, поэтому реклок работает через пень-колоду, нестабильно и по факту как максимум на средние частоты. А не максимальные.
> У ati тоже сначала многие были софтверно,
Не, там все проще: кодогенерация сначала была полным трэшом. По мере прихода кодогенератора LLVM в хоть какое-то подобие адеквата и работать стало сильно лучше.
Вообще, LLVM до 3.6 с радеонами неюзабелен. Вплоть до внезапных lockup у GPU, при том GPU lockup - штука достаточно печальная, ибо если это на основном GPU - в системе графика может отвалиться. У драйвера R600g для графических шейдеров есть свой местечковый кодогенератор, но если захочется вычислений то выкусить прелестей LLVM придется по полной (багов там - хоть отбавляй). А RadeionSI (все что на основе GCN) - и графические шейдеры им компилит, со всеми вытекающими.
> потом начали переводить на аппаратную поддержку,
> и вот по скорости работы уже догоняет катаглист.Вот только не надо гнать с умным видом пургу. Это называется ламетством. Там обычно если чего-то нет - фича не вывешивается совсем. Или сильно иногда - вывешивается заглушка, которая не делает ничего. В результате могут случаться лулзы когда открытый драйвер солидно уделывает каталиста в каком-нибудь бенче Unigine на основе GL 4.x. Правда при детальном рассмотрении может оказаться что каталист оказывается еще тесселяцию делал и картинка лучше, так что оказывается что скорость имела свою цену...
Жду mesa 11.0
У меня последние версии сегфолтятся :-(
> У меня последние версии сегфолтятся :-(А шнурки ты не погладил? Тьфу, то-есть баг то ты не написал? А то у меня например работает замечательно.
На выходных решил выяснить, из-за чего же у меня тестовая программа (рендерит простую картинку в Pixmap, а потом XCopyArea'ит её в видимое окно) начала падать с определённых версий Mesa.git bisect определил виновный коммит: 3da735cc4c478b0ab2ecc2164899cf9d77dc671a. В патче с виду ничего страшного нет, но с ним падает, а без него — нет. Оказалось, если добавить только строчку #include "compiler.h", то падает. Убираешь — не падает. Копируешь compiler.h в compiler-tmp.h, строчку заменяешь на #include "compiler-tmp.h" — падает. Заменяешь include guards в этом compiler-tmp.h — не падает.
Вся суть оказалась в assert(). Из-за разного порядка включения заголовков в одних файлах макрос NDEBUG определён, а в других нет. Тайна плавающих багов раскрыта!
> Вся суть оказалась в assert(). Из-за разного порядка включения заголовков в одних
> файлах макрос NDEBUG определён, а в других нет. Тайна плавающих багов раскрыта!Вот это я понмиаю - правильный подход к делу! Ну что, Зенитар, ты понял как с багами на самом деле надо? :)
Совсем правильный подход — починить баг. Меня хватило только на выяснение того, что Mesa тут не причём. Она посылает запрос в X сервер, а тот возвращает нули. В этот момент мне стало особенно грустно, так как цепляться отладчиком к X серверу, под которым я работаю, как-то уже совсем неудобно.
Интересно, содатели Mesa уже как-то прокомментировали Vulkan?
Интересно они уже начали пилить этот вулкан? Или как обычно, сначала он выйдет, а потом только приступят к написанию? Есть где посмотреть планы по нему или уже статус работы?
Они будут ждать пока выйдет + пока начнется шумиха, и только после этого начнут пилить. Т.ч. ждать нам как минимум разработчиков стандарта, потом разработчиков железа, потом разработчиков игр и потом разработчиков игр. Все они параллельно работать не могут, и даже более того выдерживают паузы между друг другом.
Я почему-то всегда думал что сначала железячники начинают, потом пишется более-менее софт (кому нужна железка без дров?) а потом когда в железе есть хоть что-то то и стандартиризация происходит.
> Интересно, содатели Mesa уже как-то прокомментировали Vulkan?На него спеков еще нет - его при всем желании сложно начать реализовывать: потом придется половину переделывать :)
> На него спеков еще нет - его при всем желании сложно начать
> реализовывать: потом придется половину переделывать :)Как это нет ?Основа есть и врядли будут что то переделывать кроме переименование функций .Основные участники согласились что Matle подходит ,требуется только косметические правки .
> Как это нет ?Основа есть и врядли будут что то переделывать
> кроме переименование функций .Основные участники согласились что Matle
> подходит ,требуется олько косметические правки .И тем не менее, факт остается фактом: пока на Vulkan нет спеков. А бег впереди паровоза... ну я понимаю если бы у разработчиков MESA было столь дофига реурсов что поработать в 50% на трэш их бы не напрягало. Но у них вон там GL4.x недопилен, и им реально существующие игры и программы пользуются. А на вулкан даже спеков нет. А пока им начнут реально пользоваться - пройдет энное время.
Знаешь, есть такая фигня в разработке - приоритеты назыывается. И очень хорошо когда их умеют разумно расставлять. Ну вон например GL 3.x добили, вместо размахов на рубль, и заработала туева хуча софта, в том числе достаточно тяжелые игрушки. MESA стали достаточно серьезно рассматривать как живой проект и подключились крупные игроки (интел, амд и даже немного нвидия).
> На него спеков еще нет - его при всем желании сложно начать
> реализовывать: потом придется половину переделывать :)Как это нет ?Основа есть и врядли будут что то переделывать кроме переименование функций .Основные участники согласились что Matle подходит ,требуется только косметические правки .
Выпуском драйвера для интела, а что?
Гм, автор, список расширений - это конечно хорошо, но для всех кроме 3х гиков "в теме" - китайская грамота. Главные 2 вопроса - "в каких дистрах оно уже есть" и "что можно делать/что теперь заработает" с этими расширениями. ИМХО.
> 3х гиков "в теме" - китайская грамота.Ну если на то пошло, 95% населения - идио^W пользуются виндой.
> "в каких дистрах оно уже есть"
В убунтах - за счет oibaf PPA :). Там впрочем 10.7-dev. А так - оно вышло СЕГОДНЯ. Не зело ли прытко хотеть дистр где "уже есть"? :)
> и "что можно делать/что теперь заработает" с этими расширениями. ИМХО.
Очень масштабный вопрос. Процесс разработки софта - это не так что бац и сразу что-то как-то, все РЕЗКО работает и вообще, из полного трэша - полный ЗБС. Так не бывает. Это постепенный процесс, по мере реализации начнет работать все больше и больше самого разного софта. По факту с 10.6 работают уже довольно многие "тяжелые" движки, типа игр из стима. Ну да, пока не все - GL 4.x еще не полный.
> В драйвере r600 реализована возможность использования эффективного бэкенда SB для обработки геометрических шейдеров на старых GPUа как же раскрутка хомячков на покупку новых видеоадаптеров?
>> В драйвере r600 реализована возможность использования эффективного
> а как же раскрутка хомячков на покупку новых видеоадаптеров?r600 пилят те, что не раскрутились. И раскрутчики не могли этому помешать. Идилия.
>>> В драйвере r600 реализована возможность использования эффективного
>> а как же раскрутка хомячков на покупку новых видеоадаптеров?
> r600 пилят те, что не раскрутились. И раскрутчики не могли этому помешать. Идилия.Your daily dose of confusion:
""The AMD GPU LLVM back-end was originally called "R600" and that's how it's been in the LLVM tree, even though it supports modern-day AMD GCN GPUs too. This back-end is shared by hardware not only used by the R600 Gallium3D driver but also the RadeonSI Gallium3D driver -- basically, all of the relevant GPUs are supported by this compiler back-end. However, in calling it R600 could lead to some confusion [...] --http://www.phoronix.com/scan.php?page=news_item&px=AMD-R600-...
Понятно, что переименовано оно не в релизе.
>Из расширений GL 4.0 и GLSL 4.0 осталось реализовать только GL_ARB_shader_subroutine и GL_ARB_tessellation_shader, из GL 4.1 - GL_ARB_shader_precision, а из GL 4.2 - GL_ARB_shader_image_load_store. Работа над реализацией данных расширений уже началась.О том что работа началась пишут уже не первый год в каждой новости про выходы новых версий mesa. Чем-то ситуация напоминает новости о том что переход Lubuntu на LXQt с LXDE опять отложен с связи с неготовностью LXQt.
Да, только маленькое уточнение - там же меняются и версии GL и GLSL в сторону увеличения
Как оказалось, на свете не так уж много людей, способных запилить реализацию OpenGL, и большинство из них уже работает в nVidia.
> и большинство из них уже работает в nVidia.ЧСХ, стандартам оно не очень соответствует, просто как-то так вышло что игроделы отлаживаются в основном на нвидиях. Такой микрософтик мира GPU.
>Для драйверов nv50, nvc0, r600 и radeonsi и softpipe добавлена поддержка расширений GL_ARB_pipeline_statistics_query, GL_ARB_texture_stencil8, EGL_KHR_fence_sync, EGL_KHR_wait_sync и EGL_KHR_cl_event2;
>В драйвер radeonsi добавлена поддержка расширений GL_AMD_pinned_memoryЧто нибудь из этого отвечает за повышение производительности?
вы путаете мелкое с мягким
Не знаю как там в 10.6, но вот когда на ubunte появилась 10.7 - резко выросла играбельность в танках. На встроенном интеле 4400 держит 25 fps и не проседает в отличие от предыдущей версии, в которой при скроллинге прицела начиналось слайд-шоу. В общем на 10.7 уже можно играть не парясь.
FPS то увеличится? Вулкан ОреnGL уже в гроб уложил, зафига пилить новые расширения если фокус всех уже направлен на вулкан? Их никто использовать не будет, надо дотачивать скорость работы и фиксить баги. А всё новое - забота вулкана.
Вулкана ещё нет. И когда будет спека - неизвестно. Когда по ней будет железо - неизвестно тем более. когда будут движки, а на них приложения... В общем, ещё год можно вообще не дёргаться, а дальше начинать поглядывать, что к чему.
> Вулкана ещё нет. И когда будет спека - неизвестно. Когда по ней
> будет железо - неизвестно тем более. когда будут движки, а на
> них приложения... В общем, ещё год можно вообще не дёргаться, а
> дальше начинать поглядывать, что к чему.Вулкан основан на Mantle ,спеки практически не менялись кроме переименования и переделки пару функций ,по крайне мере заявлено что 90% игр c поддержкой Mantle заработают на Вулкане .Уже продают видеокарточки с заявленной поддержкой Вулкана .Например AMD Radeon R9 M375 .
> Вулкан основан на Mantle ,спеки практически не менялись кроме переименования и переделки
> пару функций ,Это все круто. Но спеков нет. И программ которые пользуются отсутствующими спеками - тоже нет. Поэтому это круто. Но - не первый приоритет. GL4.x добить явно приоритетнее - под него уже написано навалом софта. На самом деле разрабтчики местами уже немного прицеливаются, в том числе по части транслятора LLVM -> SPIR и прочая, но это пока сложно назвать крупномасштабными усилиями.
> поддержкой Mantle заработают на Вулкане .Уже продают видеокарточки с заявленной
> поддержкой Вулкана .Например AMD Radeon R9 M375 .Заявлять поддержку того на что еще спеки не вышли это круто - "мамой клянус, поддерживает". Маркетологи такие маркетологи :). Хотя спору нет - mantle как основа нового стандарта это очень сильный ход от амд, дающий им совершенно заслуженную технологическую фору, когда их новомодное апи станет базой нового стандарта. Так что остальным придется меньше корпеть с созданием нового стандарта, а амд быстро переделает драйвер поддерживающий mantle на vulkan достаточно легким патчингом и станет в первых рядах тех кто поддерживает новый стандарт.
> Заявлять поддержку того на что еще спеки не вышли это круто -
> "мамой клянус, поддерживает". Маркетологи такие маркетологи :). Хотя спору нет -
> mantle как основа нового стандарта это очень сильный ход от амд,
> дающий им совершенно заслуженную технологическую фору, когда их новомодное апи станет
> базой нового стандарта.Это уже было для модемов - зуксель клялся что когда выйдут спеки - с новой прошивкой будет потдерживать v.90 .Как не странно спустя полгода с утверждением стандарта обещание выполнил ,правда только с 2 версией прошивки .....
Поддержка Vulkan заявлена у новых карточек 300х серии от AMD.
Рекламу поменьше смотрите, может что-то от мозга ещё сохранится >_<
Fallout 4 пойдёть на ентой мезе?
Только если у тебя комп не хуже Пентиума второго!
Невидия поджимает гайки свободному драйверу.
> Невидия поджимает гайки свободному драйверу.Как она их поджимает? Отключает моск свободных разработчиков? Защищает свою интеллектуальную собственность?
>> Невидия поджимает гайки свободному драйверу.
> Как она их поджимает? Отключает моск свободных разработчиков? Защищает свою интеллектуальную
> собственность?В новых картах теперь проверяется цифровая подпись микрокода - соответственно со свободными прошивками не работает .Не предоставляет спеки разработчикам ,а реверсировать дело не такое простое .
У мну первый, но MMX! Буду играть с настройками графики.