Find a file
Pierre-Eric Pelloux-Prayer 064b477536 mesa/st: always use base_serialized_nir for draw
f2f640f35 introduces base variants, so we get 2 NIR shaders:
glsl-to-nir -> base_serialized_nir
            -> serialized_nir

Then, depending on who is using the shader the right one would be picked:

* draw uses base_serialized_nir
* hw driver uses serialized_nir

ef0c9231a7 made sure that base wasn't used when the shader is loaded from
the cache because it's missing, so in this case, glsl-to-nir does:

glsl-to-nir -> from-cache -> serialized_nir

The problem is that if draw tries to use this shader it may fail, for
the same reason as the referenced commits were introduced: draw may not
be compatible with some NIR passes used by the driver.

To fix this we need to serialize both NIR shaders, and pick the right
one depending on the user.

Fixes: ef0c9231a7 ("mesa/st: don't use serialized_nir for cached shaders")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36411>
(cherry picked from commit 0e3ec9e82c)
2025-08-27 08:59:52 +02:00
.ci-farms ci: Disable fd-farm 2025-06-04 15:52:44 +02:00
.ci-farms-disabled ci: Disable fd-farm 2025-06-04 15:52:44 +02:00
.github/workflows
.gitlab docs: update gitlab docs urls 2025-02-23 00:31:59 +01:00
.gitlab-ci ci: track changes to new src/x11/ folder 2025-08-13 12:59:05 +02:00
.marge/hooks ci: pipeline_message: reset empty errors 2025-01-07 05:08:10 +00:00
android Revert "android: Link with libc++fs up to SDK 35" 2025-06-04 15:52:50 +02:00
bin meson: only run symbols-check if nm is available 2025-07-16 16:23:07 +02:00
build-support
docs docs: add sha sum for 25.1.8 2025-08-13 16:22:24 +02:00
include intel/dev: Add BMG 0xe209 PCI ID 2025-08-13 12:59:05 +02:00
licenses licenses: add missing licenses 2025-01-08 20:37:51 +00:00
src mesa/st: always use base_serialized_nir for draw 2025-08-27 08:59:52 +02:00
subprojects subprojects: Stop calling add_languages() in paste-1-rs/meson.build 2025-08-27 08:59:51 +02:00
.clang-format
.clang-format-ignore
.clang-format-include r300: opt in to clang-format CI enforcement for the compiler 2024-10-15 09:24:02 +00:00
.dir-locals.el
.editorconfig meson: rename meson_options.txt 2025-02-09 08:13:27 +00:00
.git-blame-ignore-revs ir3: add reformatting commits to .git-blame-ignore-revs 2025-02-27 13:10:53 +00:00
.gitattributes
.gitignore .gitignore: add .cache folder 2024-05-13 14:32:12 +00:00
.gitlab-ci.yml ci: rename ci-tron priority tag to avoid conflict with the generic fdo runners 2025-04-03 11:25:12 +00:00
.graphqlrc.yml
.mailmap mailmap: Update my name 2025-02-19 21:57:26 +00:00
.mr-label-maker.yml meson: rename meson_options.txt 2025-02-09 08:13:27 +00:00
.pick_status.json mesa/st: always use base_serialized_nir for draw 2025-08-27 08:59:52 +02:00
.shellcheckrc ci: move shellcheck options to .shellcheckrc 2024-10-24 22:43:03 +00:00
CODEOWNERS docs: update gitlab docs urls 2025-02-23 00:31:59 +01:00
meson.build meson: Allow unnecessary_transmutes for bindgen 2025-07-16 16:23:09 +02:00
meson.options meson: stop building XA by default 2025-06-04 15:52:45 +02: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 for 25.1.8 2025-08-13 16:12:01 +02: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.