Find a file
Faith Ekstrand a641fbb3f4 panvk: Improve base instance tracking for indirect draws
There's an issue with indirect draws where we do descriptor patching on
the command stream if the indirect baseInstance is non-zero.  In order
for this to work, we need to ensure we have N fresh attribute tables and
N fresh resource tables to reference them.  We tried to handle this by
smashing MESA_VK_DYNAMIC_VI to dirty whenever we might hit this case.
However, we originally placed this check before se actually computed
vi.attribs_changing_on_base_instance so the check was wrong if the
previous VI set didn't have VK_VERTEX_INPUT_RATE_INSTANCE anywhere.

Fortunately, if we ever hit that case and it mattered, VI would be dirty
so would re-emit anyway.

This commit adds a new BASE_INSTANCE driver dirty flag and sets that
whenever the base instance changes or we're an indirect draw.  Then we
can add some helpers which do some sanity assertion checks and make the
correctness far more clear overall.  This also lets us reduce some of
the calculation duplication to prevent things from getting out-of sync
in the future.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41654>
2026-06-23 09:26:28 +00:00
.ci-farms ci-farms/vmware: Disable vmware tests for now 2026-06-17 18:11:48 -07:00
.ci-farms-disabled ci-farms/vmware: Disable vmware tests for now 2026-06-17 18:11:48 -07:00
.github/workflows
.gitlab radv: introduce RADV_EXPERIMENTAL envvar for experimental features 2026-03-30 07:27:01 +00:00
.gitlab-ci rti: Initial commit 2026-06-21 17:10:43 +00:00
.marge/hooks marge/pipeline_message: print details for any pipeline that hasn't succeeded 2026-02-13 14:44:30 +00:00
android amd/virtio: enable Android amdgpu-virtio build option 2026-06-08 08:29:43 +00:00
bin tools: Update imgui to the docking branch and add backends 2026-06-21 17:10:43 +00:00
build-support
docs radv: implement VK_EXT_shader_split_barrier 2026-06-23 08:50:35 +00:00
include drm-uapi: Sync the panthor header 2026-06-19 18:20:30 +00:00
licenses
src panvk: Improve base instance tracking for indirect draws 2026-06-23 09:26:28 +00:00
subprojects perfetto: v56.1 update 2026-06-17 16:39:52 +00:00
.clang-format meson: Restore .clang-format for ninja clang-format target 2026-02-02 13:30:55 +00:00
.clang-format-ignore ethosu: Switch to the weight encoder from Regor 2026-03-23 07:45:55 +00:00
.clang-format-include kk: Enable code formatting enforcement 2026-05-25 15:30:32 +00:00
.dir-locals.el
.editorconfig editorconfig: Set for glsl files 2025-11-14 19:31:17 +00:00
.git-blame-ignore-revs
.gitattributes
.gitignore Revert "add VK CTS validation report for a0 interpolation fix" 2026-02-10 18:07:18 +00:00
.gitlab-ci.yml ci: changing .gitlab-ci.yml itself also means the container jobs must exist 2026-03-18 14:19:02 +00:00
.graphqlrc.yml
.mailmap mailmap: Update my email 2026-03-12 23:36:00 +00:00
.mr-label-maker.yml mr-label-maker: Add rule for new trace replay config files 2026-05-11 08:02:05 +00:00
.shellcheckrc
clippy.toml meson: Bump the minimum rust version to 1.85.0 2026-05-30 01:20:10 +00:00
CODEOWNERS CODEOWNERS: add Jay 2026-05-27 20:03:10 +00:00
meson.build rti: Initial commit 2026-06-21 17:10:43 +00:00
meson.options rti: Initial commit 2026-06-21 17:10:43 +00:00
README.rst
rustfmt.toml
VERSION VERSION: bump to 26.2 2026-04-15 13:15:35 +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.