Find a file
Mel Henning 515793d5bb nvk: Fix execution deps in pipeline barriers
We were under-synchronizing before. In particular, `stages` form
execution barriers even in the absence of a memory barrier in the
`access` flags.

The particular issue that prompted this was one where we weren't waiting
on a pipeline barrier in Baldur's Gate 3 with:

    srcStageMask == VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT &&
    srcAccessMask == VK_ACCESS_2_SHADER_READ_BIT &&
    dstStageMask == (VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
                     VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT) &&
    dstAccessMask == (VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
                      VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT)

Based on the spec and discussion in
https://github.com/KhronosGroup/Vulkan-Docs/issues/131 the read bit in
srcAccessMask doesn't really matter here - what matters is that there's
an execution barrier on the fragment stage which needs to prevent the
fragment shader exection from overlapping with the later call's
fragment tests (which write to the depth attachment).

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13909
Reviewed-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mohamed Ahmed <mohamedahmedegypt2001@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37671>
2025-10-11 16:58:24 +00:00
.ci-farms Revert "ci: disable Collabora's farm due to maintenance" 2025-10-06 13:00:52 +02:00
.ci-farms-disabled Revert "ci: disable Collabora's farm due to maintenance" 2025-10-06 13:00:52 +02:00
.github/workflows meson: remove unused osmesa option 2025-06-23 06:42:50 +00:00
.gitlab docs: update gitlab docs urls 2025-02-23 00:31:59 +01:00
.gitlab-ci pvr: Drop '-experimental' suffix from the 'imagination' build option 2025-10-10 15:29:04 +00:00
.marge/hooks ci: pipeline_message: reset empty errors 2025-01-07 05:08:10 +00:00
android android: fix building rules for i915, r300 2025-10-08 23:43:33 +02:00
bin ci,marge_queue: introduce testing 2025-10-09 12:12:42 +00:00
build-support meson: move tsan-blacklist.txt to build-support with the other build support files 2024-05-01 07:05:12 +00:00
docs docs/features: claim vk 1.2 for pvr 2025-10-10 15:29:03 +00:00
include vulkan: update spec to 1.4.328 2025-09-26 14:02:52 +00:00
licenses licenses: add missing licenses 2025-01-08 20:37:51 +00:00
src nvk: Fix execution deps in pipeline barriers 2025-10-11 16:58:24 +00:00
subprojects ci: Bump DirectX-Headers and Agility SDK dependencies to 1.618.1 2025-10-01 14:46:15 -04:00
.clang-format meson: enable the clang-format target 2023-05-29 11:57:08 +00:00
.clang-format-ignore ci: enforce formatting for RADV & ACO 2023-06-16 19:59:52 +00:00
.clang-format-include clang-format: Add src/imagination to .clang-format-include 2025-09-17 10:05:18 +00:00
.dir-locals.el
.editorconfig editorconfig: move OpenCL configuration to root 2025-08-30 22:49:08 -07:00
.git-blame-ignore-revs freedreno: Add register renaming to .git-blame-ignore-revs 2025-07-03 12:50:04 +00:00
.gitattributes gitlab: Highlight .cl as C 2023-11-02 11:37:46 +00:00
.gitignore intel/mda: Add code to produce mesa debug archives 2025-09-24 23:08:45 -07:00
.gitlab-ci.yml ci: Disable broken MR check in sanity job 2025-10-09 09:05:56 +00:00
.graphqlrc.yml
.mailmap mailmap: Update for Dylan Baker 2025-09-16 19:45:15 +00:00
.mr-label-maker.yml mr-label-maker.yml: remove remaining osmesa occurrences 2025-06-23 06:42:50 +00:00
.shellcheckrc ci: move shellcheck options to .shellcheckrc 2024-10-24 22:43:03 +00:00
CODEOWNERS intel: update code owners 2025-08-31 15:38:27 +00:00
meson.build pvr: Drop '-experimental' suffix from the 'imagination' build option 2025-10-10 15:29:04 +00:00
meson.options pvr: Drop '-experimental' suffix from the 'imagination' build option 2025-10-10 15:29:04 +00:00
README.rst docs: Match README installation guide with meson.rst 2024-07-27 11:53:53 +00:00
rustfmt.toml mesa: Add rustfmt.toml 2024-11-18 22:29:14 +00:00
VERSION VERSION: bump to 25.3 2025-07-16 13:50:24 +00: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://docs.mesa3d.org/install.html>`_), but the recommended way is to use
Meson (`docs/meson.rst <https://docs.mesa3d.org/meson.html>`_):

.. code-block:: sh

  $ meson setup build
  $ ninja -C build/
  $ sudo ninja -C build/ 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://docs.mesa3d.org/bugs.html>`_).


Contributing
------------

Contributions are welcome, and step-by-step instructions can be found in our
documentation (`docs/submittingpatches.rst
<https://docs.mesa3d.org/submittingpatches.html>`_).

Note that Mesa uses gitlab for patches submission, review and discussions.