Find a file
Faith Ekstrand 623c7df22c nvk: Set tile mode and PTE kind on dedicated dma-buf BOs
This is our compromise to make NVK and nouveau GL play nice when it
comes to modifiers.  The old GL driver depends heavily on the PTE kind
and tile mode, even for images with modifiers.  While it correctly
encodes the PTE kind and tile mode in the modifiers it advertises, it
may ignore the modifier and just trust what's set on the BO when it
imports a dma-buf image.  This is partly because it doesn't support
VM_BIND and partly because of preexisting bugs in the modifiers
implementation.  In either case, we can't fix it retroactively.

To work around this, NVK also sets the PTE kind and tile mode on the BO
when it's a dedicated allocation created for a DRM format modifiers
image.  If DRM format modifiers are used without dedicated allocations,
things may still break but that's getting into vanishingly unlikely
scenarios.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24795>
(cherry picked from commit 4ad79bfef4)
2024-05-15 15:15:34 +02:00
.ci-farms ci: re-enable Igalia farm 2024-04-17 01:23:25 +00:00
.ci-farms-disabled ci: re-enable Igalia farm 2024-04-17 01:23:25 +00:00
.github/workflows add zink to macos ci 2022-11-22 19:04:13 +00:00
.gitlab gitlab: make commit more commit-like formatted 2023-11-09 17:30:07 +00:00
.gitlab-ci ci: pass MESA_VK_ABORT_ON_DEVICE_LOSS through to the DUT 2024-04-29 16:30:15 +02:00
android nouveau: import libdrm_nouveau 2024-03-13 15:21:07 +00:00
bin ci_run_n_monitor: explain how to pass multiple targets without having to use regexes 2024-03-29 19:23:24 +00:00
build-support meson: move tsan-blacklist.txt to build-support with the other build support files 2024-05-01 13:21:56 +02:00
docs docs/android: Fix example meson cross file again 2024-05-07 18:20:25 +02:00
include drm-uapi: Sync nouveau_drm.h 2024-05-15 15:15:34 +02:00
src nvk: Set tile mode and PTE kind on dedicated dma-buf BOs 2024-05-15 15:15:34 +02:00
subprojects meson: Update proc_macro2 meson.build patch 2024-05-14 14:16:02 +02: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 teflon: Initial commit 2024-01-24 10:02:10 +00:00
.dir-locals.el dir-locals.el: Adds White Space support 2016-11-14 19:17:49 +02:00
.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 gitlab: Highlight .cl as C 2023-11-02 11:37:46 +00:00
.gitignore .gitignore: Add .venv folder 2024-01-24 10:53:14 +00:00
.gitlab-ci.yml ci: raise the log level threshold of spirv logs 2024-04-02 17:25:42 +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
.mr-label-maker.yml mr-label-maker: be explicit about the various CI files 2024-04-08 13:33:51 +00:00
.pick_status.json nvk: Set tile mode and PTE kind on dedicated dma-buf BOs 2024-05-15 15:15:34 +02:00
CODEOWNERS CODEOWNERS: update Imagination maintainers 2024-01-19 10:26:15 +00:00
meson.build meson: move tsan-blacklist.txt to build-support with the other build support files 2024-05-01 13:21:56 +02:00
meson_options.txt meson: implement split-debug 2024-04-23 18:31:39 +00:00
README.rst docs: promote #dri-devel on oftc over freenode 2021-05-24 09:21:48 +00:00
VERSION VERSION: bump for 24.1.0-rc3 2024-05-08 15:28:54 +02: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.