mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-18 23:48:22 +02:00
read-only mirror of https://gitlab.freedesktop.org/mesa/mesa
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> |
||
|---|---|---|
| .ci-farms | ||
| .ci-farms-disabled | ||
| .github/workflows | ||
| .gitlab | ||
| .gitlab-ci | ||
| .marge/hooks | ||
| android | ||
| bin | ||
| build-support | ||
| docs | ||
| include | ||
| licenses | ||
| src | ||
| subprojects | ||
| .clang-format | ||
| .clang-format-ignore | ||
| .clang-format-include | ||
| .dir-locals.el | ||
| .editorconfig | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .graphqlrc.yml | ||
| .mailmap | ||
| .mr-label-maker.yml | ||
| .shellcheckrc | ||
| clippy.toml | ||
| CODEOWNERS | ||
| meson.build | ||
| meson.options | ||
| README.rst | ||
| rustfmt.toml | ||
| VERSION | ||
`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.