Find a file
Alyssa Rosenzweig 10ace5de3a panfrost,asahi: Support ARB_buffer_storage
After a great deal of spec lawyering in #dri-devel, I am convinced this
is probably okay for the same reasons as v3d and freedreno. The batch
reordering and flush deferral optimizations are seemingly still ok. The
requirement that writes are visible "immediately" in the spec actually
means "in the subsequent [OpenGL] command" for the CPU -> GPU direction,
which avoids pitfalls where PERSISTENT|COHERENT could be used as a
"doorbell". With that understanding, the extension doesn't actually
require anything special for tilers other than coherency at GPU submit
boundaries, which is true for any driver that does not use a sync ioctl.

After this commit, the remaining drivers that don't set the CAP are
d3d12, softpipe, etnaviv, and i915g. I am unsure about d3d12, but the
latter 3 could probbaly enable it trivially for the same reason.

v2: Don't use copy_resource path for persistent mappings (Emma). Emma
explained on GitLab:

   I don't think you should have the copy_resource path taken for
   PIPE_RESOURCE_FLAG_MAP_PERSISTENT BOs.  Imagine the user has a
   general-purpose BO they're streaming stuff into and doing draws that
   they keep persistently mapped until wrapping.  They call some GL
   function on the same buffer that does a fallback write map on the BO
   (u_default_buffer_subdata, util_resource_copy_region, whatever) -- the
   buffer is in use, copy triggers, allocates a new BO.  Whoops, the user's
   pointer for streaming writes is now freed.

Closes: #7570
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19351>
2022-10-29 02:20:17 +00:00
.github/workflows ci/macOS: Getting the installed binary to be artifacts 2022-10-26 02:16:35 +00:00
.gitlab/issue_templates gitlab: ask that reporters don't include long logs in descriptions 2022-06-08 15:06:51 +00:00
.gitlab-ci ci: Getting debian-clang-release to building with glx=xlib 2022-10-26 02:16:35 +00:00
android Android: Use libgbm_mesa name for SDK30+ 2022-09-12 07:37:27 +00:00
bin bin/perf-annotate-jit.py: Update to Python 3. 2022-08-21 22:14:43 -07:00
build-support configure: commit test files 2017-10-16 16:32:43 -07:00
docs panfrost,asahi: Support ARB_buffer_storage 2022-10-29 02:20:17 +00:00
include egl: Add EGL_EXT_protected_content support 2022-10-27 10:53:18 +00:00
src panfrost,asahi: Support ARB_buffer_storage 2022-10-29 02:20:17 +00:00
subprojects meson: upgrade zlib wrap 2022-10-20 22:52:06 +00:00
.dir-locals.el dir-locals.el: Adds White Space support 2016-11-14 19:17:49 +02:00
.editorconfig rusticl: added 2022-09-12 05:58:12 +00:00
.gitattributes Add new rules to .gitattributes 2022-01-19 15:17:17 +00:00
.gitignore .gitignore: Qualify the path for the ignored build directory. 2022-06-09 22:53:37 +00:00
.gitlab-ci.yml Revert "CI: Igalia farm is down" 2022-10-17 02:02:01 +02:00
.graphqlrc.yml ci/bin: Add utility to find jobs dependencies 2022-08-03 23:10:37 +00:00
.mailmap .mailmap: change spelling for Constantine Kharlamov 2022-08-12 13:11:03 +00:00
CODEOWNERS CODEOWNERS: evelikov renamed to xexaxo 2022-06-24 12:28:59 +00:00
meson.build meson: with_glx never assigned to 'gallium-xlib', remove 'gallium-xlib' 2022-10-22 01:34:53 +00:00
meson_options.txt remove xvmc 2022-10-01 03:17:33 +00:00
README.rst docs: promote #dri-devel on oftc over freenode 2021-05-24 09:21:48 +00:00
VERSION VERSION: bump 22.3.0-devel 2022-08-03 17:16:14 +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.