mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 05:08:08 +02:00
read-only mirror of https://gitlab.freedesktop.org/mesa/mesa
Transfer ownership of the render node fd to the panfrost_device (minor change to panvk), and then close the file descriptor for the render node bound to the panfrost_device when destroying the panfrost_device. Of all the users of panfrost_open_device, panvk is the only one that correctly closed the fd before. Accordingly, this fixes an fd leak in the Gallium driver (and performance counter utilities). This fix still applies to the Gallium driver when renderonly is in use-- although renderonly closes its own fd, the fd is _duplicated_ in panfrost_drm_winsys.c, so renderonly and panfrost must _both_ close their respective fd to fix the leak. This fixes a crash when running dEQP-EGL for more than two hours. dEQP-EGL creates a new screen for every test case and then immediately destroys it. If destroying a screen leaks the fd, this causes the number of open file descriptors to increase monotonically until the process ends. This will eventually hit the system limit for number of open files and abort the process. This bug was identified while attempting to run the OpenGL ES conformance tests via cts-runner, and then confirmed with `lsof`. With the fix, the number of file descriptors reported by `lsof | wc -l` is now constant while running dEQP-EGL as expected. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12346> |
||
|---|---|---|
| .gitlab/issue_templates | ||
| .gitlab-ci | ||
| android | ||
| bin | ||
| build-support | ||
| docs | ||
| include | ||
| src | ||
| subprojects | ||
| .dir-locals.el | ||
| .editorconfig | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .mailmap | ||
| .travis.yml | ||
| meson.build | ||
| meson_options.txt | ||
| README.rst | ||
| REVIEWERS | ||
| VERSION | ||
`Mesa <https://mesa3d.org>`_ - The 3D Graphics Library ====================================================== Source ------ This repository lives at https://gitlab.freedesktop.org/mesa/mesa. Other repositories are likely forks, and code found there is not supported. Build & install --------------- You can find more information in our documentation (`docs/install.rst <https://mesa3d.org/install.html>`_), but the recommended way is to use Meson (`docs/meson.rst <https://mesa3d.org/meson.html>`_): .. code-block:: sh $ mkdir build $ cd build $ meson .. $ sudo ninja install Support ------- Many Mesa devs hang on IRC; if you're not sure which channel is appropriate, you should ask your question on `OFTC's #dri-devel <irc://irc.oftc.net/dri-devel>`_, someone will redirect you if necessary. Remember that not everyone is in the same timezone as you, so it might take a while before someone qualified sees your question. To figure out who you're talking to, or which nick to ping for your question, check out `Who's Who on IRC <https://dri.freedesktop.org/wiki/WhosWho/>`_. The next best option is to ask your question in an email to the mailing lists: `mesa-dev\@lists.freedesktop.org <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>`_ Bug reports ----------- If you think something isn't working properly, please file a bug report (`docs/bugs.rst <https://mesa3d.org/bugs.html>`_). Contributing ------------ Contributions are welcome, and step-by-step instructions can be found in our documentation (`docs/submittingpatches.rst <https://mesa3d.org/submittingpatches.html>`_). Note that Mesa uses gitlab for patches submission, review and discussions.