1f7d2b4994
This provides most of the implementation, but there are some things we cannot enable until we improve of kernel submit interface, namely: We don't expose capacity to export SYNC_FD, although we do have the implementation in place. This requires that we improve our kernel interface and event wait implementation first so we can cover the corner case where the application submits a command buffer that includes a VkCmdWaitForEvents and tries to export a SYNC_FD from its signal semaphores or fence before it the event is signaled and the command buffer is sent to the kernel for execution in full. Likewise, we can't currently import semaphores. This is because our current kernel submit interface can only take one syncobj. We have been working around this so far by waiting on the last syncobj produced from the device whenever we had to wait on any semaphores (which is obviously suboptimal already), but this won't work as soon as we allow importing external semaphores, as those could (and would typically) be produced from a different device. Once we address the kernel bits, we should come back and enable SYNC_FD exports as well as semaphore imports. Relevant CTS tests: dEQP-VK.api.external.fence.* dEQP-VK.api.external.semaphore.* dEQP-VK.synchronization.cross_instance.* Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11105> |
||
---|---|---|
.gitlab/issue_templates | ||
.gitlab-ci | ||
bin | ||
build-support | ||
docs | ||
include | ||
src | ||
subprojects | ||
.dir-locals.el | ||
.editorconfig | ||
.gitignore | ||
.gitlab-ci.yml | ||
.mailmap | ||
.travis.yml | ||
Android.common.mk | ||
Android.mk | ||
CleanSpec.mk | ||
README.rst | ||
REVIEWERS | ||
VERSION | ||
meson.build | ||
meson_options.txt |
README.rst
`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.