No description
Find a file
Alyssa Rosenzweig 46b099e392 meson: Ignore unused variables in release builds
Variables that are only used for assertions are considered unused in release
builds. Don't treat this as an error, since we build with -Werror even for
release in CI. This causes reasonable code to build and pass tests locally (and
therefore to be queued for merge by reasonable developers), but later fail in CI
due to a variable used only as an assertion. This pattern is common enough we
have an ASSERTED macro to workaround the behaviour, but failing a CI run to
have the author go back and add in the ASSERTED and re-queue later is a recipe
for frustration, wasted time, and wasted CI bandwidth.

Disable this behaviour to reduce CI friction.

In my view, sprinkling in ASSERTED clutters the code, rather than helps; I find
CI's insistence on doing so actively counterproductive. Developers are free to
continue doing so after this change. But this way CI won't fail merge requests
over it. After all, CI enforces policy, and we shouldn't have "mark variables
only used for assertions as ASSERTED" as policy. Let's pick our battles wisely
and improve CI's signal-to-noise ratio.

As an added benefit, this eliminates a class of defects where ASSERTED is used
incorrectly, e.g:

   c91e3c6a42 ("util: Should not use ASSERTED in util_thread_get_time_nano")
   3e22fc27af ("zink: remove incorrect ASSERTED macro")
   0d08ce287b ("pan/bi: Remove dated ASSERTED properties")

Note that actual unused variables will be caught by debug builds. It is expected
that developers do debug builds locally before ramming code through CI, so that
should be caught.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Suggested-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15582>
2022-04-23 13:36:05 -04:00
.gitlab/issue_templates
.gitlab-ci ci: skqp: upgrade to skqp based on Android CTS 11.0 (r7) 2022-04-22 20:11:58 +00:00
android gallium/swr: Remove common code and build options 2021-12-06 23:37:50 +00:00
bin win32: Fixes 32 bits visual studio module definition files by add script gen_vs_module_defs.py 2022-04-19 19:38:47 +00:00
build-support
docs docs: update calendar for 22.1.0-rc2 2022-04-21 21:33:05 -07:00
include kopper: add win32 loader interface 2022-04-22 01:11:52 +00:00
src ac/gpu_info: remove old and unused fields from radeon_info 2022-04-23 01:45:17 +00:00
subprojects meson: Update libelf wrap for Windows 2021-11-12 09:46:10 +00:00
.dir-locals.el
.editorconfig
.gitattributes Add new rules to .gitattributes 2022-01-19 15:17:17 +00:00
.gitignore
.gitlab-ci.yml ci: Allow lima jobs to be globally disabled 2022-04-21 11:32:06 +00:00
.mailmap .mailmap: Switch Jason Ekstrand to @collabora.com 2022-01-26 20:08:31 +00:00
.travis.yml
CODEOWNERS ci: add Broadcom CI maintainer 2022-04-12 10:42:31 +00:00
meson.build meson: Ignore unused variables in release builds 2022-04-23 13:36:05 -04:00
meson_options.txt Use proper types for meson objects 2022-04-18 13:03:08 +03:00
README.rst
VERSION VERSION: bump to 22.2-devel for next cycle 2022-04-13 23:40:25 +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.