mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-28 06:30:40 +02:00
read-only mirror of https://gitlab.freedesktop.org/mesa/mesa
This is preparatory work to expose support for importing semaphores, which was waiting on kernel multisync support. When we implemented user-space multisync support we didn't handle temporary fence/semaphore payload imports at all, so we fix that here. Also, we add a has_temp boolean flag to identify the case where we have a temporary payload in a fence/sempahore instead of just checking if temp_sync is not 0. This is necessary to support semaphore imports (for which we are not exposing support yet) because these need to drop the temporary payload when they are used as wait semaphores in a submit, but we can't destroy the underlying temp_sync at that point because it needs to survive at least until the submit is finished, so instead we use a flag to tell if we have an active temporary payload or not, and we simply destroy any temp_sync on a semaphore destroy or any new import on the same semaphore. We only strictly need this flag for semaphores because fences drop the temporary payload when they are reset, which happens in the CPU and can only be done if the GPU is not using the fence, but we add the same flag for the fence for consistency. Reviewed-by: Melissa Wen <mwen@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15342> |
||
|---|---|---|
| .gitlab/issue_templates | ||
| .gitlab-ci | ||
| android | ||
| bin | ||
| build-support | ||
| docs | ||
| include | ||
| src | ||
| subprojects | ||
| .dir-locals.el | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .mailmap | ||
| .travis.yml | ||
| CODEOWNERS | ||
| meson.build | ||
| meson_options.txt | ||
| README.rst | ||
| 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.