Find a file
Kenneth Graunke 49b8ccbcdc intel/fs: Drop opt_register_renaming()
In the past, multiple writes to a single register were pretty common,
but since we've transitioned to NIR, and leave the IR in SSA form for
everything not captured in a phi-web, the pattern of generating new
temporary registers at each step is a lot more common.

This pass isn't nearly as useful now.  Across fossil-db on Alchemist,
this affects only 0.55% of shaders, which fall into two cases:

- Coarse pixel shading pixel-X/Y setup.  There are a few cases where
  we write a partial calculation into a register, then have a second
  instruction read that as a source and overwrite it as a destination.
  While we could use a temporary here, it doesn't actually help with
  register pressure at all, since there's the same amount of values
  live at both instructions regardless.  So while this pass kicks in,
  it doesn't do anything useful.

- Geometry shader control data bits (5 shaders total).  We track masks
  for handling EndPrimitive in a single register across the program,
  and apparently in some cases can split the live range.  However, it's
  a single register...only in geometry shaders...which use EndPrimitive.
  None of them appear to be in danger of spilling, either.  So this tiny
  benefit doesn't seem to justify the cost of running the pass.

So, just throw it out.  It's not worth keeping.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26343>
2023-12-19 11:07:18 +00:00
.ci-farms ci: lima farm is down 2023-12-18 23:32:07 +00:00
.ci-farms-disabled ci: lima farm is down 2023-12-18 23:32:07 +00:00
.github/workflows
.gitlab gitlab: make commit more commit-like formatted 2023-11-09 17:30:07 +00:00
.gitlab-ci ci: bare-metal: poe: Create strutured logs 2023-12-19 10:09:35 +00:00
android android.mk: Add option to pass arbitrary parameters to meson 2023-12-13 20:09:37 +00:00
bin ci: bare-metal: poe: Create strutured logs 2023-12-19 10:09:35 +00:00
build-support
docs nvk: Advertise VK_KHR_vulkan_memory_model 2023-12-15 22:38:45 +00:00
include intel: Sync xe_drm.h final part 2023-12-15 20:40:49 +00:00
src intel/fs: Drop opt_register_renaming() 2023-12-19 11:07:18 +00:00
subprojects meson: Update our rust dependencies 2023-12-18 18:33:53 +00:00
.clang-format
.clang-format-ignore
.clang-format-include etnaviv: Add isaspec support 2023-12-16 14:34:18 +00:00
.dir-locals.el
.editorconfig
.git-blame-ignore-revs freedreno: Add reformatting commits to .git-blame-ignore-revs 2023-09-22 02:07:36 +00:00
.gitattributes gitlab: Highlight .cl as C 2023-11-02 11:37:46 +00:00
.gitignore
.gitlab-ci.yml ci: bare-metal: poe: Create strutured logs 2023-12-19 10:09:35 +00:00
.graphqlrc.yml
.mailmap
CODEOWNERS
meson.build d3d12: Bump directx-headers dependency to v611.0 for latest video codecs and features 2023-12-14 20:06:52 -05:00
meson_options.txt meson: Add option to ignore artificial Android limitations 2023-12-13 20:09:37 +00:00
README.rst
VERSION VERSION: bump to 24.0 2023-10-25 19:56:42 +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://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.