Mesa3D Graphics Library (Bleeding edge ray tracing branches)
Go to file
Eric Anholt 97566efe5c v3d: Rematerialize MOVs of uniforms instead of spilling them.
If we have a MOV of a uniform value available to spill, that's one of our
best choices.  We can just not spill the value, and emit a new load of the
uniform as the fill.  This saves bothering the TMU and the thrsw, and is
the same cost in uniforms (since the spill offset is a uniform anyway).

This doesn't have a huge impact on shader-db, since there aren't a whole
lot of spills and we usually copy-prop the uniforms at the VIR level such
that the only uniform MOVs are from vir_lower_uniforms:

total instructions in shared programs: 6430292 -> 6430279 (<.01%)
total uniforms in shared programs: 2386023 -> 2385787 (<.01%)
total spills in shared programs: 4961 -> 4960 (-0.02%)
total fills in shared programs: 6352 -> 6350 (-0.03%)

However, I'm interested in dropping the uniforms copy-prop in the backend,
since it would be cheaper to not load repeated uniforms if we have the
registers to spare.  This also saves many spills on
dEQP-GLES31.functional.ubo.random.all_per_block_buffers.20, which is what
motivated a bunch of my recent backend work in the first place:

before: 46 spills, 106 fills, 3062 instructions
after: 0 spills, 0 fills, 2611 instructions
2019-02-25 21:33:47 -08:00
.gitlab-ci gitlab-ci: use ccache to speed up builds 2019-02-19 10:09:51 +00:00
bin get-pick-list: Add --pretty=medium to the arguments for Cc patches 2019-02-13 08:59:30 -08:00
build-support configure: commit test files 2017-10-16 16:32:43 -07:00
docs docs: update calendar, add news item and link release notes for 18.3.4 2019-02-18 18:38:14 +00:00
doxygen
include iris: Initial commit of a new 'iris' driver for Intel Gen8+ GPUs. 2019-02-21 10:26:04 -08:00
m4 configure: allow building with python3 2018-10-31 19:15:50 +00:00
scons scons: drop unused HAVE_STDINT_H macro 2018-10-30 18:10:59 +00:00
scripts appveyor: Revert commits adding Cygwin support. 2019-01-25 14:13:26 +00:00
src v3d: Rematerialize MOVs of uniforms instead of spilling them. 2019-02-25 21:33:47 -08:00
.dir-locals.el
.editorconfig editorconfig: Add max_line_length property 2019-01-10 15:50:34 +02:00
.gitattributes
.gitignore
.gitlab-ci.yml iris: Add gitlab-ci build testing 2019-02-22 14:08:21 -08:00
.mailmap .mailmap: Add a few more alises for myself 2019-02-13 12:03:41 -08:00
.travis.yml travis: fix osx make build 2019-02-07 20:14:14 +00:00
Android.common.mk build: stop defining unused VERSION 2018-11-26 22:05:02 +00:00
Android.mk iris: add Android build 2019-02-21 10:26:10 -08:00
CleanSpec.mk CleanSpec.mk: Remove HOST_OUT_release 2018-08-02 15:42:40 -06:00
Makefile.am automake: Add --enable-autotools to distcheck flags 2019-01-30 19:32:44 +00:00
README.rst README: Drop the badges from the readme 2019-02-07 12:46:17 -06:00
REVIEWERS REVIEWERS: add Vulkan reviewer group 2018-11-13 17:25:02 +00:00
SConstruct scons: Require python 2.7 2018-08-16 13:52:56 -07:00
VERSION bump version for 19.0 branch 2019-01-29 15:30:25 -08:00
appveyor.yml appveyor: Revert commits adding Cygwin support. 2019-01-25 14:13:26 +00:00
autogen.sh
common.py scons/svga: remove opt from the list of valid build types 2018-10-26 12:09:00 -06:00
configure.ac configure: fix test portability 2019-02-24 19:26:15 +00:00
install-gallium-links.mk
install-lib-links.mk
meson.build d3d: meson: do not prefix user provided d3d-drivers-path 2019-02-25 16:07:02 +00:00
meson_options.txt iris: Initial commit of a new 'iris' driver for Intel Gen8+ GPUs. 2019-02-21 10:26:04 -08:00

README.rst

`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.html
<https://mesa3d.org/install.html>`_), but the recommended way is to use
Meson (`docs/meson.html <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 `Freenode's #dri-devel
<irc://chat.freenode.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.html <https://mesa3d.org/bugs.html>`_).


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

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

Note that Mesa uses email mailing-lists for patches submission, review and
discussions.