The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Инициатива по реализации в MESA выноса тяжелых операций в отдельные нити

17.11.2012 20:27

Независимый разработчик Marek Olšák продолжил оптимизировать узкие места в открытом графическом стеке. На этот раз он решил вынести ряд тяжелых операций в нити (thread offloading). В частности, ведется работа над реализацией асинхронных SwapBuffer-ов, работа с которыми ведется в отдельной нити.

Подобная инициатива позволит заметно увеличить скорость работы программ, которые ограничены производительностью CPU, например таких как игра OpenArena. Общая идея состоит в том чтобы с буферами работала отдельная нить драйвера, а библиотека libGL только инициировала эту операцию и получала уведомление о ее завершении через callback-функцию. К этому моменту можно обработать часть нового кадра не дожидаясь завершения (потенциально длительной) операции с буфером.

  1. Главная ссылка к новости (http://www.phoronix.com/scan.p...)
  2. OpenNews: Представлен патч для драйвера R600g, в ряде случаев существенно повышающий производительность
  3. OpenNews: В видеодрайвер Radeon добавлена поддержка DMA-BUF PRIME
  4. OpenNews: Для GPU Evergreen в открытом драйвере добавлена поддержка MSAA
Автор новости: Аноним
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/35356-mesa
Ключевые слова: mesa
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (38) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.13, Аноним (-), 11:19, 18/11/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Меса — это вообще не драйвера ни разу.
    >Меса — это реализация opengl.

    Ага, щаз.
    Ну уж если к концу 2012 года в головах нет ясности что да как, прочтите
    http://habrahabr.ru/post/148954/
    А то пишешь всякую чушь
    >И для тех кто в теме — опенарена (и все подобные, например смокинганс и этк) указана потому, что её движок был написан ещё в допотоковую эпоху, поэтому жрёт на 100% только один проц

    Да, тогда ещё не было понимания и не существовали Vertex Buffer Object и GLSL

     
     
  • 2.15, avsh_ (?), 14:41, 18/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > http://habrahabr.ru/post/148954/

    По ссылке:

    > К чему всё это? К тому, что, например, когда вы запускаете утилиту типа glxgears, она загружает mesa. Mesa загружает libdrm. Libdrm общается с драйвером ядра, используя GEM/TTM

     
     
  • 3.16, Аноним (-), 14:53, 18/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Mesa загружает libdrm

    Штука в том, что libgl.so для каждой железяки свой.

     
     
  • 4.19, Аноним (-), 15:27, 18/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    И?
     
  • 4.20, ананим (?), 15:27, 18/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    брехня.
    # ls -l /usr/lib64/libGL.so*
    lrwxrwxrwx 1 root root 32 нояб. 15 14:23 /usr/lib64/libGL.so -> opengl/xorg-x11/lib/libGL.so.1.2
    lrwxrwxrwx 1 root root 32 нояб. 15 14:23 /usr/lib64/libGL.so.1 -> opengl/xorg-x11/lib/libGL.so.1.2
    # ls -l /usr/lib64/opengl/xorg-x11/lib/libGL.so.1.2
    -rwxr-xr-x 1 root root 405648 сент. 24 00:22 /usr/lib64/opengl/xorg-x11/lib/libGL.so.1.2
    # equery belongs /usr/lib64/opengl/xorg-x11/lib/libGL.so.1.2
    * Searching for /usr/lib64/opengl/xorg-x11/lib/libGL.so.1.2 ...
    media-libs/mesa-8.0.4-r1 (/usr/lib64/opengl/xorg-x11/lib/libGL.so.1.2)

    >Штука в том, что libgl.so для каждой железяки свой.

    не для железки, а для каждой реализации opengl.
    т.е. для меса это будет один файл (см. выше), а для блобов нвидиа — другой.

     
     
  • 5.22, z (??), 19:12, 18/11/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А теперь правильный ответ: libGL обращается к dri-драйверу, который является реализацией OpenGL для каждой конкретной железяки/семейства, который в свою очередь обращается к libdrm, которая в свою очередь обращается к интерфейсу ядра в доме, который построил Джек

    /thread

     
     
  • 6.25, ананим (?), 19:46, 18/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >dri-драйверу, который является реализацией OpenGL для каждой конкретной железяки/семейства

    более глупой чуши я ещё не слышал. http://dri.freedesktop.org/wiki/
    >Mesa is an open-source OpenGL implementation, continually updated to support the latest OpenGL specification.
    >The Direct Rendering Infrastructure, also known as the DRI, is a framework for allowing direct access to graphics hardware under the X Window System in a safe and efficient manner. It includes changes to the X server, to several client libraries, and to the kernel (DRM, Direct Rendering Manager). The most important use for the DRI is to create fast OpenGL implementations providing hardware acceleration for Mesa.

    предложение «The most important use for the DRI is to create fast OpenGL implementations providing hardware acceleration for Mesa.» переводится так:
    «Наиболее важное применение DRI — это создание аппаратной акселерации в реализации opengl MESA»

    DRI — ни разу не opengl. Позволяет задействовать аппаратное ускорение в реализации opengl. а именно в MESA. Хотя меса может использоваться и в software opengl (NoDRI option to xorg.conf)

    Вам лучше молчать, чем говорить.

     
     
  • 7.30, Аноним (-), 12:36, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Позволяет задействовать аппаратное ускорение в реализации opengl.

    Задача драйвера видеокарты, напомни-ка мне, какая? Это раз.
    ДРИ часть месы, это два. Причём dri у каждой железяки свой

     
     
  • 8.35, ананим (?), 13:40, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ну, шарик, ты вАбще дебил DRI 8212 не часть mesa И ДАЖЕ НЕ ПОСТАВЛЯЕТСЯ С М... текст свёрнут, показать
     
     
  • 9.37, filosofem (ok), 13:48, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    мде src mesa drivers dri ... текст свёрнут, показать
     
     
  • 10.39, ананим (?), 15:54, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    а-ха это dri-driver, а не драйвер интерфейсная часть к dri по существу плагин... текст свёрнут, показать
     
     
  • 11.40, filosofem (ok), 16:33, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    мде 2 Да, это DRI Тот самы драйвер, о котором ты писал ... текст свёрнут, показать
     
     
  • 12.44, ананим (?), 21:02, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    а DRI 8212 не часть mesa и dri-driver всего-лишь не очень удачное название ... текст свёрнут, показать
     
     
  • 13.49, Аноним (-), 21:27, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    По-моему, вы пытаетесь сказать одно и то же но разными словами Вот и затупляете... текст свёрнут, показать
     
     
  • 14.50, ананим (?), 22:23, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну посмотрите с чего началась ветка ... текст свёрнут, показать
     
  • 14.52, filosofem (ok), 22:34, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    По-моему кто-то просто вилять пытается и представить как будто имел в виду совсе... текст свёрнут, показать
     
     
  • 15.53, ананим (?), 23:49, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    в меса нет драйверов и она не реализует DRI D... текст свёрнут, показать
     
     
  • 16.55, filosofem (ok), 00:54, 20/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вот видишь, Аноним, он опять за своё, а ты говоришь, что мы об одном и том же ... текст свёрнут, показать
     
  • 13.51, filosofem (ok), 22:27, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот зачем ты виляешь От одного отмазываешься, в другом сразу закапываешься ... текст свёрнут, показать
     
     
  • 14.54, ананим (?), 23:57, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    и не входят и это что, сложно понять а зачем отвечал был солидарен с ним, что... текст свёрнут, показать
     
     
  • 15.56, filosofem (ok), 01:07, 20/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Долгожданная ложка самокритики Удивлён, но одобряю ... текст свёрнут, показать
     
  • 7.32, z (??), 12:42, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >DRI — ни разу не opengl

    Конечно, ведь тёплое это не мягкое: dri-драйвер в Mesa реализует (аппаратное ускорение) OpenGL, enjoy your ignorance, хабрахомячки

     
     
  • 8.36, ананим (?), 13:44, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    dri-драйвер не в меса ты читать не умеешь или тупой могу повторить http dr... текст свёрнут, показать
     
     
  • 9.41, z (??), 16:41, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Доо-о, а тот же r600_dri so и компания, размером 20 Мб тоже наверное частью икс... текст свёрнут, показать
     
     
  • 10.45, ананим (?), 21:17, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    да хоть ду-ду-ду, а содержит в основном тэмплэйты к С и llvm см nm -C -D... текст свёрнут, показать
     
     
  • 11.57, z (??), 12:18, 20/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Лол, это значит парсер к AtomBIOS занимает 4МБ, и для интеловских карточек, и д... текст свёрнут, показать
     
  • 3.34, filosofem (ok), 13:37, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> http://habrahabr.ru/post/148954/
    > По ссылке:
    >> К чему всё это? К тому, что, например, когда вы запускаете утилиту типа glxgears, она загружает mesa. Mesa загружает libdrm. Libdrm общается с драйвером ядра, используя GEM/TTM

    Есть драйвера ядра, а есть юзерлэнд драйвера, которые тоже железоспецифичны. Последние сейчас входят в состав Mesa.

    ЗЫ популярная статья, перевод которой на хабре, ИМХО шлак. Хаброперевод думаю тоже шлак(хотя не читал), получается шлак в квадрате.

     
  • 2.18, ананим (?), 15:22, 18/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>Меса — это вообще не драйвера ни разу.
    >>Меса — это реализация opengl.
    >Ну уж если к концу 2012 года в головах нет ясности что да как, прочтите
    >http://habrahabr.ru/post/148954/
    >А то пишешь всякую чушь

    т.е. даже после прочтения этого ты утверждаешь, что меса — это драйвер?!!!!
    вау!
    реализации opengl как правило ПОСТАВЛЯЮТСЯ с драйвером, но это ни разу не драйвер.

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

     
     
  • 3.21, Аноним (-), 15:28, 18/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Для него и DirectX наверно драйвер мультимедийных устройств)
     
  • 3.31, Аноним (-), 12:41, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > т.е. даже после прочтения этого ты утверждаешь, что меса — это драйвер?!!!!
    > вау!
    > реализации opengl как правило ПОСТАВЛЯЮТСЯ с драйвером, но это ни разу не
    > драйвер.
    > это ж какой бред у вас в голове должен быть, когда на
    > неправильно сформированные понятия ещё и вылить такой суп сверху.

    Я утверждал, что меса это и реализация огл и открытые драйверы для конкретных карт. А то, что после тобой написанного, получалось, что проект меса чуть ли нештатная разделяемая библиотека уровня libjpeg.


     
     
  • 4.33, Аноним (-), 12:50, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >нештатная

    чуть ли незаштатная

     
  • 4.38, ананим (?), 13:54, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Я утверждал, что меса это и реализация огл и открытые драйверы для конкретных карт.

    я правильно понимаю, что если расставить знаки препинания, то ты имел в виду:
    >Я утверждал, что меса это и реализация огл, и открытые драйверы для конкретных карт.

    Так вот, это чушь.
    В составе меса НЕ идут драйвера.
    более того, меса полностью в user space.

    >А то, что после тобой написанного, получалось, что проект меса чуть ли нештатная разделяемая библиотека уровня libjpeg.

    так и есть. :D
    при чём согласно как стандарту на opengl, так и самому названию (GL).

     
     
  • 5.42, Аноним (-), 17:30, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    это уже даже несмешно. Успокойся.
    И да, выхлоп emerge ни разу не доказательство
     
     
  • 6.46, ананим (?), 21:21, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    разумеется не смешно — твоей дубоголовости поражаешься.
    >И да, выхлоп emerge ни разу не доказательство

    зато вот это доказательство.
    http://dri.freedesktop.org/wiki/
    >Mesa is an open-source OpenGL implementation, continually updated to support the latest OpenGL specification.
    >The Direct Rendering Infrastructure, also known as the DRI, is a framework for allowing direct access to graphics hardware under the X Window System in a safe and efficient manner. It includes changes to the X server, to several client libraries, and to the kernel (DRM, Direct Rendering Manager). The most important use for the DRI is to create fast OpenGL implementations providing hardware acceleration for Mesa.

    но ты видимо совершенно туп.

     
     
  • 7.48, ананим (?), 21:25, 19/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    зыж
    для тупых ещё раз повторю:
    >The Direct Rendering Infrastructure, also known as the DRI, is a framework for allowing direct access to graphics hardware under the X Window System in a safe and efficient manner. It includes changes to the X server, to several client libraries, and to the kernel (DRM, Direct Rendering Manager). The most important use for the DRI is to create fast OpenGL implementations providing hardware acceleration for Mesa.
    >The Direct Rendering Infrastructure, also known as the DRI, is a framework for allowing direct access to graphics hardware under the X Window System in a safe and efficient manner. It includes changes to the X server, to several client libraries, and to the kernel (DRM, Direct Rendering Manager).
    >is a framework for allowing direct access to graphics hardware under the X Window System in a safe and efficient manner. It includes changes to the X server, to several client libraries, and to the kernel (DRM, Direct Rendering Manager).
    >is a framework for allowing direct access to graphics hardware under the X Window System in a safe and efficient manner.

    under the X Window System in a safe and efficient manner.

     

  • 1.24, iZEN (ok), 19:38, 18/11/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это поднимет производительность отрисовки динамически сменяющих друг друга 3D-сцен примерно в три раза на современных 4-8 ядерных CPU (приходится учитывать потребности в вячислительных ресурсах других приложений/нитей).
     
     
  • 2.27, Аноним (-), 20:22, 18/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > в три раза на современных 4-8 ядерных CPU

    Мечтать не вредно - одна только асинхронная перекачка буферов все в целом в 3 раза врядли разгонит. Но часть кадра посчитать пока буфер заливается - очень даже можно. Распараллеливание операций налицо.

    Только вот ядерный тред делающий heavy lifting и провоцирующий коллбэк должен быть в ядреном драйвере GPU, если что. Я думаю ты понимаешь, что это означает...

     
  • 2.29, ананим (?), 21:18, 18/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Это поднимет производительность отрисовки динамически сменяющих друг друга 3D-сцен примерно в...

    Не факт.
    Если приложение само утилизирует имеющиеся ресурсы (возможно ограниченные например сигропс), то сабж може и помешать планировщику за счет лишнего переключения контекстов выполнения.

    Для опенарена — да.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру