Find a file
Iago Toral Quiroga ce13aa4ee7 broadcom/compiler: improve allocation for final program instructions
The last 3 instructions can't use specific registers so flag all the
nodes for temps used in the last program instructions and try to
avoid assigning any of these. This may help us avoid injecting nops
for the last thread switch instruction.

Because regisster allocation needs to happen before QPU scheduling
and instruction merging we can't tell exactly what the last 3
instructions will be, so we do this for a few more instructions than
just 3.

We only do this for fragment shaders because other shader stages
always end with VPM store instructions that take an small immediate
and therefore will never allow us to merge the final thread switch
earlier, so limiting allocation for these shaders will never improve
anything and might instead be detrimental.

total instructions in shared programs: 11471389 -> 11464335 (-0.06%)
instructions in affected programs: 582908 -> 575854 (-1.21%)
helped: 4669
HURT: 578
Instructions are helped.

total max-temps in shared programs: 2230497 -> 2230150 (-0.02%)
max-temps in affected programs: 5662 -> 5315 (-6.13%)
helped: 344
HURT: 44
Max-temps are helped.

total sfu-stalls in shared programs: 18068 -> 18077 (0.05%)
sfu-stalls in affected programs: 264 -> 273 (3.41%)
helped: 37
HURT: 48
Inconclusive result (value mean confidence interval includes 0).

total inst-and-stalls in shared programs: 11489457 -> 11482412 (-0.06%)
inst-and-stalls in affected programs: 585180 -> 578135 (-1.20%)
helped: 4659
HURT: 588
Inst-and-stalls are helped.

total nops in shared programs: 301738 -> 298140 (-1.19%)
nops in affected programs: 14680 -> 11082 (-24.51%)
helped: 3252
HURT: 108
Nops are helped.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450>
2023-10-13 22:37:42 +00:00
.ci-farms Revert "ci/lima: farm is down, disable for now" 2023-10-13 11:52:42 +00:00
.ci-farms-disabled Revert "ci/lima: farm is down, disable for now" 2023-10-13 11:52:42 +00:00
.github/workflows add zink to macos ci 2022-11-22 19:04:13 +00:00
.gitlab issue_templates/Bug Report: fix outdated URL for GFXReconstruct 2023-09-14 10:22:39 +00:00
.gitlab-ci ci: Uprev virglrenderer 2023-10-12 19:22:33 +00:00
android Android.mk: Only link LLVM for radeonsi, not amd_vk 2023-09-15 18:43:02 +00:00
bin ci_run_n_monitor: dependency jobs must always be started 2023-10-13 18:37:56 +00:00
build-support configure: commit test files 2017-10-16 16:32:43 -07:00
docs docs: update etnaviv extensions 2023-10-13 19:42:01 +00:00
include include/dri_interface.h: restore define mistakenly removed in !25587 2023-10-13 06:11:02 +00:00
src broadcom/compiler: improve allocation for final program instructions 2023-10-13 22:37:42 +00:00
subprojects meson: add wayland-protocols from meson wrapdb 2023-10-13 16:44:31 +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 i915: Re-clang-format and enforce it in CI. 2023-10-09 17:14:09 +00:00
.dir-locals.el
.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 freedreno: Add reformatting commits to .git-blame-ignore-revs 2023-09-22 02:07:36 +00:00
.gitattributes Add new rules to .gitattributes 2022-01-19 15:17:17 +00:00
.gitignore .gitignore: add VSCode and VSCodium 2022-11-21 23:09:30 +00:00
.gitlab-ci.yml ci: unify container and build jobs rules 2023-09-26 18:06:23 +00:00
.graphqlrc.yml ci/bin: Add utility to find jobs dependencies 2022-08-03 23:10:37 +00:00
.mailmap .mailmap: add an alias for Christian Gmeiner 2023-06-08 09:16:25 +00:00
CODEOWNERS CODEOWNERS: Add @flynnjiang for VirGL video 2023-08-23 08:35:08 +00:00
meson.build vulkan/runtime: add compute astc decoder helper functions 2023-10-11 19:28:40 +00:00
meson_options.txt nvk: Rip out old UAPI support 2023-09-26 05:05:26 +00:00
README.rst docs: promote #dri-devel on oftc over freenode 2021-05-24 09:21:48 +00:00
VERSION VERSION: bump to 23.3.0-devel 2023-07-12 11:13:17 -07: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://mesa3d.org/install.html>`_), but the recommended way is to use
Meson (`docs/meson.rst <https://mesa3d.org/meson.html>`_):

.. code-block:: sh

  $ mkdir build
  $ cd build
  $ meson ..
  $ sudo ninja 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://mesa3d.org/bugs.html>`_).


Contributing
------------

Contributions are welcome, and step-by-step instructions can be found in our
documentation (`docs/submittingpatches.rst
<https://mesa3d.org/submittingpatches.html>`_).

Note that Mesa uses gitlab for patches submission, review and discussions.