Mesa 3D
В этой статье может бытьслишком многоссылок на другие статьи,и, возможно, их количествонужно сократить. |
Mesa 3D | |
---|---|
Тип | графическая библиотека[вд],библиотека функцийибиблиотека на C[вд] |
Автор | Брайан Пол[вд][1] |
Разработчики | Intel[4],Red Hat[4],Tungsten Graphics[вд][4],VMware[4],Advanced Micro Devices,Collabora[вд],Valve,Кеннет Уильям Граунке[вд],Ян Дамиан Романик[вд],Кайо Марсело де Оливейра Филью[вд][5],Тимоти Арсери[вд]иJosé R Fonseca[вд] |
Написана на | C++[6],Си[7]иязык ассемблера[7] |
Операционные системы | Linux,FreeBSD,NetBSD,OpenBSDиHaiku |
Первый выпуск | август1993[1] |
Последняя версия | |
Кандидат в релизы | |
Репозиторий | gitlab.freedesktop.org/m… |
Лицензия | лицензия MIT[8][9] |
Сайт | mesa3d.org(англ.) |
Медиафайлы на Викискладе |
Mesa—свободнаяреализацияграфическихAPIOpenGL,Vulkanи других спецификаций, а также набор видеодрайверовпространства пользователядляGPUAMD/ATIRadeon,Intel,Nvidia,Qualcomm.
Mesa ориентирована на обеспечение высокой производительности при работе с3D-графикой,в том числе за счёт использованияаппаратного ускоренияработы с графикой, поддерживаемогографическими процессорами.Mesa, называемая также «Mesa3D», лежит в основе графического стека свободныхUNIX-подобныхоперационных систем,в основномдистрибутивов Linuxи дистрибутивов*BSD,так что на этих операционных системах без использования Mesa невозможно добиться работы графического интерфейса,окружения рабочего стола,современных приложений, использующихграфический интерфейс,3D-графики, в том числеигр,производительность в которых во многом зависит от развития Mesa. Поэтому для всех пользователей дистрибутивовGNU/Linuxи*BSD,использующих графический интерфейс, Mesa является чрезвычайно важным компонентом их графического стека, и её регулярное обновление до самых новых версий имеет большое значение для всех пользователей свободныхUNIX-подобных операционных систем.
Наиболее востребованными компонентами Mesa являются графические драйверыпространства пользователядля видеопроцессоровIntelиRadeon,которые в основном разрабатываются и финансируются компаниямиIntel,AMD,Red Hat,но также и другими крупными компаниями, например,Valveиз-за их заинтересованности в развитииSteam OS.Но так как в разработке программ с открытым исходным кодом может принять участие любой желающий, в разработке Mesa принимают участие все, кто заинтересован в дальнейшем развитии этого проекта, и при этом имеет возможность и желание участвовать в разработке. Например, компанияNvidia,в отличие отIntelиAMD,не способствует развитию Mesa, а вместо этого разрабатывает свой собственныйпроприетарныйвидеодрайверсзакрытымисходным кодом,включающий в себя свой собственный отдельно подключаемый видеодрайверLinuxи свои собственные реализацииAPIOpenGLиVulkan.ПоэтомуNouveau—свободныйграфическийдрайвердля графических процессоровNvidia,в отличие от драйверов дляAMD/ATIRadeonиIntelGPUв основном разрабатывается усилиями сообщества и компанииRed Hat,а не самого производителя графических процессоровNvidia.Mesa реализует кросс-языковой, кросс-платформенный (в основном, для дистрибутивовBSDиGNU/Linux), стандартныйAPI-интерфейс, нейтральный к любым поставщикамGPU,для взаимодействия с различными аппаратными драйверами для конкретных производителей GPU.
Помимо3D-приложений, таких как, например,игры,современныеменеджеры окон(X.org/GlamorилиWayland/Weston) тоже используютVulkan/OpenGL/EGL, реализацию которых предоставляет Mesa. Поэтому это — ещё одна причина, по которой вся графика вUNIX-подобныхОС соткрытымисходным кодомобычно проходит через Mesa.
Ранее разработка Mesa происходила наfreedesktop.org,но послесостоялсяпереезднаGitLab.org(Архивная копияот 14 февраля 2021 наWayback Machine), где сейчас и происходит разработка. Разработка Mesa была впервые начата в августе 1993 года Брайаном Полом, который все ещё активно участвует в проекте. Впоследствии Mesa была широко принята и теперь содержит многочисленные вклады различных независимых людей и представителей корпораций со всего мира, в том числе от производителейграфических процессоров,входящих вKhronos Group,которые администрируют спецификацииOpenGLиVulkan.ДляGNU/Linuxбыстрое развитие Mesa также, кроме того, частично было вызванодобровольным сбором денегна разработку.
История
[править|править код]Проект был начат в августе1993 годаБрайаном Полом (англ.Brian Paul) как простая библиотека трёхмерной графики, реализующаяOpenGLAPI.
Версия | Выпущена | Комментарий |
---|---|---|
1.0 | февраль1995 | первая версия библиотеки, опубликованная в интернете |
2.0 | октябрь1996 | реализация спецификацииOpenGL1.1 |
2.2 | март1997 | поддержка новых видеокарт3dfxVoodooчерез библиотекуGlide |
3.0 | сентябрь1998 | первая общественно-доступная реализацияOpenGL1.2API |
4.0 | октябрь2001 | реализацияOpenGL1.3 |
5.0 | ноябрь2002 | реализацияOpenGL1.4 |
6.0 | январь2003 | реализацияOpenGL1.5, а также расширений GL_ARB_vertex_program и GL_ARB_fragment_program |
7.0 | июнь2007 | реализацияOpenGL2.1 иOpenGL Shading Language. |
7.0.3 — 7.4.4 | апрель2008— июнь2009 | исправление ошибок, внутренние изменения |
7.5 | июль2009 | добавлена архитектураGallium3D |
7.5.1 — 7.10.2 | сентябрь2009— апрель2011 | исправление ошибок, внутренние изменения |
8.0 | февраль2012 | реализацияOpenGL3.0, исправление ошибок и чистка кода |
9.0 | октябрь2012 | реализацияOpenGL3.1 |
10.0 | декабрь2013 | реализацияOpenGL3.3 |
11.0 | сентябрь2015 | реализацияOpenGL4.1 |
12.0 | июль2016 | реализацияOpenGL4.3 |
13.0 | ноябрь2016 | реализацияOpenGL4.5 |
17.0 | февраль2017 | Новая схема нумерации версий,OpenGL4.5(+дополнительные ARBs),OpenGLES 3.2 |
17.1 | 10 мая2017 | Реализация новых расширенийOpenGL,Vulkan,дискового кэша RadeonSL |
17.2 | 5 сентября2017 | Реализация новых расширенийVulkanиOpenGL,начальная реализацияOpenGL4.6, значительное улучшение производительности |
17.3 | 8 декабря2017 | Реализация новых расширенийVulkanиOpenGL,реализация дискового кэша RADV, значительное улучшение производительности |
Лицензия
[править|править код]Лицензия Mesa считалась свободной, но в 2008 году возникли вопросы[10][11][12][13][14][15]насчёт небольших частей кода, распространявшихся под лицензиямиSGI Free Software License Bверсии 1.1 иGLX Public License— они оказались несвободными.[16]19 февраля 2008 годаSGIобъявила о выходе гораздо более простой и одобреннойFSFиKhronos GroupSGI Free Software License B версии 2.0[17],и лицензировании под ней примеры реализацииOpenGL,GLX API и других расширенийGLX.[18]
Реализации API
[править|править код]API | Vulkan | OpenCL | OpenGL | OpenGL ES | OpenVG | EGL | GLX | Direct3D | ||
---|---|---|---|---|---|---|---|---|---|---|
Версия | Дата | Последнее обновление | 1.0 2016-02-16 |
2.1 2015-11-11 |
4.5 2014-08-11 |
3.2 2015-08-10 |
1.1 2008-12-03 |
1.5 2014-03-19 |
1.4 2005-12-16 |
12.0 2015-07-29 |
17.0 | 2017-03-20 | 17.0.2 | 1.0 | 4.5 (+ доп. ARB) | 3.2 | 1.5 | 1.4 | 9.0c[19][20] | ||
13.0 | 2016-11-01.iso.2024 | 13.0.6 | N/A | 4.5 | N/A[21] | |||||
12.0 | 2016-07-08.iso.2024[22] | 12.0.6 | 4.3[22] | 3.1 | ||||||
11.2 | 2016-04-04.iso.2024[23] | 11.2.2 | N/A | 4.1[24] | ||||||
11.1 | 2015-12-15.iso.2024[25] | 11.1.4 | 3.0 | |||||||
11.0 | 2015-09-12.iso.2024[26] | 11.0.9 | ||||||||
10.6 | 2015-06-15.iso.2024[27] | 10.6.9 | 3.3[28] | 1.4 | ||||||
10.5 | 2015-03-06.iso.2024[29] | 10.5.9 | 1.1 | |||||||
10.4 | 2014-12-14.iso.2024[30] | 10.4.7 | ||||||||
10.3 | 2014-09-19.iso.2024[31] | 10.3.7 | N/A | |||||||
10.2 | 2014-06-06.iso.2024[32] | 10.2.9 | ||||||||
10.1 | 2014-03-04.iso.2024[33] | 10.1.6 | ||||||||
10.0 | 2013-11-30.iso.2024[34] | 10.0.5 | ||||||||
9.0 | 2012-10-08.iso.2024 | 9.0.3, 9.1.7, 9.2.5 | 3.1[35] | 2.0 | ||||||
8.0 | 2012-02-08.iso.2024 | 8.0.5 | 3.0 | |||||||
7.0 | 2007-06-22.iso.2024 | 7.0.4,…, 7.11.2 | 2.1 | N/A | N/A | N/A | ||||
6.0 | 2004-01-06.iso.2024 | 6.0.1 | 1.5 | 1.3 | ||||||
5.0 | 2002-11-13.iso.2024 | 5.0.2 | 1.4 | |||||||
4.0 | 2001-10-22.iso.2024 | 4.0.4 | 1.3 | |||||||
3.0 | 1998-09.iso.2024 | 3.1, 3.2.1, 3.4.2.1 | 1.2 | |||||||
2.0 | 1996-10.iso.2024 | 2.6 | 1.1 | |||||||
1.0 | 1995-02.iso.2024 | 1.2.8 | 1.0 | |||||||
Легенда: Старая версия, не поддерживается Старая поддерживаемая версия Текущая версия Будущая версия |
Примечания
[править|править код]- ↑12http:// mesa3d.org/intro.html
- ↑[ANNOUNCEmesa 24.3.0]— 2024.
- ↑[ANNOUNCEmesa 24.3.0-rc2]— 2024.
- ↑1234http:// mesa3d.org/developers.html
- ↑https:// supergoodcode /meatballs/
- ↑https:// openhub.net/p/mesa/analyses/latest/languages_summary
- ↑12https:// openhub.net/p/mesa
- ↑https:// mesa3d.org/license.html
- ↑The mesa Open Source Project on Open Hub: Licenses Page— 2006.
- ↑gNewSense Bugs: Free as in freedom | Bugs / xserver-xorg: wordy SGI license may not be freeАрхивировано27 сентября 2008 года.
- ↑#211765 — xorg-server: material under GLX Public License is not DFSG-free — Debian Bug report logs .Дата обращения: 19 сентября 2008.Архивировано13 мая 2015 года.
- ↑Export clauses in XFree86 licensing .Дата обращения: 19 сентября 2008.Архивировано1 октября 2012 года.
- ↑Non-free (?) GLX code under GLX Public License and SGI Free Software Licence B .Дата обращения: 19 сентября 2008.Архивировано29 декабря 2014 года.
- ↑Licensing:Main — FedoraProject .Дата обращения: 19 сентября 2008.Архивировано22 сентября 2012 года.
- ↑Various Licenses and Comments about Them — GNU Project — Free Software Foundation (FSF) .Дата обращения: 12 сентября 2015.Архивировано24 сентября 2015 года.
- ↑Various Licenses and Comments about Them(англ.).Free Software Foundation(17 сентября 2008). Дата обращения: 20 сентября 2008. Архивировано изоригинала22 августа 2011 года.
- ↑Thank you SGI, for freeing the GNU/Linux 3D desktop!(англ.).Free Software Foundation(19 сентября 2008). Дата обращения: 20 сентября 2008. Архивировано изоригинала24 августа 2011 года.
- ↑???(англ.).SGI(19 сентября 2008). Дата обращения: 20 сентября 2008. Архивировано изоригинала24 августа 2011 года.
- ↑latest patches to "nine" state tracker (4 февраля 2016). Дата обращения: 21 июля 2016.Архивировано3 августа 2020 года.
- ↑Larabel, MichaelMesa 10.4 Officially Released With Direct3D 9 State Tracker .Phoronix(14 декабря 2014). Дата обращения: 11 июля 2015.Архивировано13 июля 2015 года.
- ↑Larabel, MichaelOpenVG Support Stripped From Gallium3D .Phoronix(4 марта 2015). Дата обращения: 11 июля 2015.Архивировано13 июля 2015 года.
- ↑12Mesa 12.0 Released With OpenGL 4.3 Support, Intel Vulkan & Many Other Features (8 июля 2016). Дата обращения: 8 июля 2016.Архивировано16 августа 2016 года.
- ↑[Mesa-announce] Mesa 11.2.0 .Дата обращения: 4 апреля 2016.Архивировано14 апреля 2016 года.
- ↑Mesa Release Notes .Дата обращения: 21 июля 2016.Архивировано4 июня 2016 года.
- ↑[Mesa-announce] Mesa 11.1.0 .Дата обращения: 15 декабря 2015.Архивировано7 марта 2016 года.
- ↑[Mesa-announce] Mesa 11.0.0 .Дата обращения: 26 сентября 2015.Архивировано27 сентября 2015 года.
- ↑[Mesa-announce] Mesa 10.6.0 .Дата обращения: 15 июня 2015.Архивировано9 марта 2016 года.
- ↑Larabel, MichaelFeatures To Be Found In Mesa 10.0 .Phoronix(26 октября 2013). Дата обращения: 21 июля 2016.Архивировано30 июня 2016 года.
- ↑[Mesa-announce] Mesa 10.5.0 .Дата обращения: 7 марта 2015.Архивировано7 марта 2016 года.
- ↑[Mesa-announce] Mesa 10.4.0 released .Дата обращения: 7 марта 2015.Архивировано2 апреля 2015 года.
- ↑[Mesa-announce] Mesa 10.3 released .Дата обращения: 7 марта 2015.Архивировано8 марта 2016 года.
- ↑[Mesa-announce] Mesa 10.2 released .Дата обращения: 7 марта 2015.Архивировано8 марта 2016 года.
- ↑[Mesa-announce] Mesa 10.1 released .Дата обращения: 7 марта 2015.Архивировано7 марта 2016 года.
- ↑[Mesa-announce] Mesa 10.0 released .Дата обращения: 7 марта 2015.Архивировано10 марта 2016 года.
- ↑Mesa 9.0 Release Notes .Mesa(8 октября 2012). Дата обращения: 11 июля 2015.Архивировано5 июня 2015 года.
См. также
[править|править код]Ссылки
[править|править код]- Официальный сайт(англ.)