Find a file
Kenneth Graunke aca31baafc isl: Enable Tigerlake HDC:L1 caches via MOCS in various cases.
Thanks to Felix Degrood for discovering that we missed enabling this
additional caching on Tigerlake!  Felix also benchmarked the changes.

We now use MOCS 48 (HDC:L1 + L3 + LLC) for render targets, textures,
and pull constant buffers.  We leave storage buffers & images, as well
as stateless messages, using the previous MOCS 2 value.  We can't use
HDC:L1 with atomics, and we don't know a priori whether storage buffers
will be used with atomics or not.  Similarly, the Vulkan buffer device
address feature allows atomics to be performed on buffers via stateless
messages, and we only can control MOCS at the base address level, so
we can't do much there.

This is closer to what the Windows Vulkan and OpenGL drivers do,
though it isn't quite the same - they also disable LLC in some cases,
but we observed this to have noticable performance regressions when
we tried (though a couple titles benefited).  We may try experiment
with that in the future.

Improves performance in a number of titles:

- Unreal Engine 4 Shooter Demo   [VK]: 11.8%
- Witcher 3                    [DXVK]:  3.9%
- Rise of the Tomb Raider        [VK]:  1.5%
- Shadow of the Tomb Raider      [VK]:  1.0%
- Grand Theft Auto V           [DXVK]:  0.8%

We did not observe any performance regressions.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7104>
2020-10-19 19:18:11 +00:00
.appveyor appveyor: Use Python3. 2020-08-06 09:46:48 +00:00
.gitlab/issue_templates gitlab: ask for more detailed info about GPU 2020-08-20 11:56:19 +00:00
.gitlab-ci ci: Unskip fragment_ops tests on Bifrost 2020-10-15 16:24:12 +02:00
bin android_stub: Update platform headers to include gralloc1.h. 2020-10-19 18:41:50 +00:00
build-support configure: commit test files 2017-10-16 16:32:43 -07:00
docs doc/features: remove zink entries for GL 3.3 items 2020-10-19 14:00:02 +00:00
doxygen doxygen: Plumb through gallium/ to automated documentation 2016-05-30 17:53:45 +01:00
include android_stub: Update platform headers to include gralloc1.h. 2020-10-19 18:41:50 +00:00
scons scons: bump c++ standard to 14 to match meson 2020-08-25 14:34:20 +00:00
src isl: Enable Tigerlake HDC:L1 caches via MOCS in various cases. 2020-10-19 19:18:11 +00:00
subprojects meson: use github URL for wraps instead of completely unreliable wrapdb 2020-01-16 23:06:43 +00:00
.dir-locals.el dir-locals.el: Adds White Space support 2016-11-14 19:17:49 +02:00
.editorconfig docs: fixup indentation 2020-01-18 11:39:32 +01:00
.gitignore intel/tools: Add unit tests for assembler 2019-05-07 14:33:48 -07:00
.gitlab-ci.yml ci/android: Switch build to using platform SDK version 26. 2020-10-19 18:41:50 +00:00
.mailmap .mailmap: add an alias for Andres Gomez 2020-04-30 14:33:20 +03:00
.travis.yml travis: autodetect python version instead of hard-coding it 2019-12-21 20:23:08 +00:00
Android.common.mk tree-wide: fix deprecated GitLab URLs 2020-05-23 15:33:50 +00:00
Android.mk ac/llvm: handle static/shared llvm init separately 2020-08-17 10:47:41 +00:00
appveyor.yml appveyor: Use Python3. 2020-08-06 09:46:48 +00:00
CleanSpec.mk CleanSpec.mk: Remove HOST_OUT_release 2018-08-02 15:42:40 -06:00
common.py scons: Print a deprecation warning about using scons on not windows 2019-10-24 18:33:50 +00:00
meson.build meson: Add xcb-fixes to loader when using x11 and dri3. Fixes undefined symbol for xcb_xfixes_create_region in loader_dri3_helper.c 2020-10-19 17:24:25 +00:00
meson_options.txt v3dv: add v3d vulkan driver skeleton 2020-10-13 21:21:24 +00:00
README.rst README: update references to internal docs 2020-06-13 10:42:01 +00:00
REVIEWERS REVIEWERS: add VMware reviewers 2019-10-18 16:42:40 +00:00
SConstruct tree-wide: fix deprecated GitLab URLs 2020-05-23 15:33:50 +00:00
VERSION Bump development version and clear new_features 2020-08-06 09:34:42 -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 `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.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.