Find a file
Jose Maria Casanova Crespo 519f631e6b
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
v3dv: gate Dawn-required limits and features behind V3D_WEBGPU_OVERRIDE
Exposes higher limits than the ones supported by the HW and several
ArrayDynamicIndexing features not yet implemented so the Dawn WebGPU
implementation can be used while it doesn't exercise these limits or
features.

The override is enabled using the V3D_WEBGPU_OVERRIDE=1 envvar. When
it is enabled it:

- Increases the framebuffer dimension limit from the real HW value
  (4096 on RPi4, 7680 on RPi5) to 8192.
- Bumps the advertised maxMipLevels reported per format from 13 to
  14 to match the bumped 8192-wide images and 15 for non-2D images.
  The TMU HW already supports that for sampling.
- Increases max_varying_components from 64 to 72 (HW limit is 64).
- Exposes features that are not actually implemented; CTS tests that
  exercise them will hit asserts in debug builds:
  - shaderUniformBufferArrayDynamicIndexing
  - shaderSampledImageArrayDynamicIndexing
  - shaderStorageBufferArrayDynamicIndexing
  - shaderStorageImageArrayDynamicIndexing
- Increases maxImageDimension1D   from 4096 to 16384
- Increases maxImageDimension2D   from 4096 to  8192
- Increases maxImageDimension3D   from 4096 to 16384
- Increases maxImageDimensionCube from 4096 to 16384

When V3D_WEBGPU_OVERRIDE is unset (the default), the driver
advertises the real HW limits already set up by the preceding
"use real HW framebuffer limit" change, so Vulkan CTS conformance
is unaffected.

To help diagnose applications that hit the over-advertised paths,
mesa_loge errors are emitted from three places:

- lower_vulkan_resource_index() warns before the existing UNREACHABLE
  for dynamic descriptor indexing, so the cause is visible in release
  builds where the assertion is compiled out.
- create_image() warns when vkCreateImage is called with attachment
  usage and dimensions above the real HW framebuffer limit. Storage
  and sampled-only images above that limit work fine via the TMU.
- job_compute_frame_tiling() erros when a render job width/height
  exceeds the real HW framebuffer limit.

The per-plane slices[] array in struct v3dv_image is sized at
V3D_MAX_MIP_LEVELS + 2 so the override case (which advertises 14/15
mip levels for the bumped 8192-wide 2D images and 16384 for 1D/3D images)
still fits without enlarging the default array.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42117>
2026-06-10 15:22:27 +00:00
.ci-farms Revert "ci: disable the valve-kws farm" 2026-06-08 11:20:42 +00:00
.ci-farms-disabled Revert "ci: disable the valve-kws farm" 2026-06-08 11:20:42 +00:00
.github/workflows meson: remove unused osmesa option 2025-06-23 06:42:50 +00:00
.gitlab radv: introduce RADV_EXPERIMENTAL envvar for experimental features 2026-03-30 07:27:01 +00:00
.gitlab-ci ci: bump fedora from 42 to 44 2026-06-10 13:53:26 +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 ci: add a new option called profile in ci_run_n_monitor.py 2026-06-10 07:59:20 +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 panvk: Advertise VK_GOOGLE_display_timing 2026-06-10 11:33:00 +00:00
include vulkan: Update spec to 1.4.353 2026-06-05 16:11:45 +02:00
licenses licenses: add missing licenses 2025-01-08 20:37:51 +00:00
src v3dv: gate Dawn-required limits and features behind V3D_WEBGPU_OVERRIDE 2026-06-10 15:22:27 +00:00
subprojects subprojects: Pull in the Rust xml crate 2026-06-02 21:19:26 +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 radv: Add re-format commit to .git-blame-ignore-revs 2025-11-12 07:55:36 +00:00
.gitattributes gitlab: Highlight .cl as C 2023-11-02 11:37:46 +00:00
.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 ci: move shellcheck options to .shellcheckrc 2024-10-24 22:43:03 +00:00
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 meson: exclude known buggy versions of bindgen 2026-06-10 13:53:25 +00:00
meson.options tu: add option to override the build ID 2026-06-04 12:44:13 +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 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.