Go to file
Alyssa Rosenzweig e1fe4a64d3 panfrost: Require 64-byte alignment on imports
While Panfrost allocates linear images with strides that are a multiple of 64
bytes, other dma-buf producers on the system may not satisfy this requirement.
However, at least on v7 and newer, any image with a regular format must have a
stride that is a multiple of 64 bytes.

This fixes a real bug in an application that created a linear R8_UNORM image
with stride 480 bytes, imported it as an EGL_image, and then tried to texture
from it with the GPU. Previously, the driver allowed this situation but it
resulted in an imprecise fault from the GPU. This patch corrects the driver to
reject the import as invalid due to the unaligned stride, ensuring we never
attempt to texture from such a resource.

To implement, we add some new layout queries to centralize knowledge about the
stride alignment requirements, and we sprinkle in asserts to show how the
invariant is upheld throughout the lifecycle of image creation to texturing.

Cc: mesa-stable
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19620>
(cherry picked from commit 811f8a19469722bea32f3c539b8cf0939fe3b057)
2022-11-10 12:02:11 -08:00
.github/workflows ci: Building osmesa on OSX 2022-07-29 12:57:26 +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 meson,amd: Remove Windows libelf wrap 2022-09-25 03:13:14 +08:00
android Android.mk: Fix gnu++14 related build failures 2022-11-08 15:11:36 -08:00
bin bin/gen_release_notes.py: bump advertised vulkan version to 1.3 2022-08-04 11:33:21 -07:00
build-support
docs docs: Add sha256 sum for 22.2.3 2022-11-07 10:16:36 -08:00
include intel/pci_ids: Drop non-upstream dg2 pci-ids 2022-09-15 09:25:38 -07:00
src panfrost: Require 64-byte alignment on imports 2022-11-10 12:02:11 -08:00
subprojects meson,amd: Remove Windows libelf wrap 2022-09-25 03:13:14 +08:00
.dir-locals.el
.editorconfig ci/vs2019: Update editorconfig for ps1 files 2022-06-14 21:14:33 +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 ci/docs: Stick to specific version of python packages 2022-09-27 10:03:32 -07:00
.mailmap mailmap: fix order of emails for Axel Davy 2022-07-27 21:36:23 +00:00
.pick_status.json panfrost: Require 64-byte alignment on imports 2022-11-10 12:02:11 -08:00
CODEOWNERS CODEOWNERS: evelikov renamed to xexaxo 2022-06-24 12:28:59 +00:00
meson_options.txt util: Add a Win32 futex impl 2022-07-15 21:31:51 +00:00
meson.build meson: with_glx never assigned to 'gallium-xlib', so need add with_glx == 'xlib' for dep_glproto 2022-10-25 09:25:41 -07:00
README.rst docs: promote #dri-devel on oftc over freenode 2021-05-24 09:21:48 +00:00
VERSION VERSION: update to 22.2.3 2022-11-07 10:01:13 -08: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.