Find a file
Christian Gmeiner 68fb3a601c
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
etnaviv: isa: Add assembler support for infinity and NaN immediates
Implement parsing and encoding of special floating-point values for
both 20-bit (f20) and 16-bit (f16) immediate formats:

  inf:f20   - Positive infinity (imm_val=0x7f800, imm_type=0)
  -inf:f20  - Negative infinity (imm_val=0xff800, imm_type=0)
  nan:f20   - Quiet NaN         (imm_val=0x7fc00, imm_type=0)
  -nan:f20  - Negative NaN      (imm_val=0xffc00, imm_type=0)

  inf:f16   - Positive infinity (imm_val=0x7c00, imm_type=3)
  -inf:f16  - Negative infinity (imm_val=0xfc00, imm_type=3)
  nan:f16   - Quiet NaN         (imm_val=0x7fff, imm_type=3)
  -nan:f16  - Negative NaN      (imm_val=0xffff, imm_type=3)

The f20 format stores the upper 20 bits of an IEEE 754 single-precision
float. The f16 format stores the 16-bit half-float value directly.

This enables round-trip assembly of shaders containing these special
values, which can appear in GPU command streams captured from the
proprietary driver.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39016>
2025-12-25 22:57:48 +00:00
.ci-farms Revert "ci: disable the valve-kws farm" 2025-12-19 21:30:25 +02:00
.ci-farms-disabled Revert "ci: disable the valve-kws farm" 2025-12-19 21:30:25 +02: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: fix path to clippy.toml 2025-12-21 11:26:31 +01: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/symbols-check: Fix undefined symbol detection on macOS 2025-12-20 02:05:15 +00:00
build-support meson: move tsan-blacklist.txt to build-support with the other build support files 2024-05-01 07:05:12 +00:00
docs docs: update calendar for 25.3.2 2025-12-17 22:11:17 +00:00
include drm-uapi: Sync the panfrost header 2025-12-12 10:03:02 +01:00
licenses licenses: add missing licenses 2025-01-08 20:37:51 +00:00
src etnaviv: isa: Add assembler support for infinity and NaN immediates 2025-12-25 22:57:48 +00:00
subprojects meson: specify minimal target meson version for rust subprojects 2025-12-12 17:28:49 +00:00
.clang-format-ignore ci: enforce formatting for RADV & ACO 2023-06-16 19:59:52 +00:00
.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 dir-locals.el: Adds White Space support 2016-11-14 19:17:49 +02:00
.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 gitlab: Highlight .cl as C 2023-11-02 11:37:46 +00:00
.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 ci/bin: Add utility to find jobs dependencies 2022-08-03 23:10:37 +00:00
.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
clippy.toml ci: read the MSRV from clippy.toml to avoid having too many copies to keep in sync 2025-12-20 00:13:19 +01:00
CODEOWNERS CODEOWNERS: Add KosmicKrisp owners 2025-10-21 02:28:09 +00:00
meson.build meson/rust: allow explicit if x.is_none { return None } instead of x? 2025-12-20 00:13:19 +01: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.