Find a file
Ian Romanick 201782d0fa intel/fs: Always do opt_algebraic after opt_copy_propagation makes progress
opt_copy_propagation can create invalid instructions like

    shl(8) vgrf96:UD, 2d, 8u

These instructions will be cleaned up by opt_algebraic.  The irony is
opt_algebraic converts these to simple mov instructions that
opt_copy_propagation should clean up.  I don't think we want a loop like

   do {
      progress = false;
      if (OPT(opt_copy_propagation)) {
         OPT(opt_algebraic);
         OPT(dead_code_eliminate);
      }
   } while (progress);

But maybe we do?

Maybe this would be sufficient:

   while (OPT(opt_copy_propagation))
      OPT(opt_algebraic);
   OPT(dead_code_eliminate);

No shader-db or fossil-db changes (yet) on any Intel platform.  This is
expected.

v2: Do opt_algebraic immediately after every call to
opt_copy_propagation instead of being clever. Suggested by Lionel.

Tested-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit 56e6186dcf)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25377>
2023-09-25 21:13:53 +00:00
.ci-farms ci/windows: Re-enable Windows builds 2023-07-07 17:40:38 +00:00
.ci-farms-disabled ci/windows: Re-enable Windows builds 2023-07-07 17:40:38 +00:00
.github/workflows add zink to macos ci 2022-11-22 19:04:13 +00:00
.gitlab gitlab: prefill MR template with first multiline commit message 2023-06-01 01:16:38 +00:00
.gitlab-ci ci/android: remove strace output from cuttlefish-runner.sh 2023-09-22 13:44:36 -07:00
android Android.mk: Only link LLVM for radeonsi, not amd_vk 2023-09-25 09:30:55 -07:00
bin bin/ci_run_n_monitor: get git sha from pipeline if specified, instead of requiring --rev to match 2023-08-31 16:08:00 -07:00
build-support configure: commit test files 2017-10-16 16:32:43 -07:00
docs docs: Update Clover's env variable documentation 2023-09-25 09:30:59 -07:00
include intel/dev: Update device string for MTL PCI ID 0x7d55 2023-09-24 13:55:54 -07:00
src intel/fs: Always do opt_algebraic after opt_copy_propagation makes progress 2023-09-25 21:13:53 +00:00
subprojects d3d12: Update and require DirectX-Headers 1.610.0 2023-04-14 03:19:22 +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 clang-format: enforce formatting of egl 2023-07-07 23:00:06 +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 add initial .git-blame-ignore-revs 2023-07-07 23:38:44 +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: add perfetto into mesa git-cache 2023-08-31 23:40:59 -07: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
.pick_status.json aco: reset prefetch in the correct block after removing the exit 2023-09-25 11:27:12 -07:00
CODEOWNERS CODEOWNERS: add r300 driver 2023-06-09 19:31:20 +00:00
meson.build intel: Limit Intel Vulkan RT to x86_64 2023-09-22 16:50:20 +00:00
meson_options.txt intel: Allow using intel_clc from the system 2023-09-22 16:50:20 +00:00
README.rst docs: promote #dri-devel on oftc over freenode 2021-05-24 09:21:48 +00:00
VERSION VERSION: update to 23.2.0-rc4 2023-09-24 13:29:21 -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.