Find a file
Jose Maria Casanova Crespo a5485a9414 v3d: Don't load/store if rasterizer discard is enabled
This moves the tlb job load/store logic to the new helper
v3d_update_job_tlb_load_store. Then an early return is included
so if the rasterizer discard is enabled, no load/stores are
emitted because of the draw call.

This helps in situations where transform feedback is used
and there is only interest in the geometry results. We identified
that some jobs were not rendering at all, but they were having the
performance cost of doing several loads and stores.

This generates a huge performance improvement on manhattan benchmarks.

fps_avg  helped:  gl_gfxbench_manhattan.trace:     8.37 -> 11.54 (37.85%)
fps_avg  helped:  gl_gfxbench_manhattan31.trace:   6.02 ->  7.51 (24.62%)

total fps_avg in affected (through threshold) runs: 14.39 -> 19.04 (32.32%)

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32351>
2024-12-03 10:56:17 +00:00
.ci-farms Revert "ci: disable Collabora's farm due to maintenance" 2024-12-02 11:38:20 +00:00
.ci-farms-disabled Revert "ci: disable Collabora's farm due to maintenance" 2024-12-02 11:38:20 +00:00
.github/workflows add zink to macos ci 2022-11-22 19:04:13 +00:00
.gitlab gitlab: Reference hang debugging documenttion 2024-05-16 09:47:53 +00:00
.gitlab-ci Uprev Piglit to 468221c722481c470e6a23760b914c33143c2af6 2024-12-02 12:13:05 +00:00
.marge/hooks ci: move pipeline_summary tool to .marge/hooks 2024-12-02 19:22:59 -08:00
android Android15 support gralloc IMapper5 2024-10-29 12:32:04 +00:00
bin ci: move pipeline_summary tool to .marge/hooks 2024-12-02 19:22:59 -08: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 radv: advertise Vulkan 1.4 on GFX8+ 2024-12-03 10:21:55 +00:00
include vulkan: Update XML and headers to 1.4.303 2024-12-02 17:22:49 +00:00
src v3d: Don't load/store if rasterizer discard is enabled 2024-12-03 10:56:17 +00:00
subprojects meson: Update wayland-protocols to 1.38 2024-11-07 00:03:23 +00: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 r300: opt in to clang-format CI enforcement for the compiler 2024-10-15 09:24:02 +00:00
.dir-locals.el dir-locals.el: Adds White Space support 2016-11-14 19:17:49 +02:00
.editorconfig glsl: Fixes ident issue in glsl_parser.yy and update editorconfig for it 2022-12-16 19:02:17 +00:00
.git-blame-ignore-revs ir3: add reformatting commits to .git-blame-ignore-revs 2024-12-02 16:44:50 +00:00
.gitattributes gitlab: Highlight .cl as C 2023-11-02 11:37:46 +00:00
.gitignore .gitignore: add .cache folder 2024-05-13 14:32:12 +00:00
.gitlab-ci.yml ci: update the comment on MESA_VK_ABORT_ON_DEVICE_LOSS 2024-11-20 00:37:28 +00:00
.graphqlrc.yml ci/bin: Add utility to find jobs dependencies 2022-08-03 23:10:37 +00:00
.mailmap mailmap: update rohan's primary email address 2024-06-19 09:06:15 +00:00
.mr-label-maker.yml mr-label-maker: add gfxstream 2024-09-26 18:53:58 +00:00
.shellcheckrc ci: move shellcheck options to .shellcheckrc 2024-10-24 22:43:03 +00:00
CODEOWNERS CODEOWNERS: update for new pco compiler tree 2024-11-29 15:14:12 +00:00
meson.build meson/megadriver: support various lib suffixes 2024-11-26 20:45:41 +00:00
meson_options.txt meson: Remove experimental from gfxstream driver build 2024-11-19 00:42:52 +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.0 2024-11-07 17:57:57 +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.