Mesa3D Graphics Library (Bleeding edge ray tracing branches)
Go to file
Iago Toral Quiroga f512965b0b mesa/st: make sure we remove dead IO variables before handing NIR to backends
Commit "1c2bf82d24a glsl: disable lower_fragdata_array() for NIR drivers"
disabled the GLSL IR lowering that turned gl_FragData from an array into a
collection of scalar outputs under the assumption that this was already being
handled properly elsewhere, however there are some corner cases where NIR
would fail to do this, leaving gl_FragData[] as an array variable. This can
break backends that assume that all their outputs will be scalar and use the
variable definitions from the shader to do their output setup, such as the
case of V3D.

At least one corner case was found in some Portal shaders from shader-db, where
NIR would optimize out the full body of a fragment shader. In this scenario,
the empty shader would keep the original array definition of gl_FragData[],
causing the backend to assert.

We need to do this late enough for it to be effective, since doing it in
st_nir_preprocess does not fix the original problem.

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2091
Fixes: 1c2bf82d ("glsl: disable lower_fragdata_array() for NIR drivers")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2019-11-14 10:49:00 +01:00
.appveyor Appveyor/Meson: Add build test of osmesa gallium 2019-10-19 14:44:44 +00:00
.gitlab-ci ci: Expand the freedreno blit skip regex to cover more cases. 2019-11-13 10:58:52 -08:00
bin meson: add windows support to symbols checks 2019-11-05 20:31:37 +00:00
build-support
docs docs: update calendar, add news item and link release notes for 19.2.4 2019-11-13 11:12:53 -08:00
doxygen
include Revert "dri_interface: add interface for EGL_EXT_image_flush_external" 2019-11-14 07:46:36 +02:00
scons mesa/imports: let the build system detect strtok_r() 2019-11-05 22:38:04 +00:00
src mesa/st: make sure we remove dead IO variables before handing NIR to backends 2019-11-14 10:49:00 +01:00
subprojects meson: add a expat subproject 2019-09-10 20:36:47 +00:00
.dir-locals.el
.editorconfig editorconfig: Fix meson style 2019-05-24 18:44:18 +00:00
.gitignore intel/tools: Add unit tests for assembler 2019-05-07 14:33:48 -07:00
.gitlab-ci.yml gitlab-ci: build RADV on ARM64 2019-11-13 10:52:10 +01:00
.mailmap .mailmap: add a couple of aliases for Jakob Bornecrantz 2019-10-03 17:11:20 -04:00
.travis.yml travis: fix scons build after deprecation warning 2019-10-29 09:25:40 +00:00
Android.common.mk android: mesa: Revert "android: mesa: revert "Enable asm unconditionally"" 2019-11-12 18:09:43 +00:00
Android.mk android: mesa: Revert "android: mesa: revert "Enable asm unconditionally"" 2019-11-12 18:09:43 +00:00
CleanSpec.mk CleanSpec.mk: Remove HOST_OUT_release 2018-08-02 15:42:40 -06:00
README.rst README: Drop the badges from the readme 2019-02-07 12:46:17 -06:00
REVIEWERS REVIEWERS: add VMware reviewers 2019-10-18 16:42:40 +00:00
SConstruct scons: Fix force_scons parsing. 2019-10-26 08:23:48 +01:00
VERSION Bump VERSION to 20.0.0-devel 2019-10-30 14:56:02 -07:00
appveyor.yml appveyor: Move appveyor script into .appveyor directory 2019-10-18 13:02:58 -07:00
common.py scons: Print a deprecation warning about using scons on not windows 2019-10-24 18:33:50 +00:00
meson.build util: Use ZSTD for shader cache if possible 2019-11-11 18:53:45 +00:00
meson_options.txt util: Use ZSTD for shader cache if possible 2019-11-11 18:53:45 +00:00

README.rst

`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.html
<https://mesa3d.org/install.html>`_), but the recommended way is to use
Meson (`docs/meson.html <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 `Freenode's #dri-devel
<irc://chat.freenode.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.html <https://mesa3d.org/bugs.html>`_).


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

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

Note that Mesa uses email mailing-lists for patches submission, review and
discussions.