Find a file
Alyssa Rosenzweig 76377de99b panfrost: Fix leak of render node fd
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>
2021-08-16 16:08:10 +00:00
.gitlab/issue_templates issue_templates/Bug Report: Rename master branch to main 2021-05-05 12:20:11 -07:00
.gitlab-ci CI: Update Windows quick_gl baseline for mysterious new passes 2021-08-16 06:55:54 -07:00
android AOSP: Add panfrost vulkan library suffix 2021-08-16 09:18:46 +00:00
bin python: drop python2 support 2021-08-14 21:44:32 +00:00
build-support configure: commit test files 2017-10-16 16:32:43 -07:00
docs v3dv: implement VK_EXT_color_write_enable 2021-08-13 22:25:23 +00:00
include include/drm-uapi: Bump headers 2021-08-12 19:29:59 +00:00
src panfrost: Fix leak of render node fd 2021-08-16 16:08:10 +00:00
subprojects util: Perfetto SDK v15.0 2021-05-07 13:41:38 +00:00
.dir-locals.el
.editorconfig editorconfig: Use 3-space tabs for .rst 2021-06-22 17:37:55 +00:00
.gitignore intel/tools: Add unit tests for assembler 2019-05-07 14:33:48 -07:00
.gitlab-ci.yml gitlab-ci: stop installing python-is-python3 package 2021-08-14 21:44:31 +00:00
.mailmap mailmap: Add two more lines for Alyssa Rosenzweig 2021-07-12 23:45:34 +00:00
.travis.yml travis: Download XQuartz from GitHub. 2021-05-29 10:25:16 +00:00
meson.build frontends/va: Add AV1 parameter buffers functions 2021-08-13 09:24:01 -04:00
meson_options.txt meson: allow egl_native_platform to be specified 2021-07-21 23:12:58 +00:00
README.rst docs: promote #dri-devel on oftc over freenode 2021-05-24 09:21:48 +00:00
REVIEWERS Fix up leftover "state_trackers" references to "frontends" 2021-07-02 07:35:05 +00:00
VERSION VERSION: bump version for 21.3 development cycle 2021-07-14 10:22:12 -07:00

`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.