Find a file
Roland Scheidegger 9fb4b1e6dc llvmpipe: implement strict d3d11 rules for centroid interpolation
D3D11 is pretty strict about how to do centroid interpolation.
In particular, llvmpipe didn't honor these rules when no sample was
covered for a pixel (relevant for helper pixels), in this case llvmpipe
selected the position of the sample with the highest index (just due to
initialization, not really by choice).
Given that helper pixels are only really used for derivative calculations,
and derivatives are generally sketchy with centroid interpolation, this
seems quite a lot of work, but I suppose it could be useful if the state
sample mask has only 1 sample set (since these d3d11 rules then guarantee
that even with centroid the derivatives are actually useful as the
interpolation will be done at the position defined by the sample specified
in the sample mask, regardless if that sample is covered by the primitive
or not).
Other APIs might technically not need this (they tend to not even define
at which position centroid interpolation is done, other than it must be
inside the primitive), but it shouldn't really hurt them neither.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38664>
2025-11-26 19:12:17 +00:00
.ci-farms Revert "ci: disable mupuf's farm" 2025-11-24 15:52:43 +00:00
.ci-farms-disabled Revert "ci: disable mupuf's farm" 2025-11-24 15:52:43 +00:00
.github/workflows meson: remove unused osmesa option 2025-06-23 06:42:50 +00:00
.gitlab docs: update gitlab docs urls 2025-02-23 00:31:59 +01:00
.gitlab-ci ci: Uprev crosvm and virglrenderer 2025-11-26 15:04:25 +00:00
.marge/hooks ci: pipeline_message: reset empty errors 2025-01-07 05:08:10 +00:00
android android: fix building rules for i915, r300 2025-10-08 23:43:33 +02:00
bin bin/gen_release_notes: Remove duplicate bug entires 2025-11-17 22:45:13 +00:00
build-support
docs radv: Advertise sparse features pre Polaris with perftest flag 2025-11-25 10:39:21 +01:00
include vulkan: update spec to 1.4.333 2025-11-14 19:06:28 +01:00
licenses licenses: add missing licenses 2025-01-08 20:37:51 +00:00
src llvmpipe: implement strict d3d11 rules for centroid interpolation 2025-11-26 19:12:17 +00:00
subprojects meson: add libva wrap and fallback option 2025-11-25 13:37:49 +00:00
.clang-format
.clang-format-ignore
.clang-format-include ethos: Initial commit of a driver for the Arm Ethos-U65 NPU. 2025-10-15 20:10:15 +00:00
.dir-locals.el
.editorconfig editorconfig: Set for glsl files 2025-11-14 19:31:17 +00:00
.git-blame-ignore-revs radv: Add re-format commit to .git-blame-ignore-revs 2025-11-12 07:55:36 +00:00
.gitattributes
.gitignore intel/mda: Add code to produce mesa debug archives 2025-09-24 23:08:45 -07:00
.gitlab-ci.yml ci: use $CI_TRON_JOB_PRIORITY tag on all ci-tron jobs 2025-11-24 12:02:40 +00:00
.graphqlrc.yml
.mailmap mailmap: update my name and email 2025-11-03 22:08:48 +00:00
.mr-label-maker.yml mr-label-maker: Add KosmicKrisp 2025-10-21 02:28:09 +00:00
.shellcheckrc ci: move shellcheck options to .shellcheckrc 2024-10-24 22:43:03 +00:00
CODEOWNERS CODEOWNERS: Add KosmicKrisp owners 2025-10-21 02:28:09 +00:00
meson.build meson: add libva wrap and fallback option 2025-11-25 13:37:49 +00:00
meson.options meson: add libva wrap and fallback option 2025-11-25 13:37:49 +00:00
README.rst docs: Match README installation guide with meson.rst 2024-07-27 11:53:53 +00:00
rustfmt.toml mesa: Add rustfmt.toml 2024-11-18 22:29:14 +00:00
VERSION Version: Bump to 26.0 2025-10-16 03:31:58 +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://docs.mesa3d.org/install.html>`_), but the recommended way is to use
Meson (`docs/meson.rst <https://docs.mesa3d.org/meson.html>`_):

.. code-block:: sh

  $ meson setup build
  $ ninja -C build/
  $ sudo ninja -C build/ 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://docs.mesa3d.org/bugs.html>`_).


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

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

Note that Mesa uses gitlab for patches submission, review and discussions.