Find a file
Samuel Iglesias Gonsálvez 8a6507b6fe i965/fs/generator: add new opcode to set float controls modes in control register
Before this commit, we had only FPRoundingMode decoration (the per
instruction one) that is applied during the SPIR-V handling. In
vtn_alu we find out the rounding mode, and generate the code
accordingly that later will be used to look for the respective
nir_op_f2f16_{rtz,rtne}.

Per-instruction gets prioritized because we make them explicit
conversions (with RTZ or RTNE nir opcodes) and they will override the
default execution mode defined with float controls. However, we need
to come back to the mode defined by float controls after the execution
of the FP Rounding instruction.

Therefore, the new SHADER_OPCODE_FLOAT_CONTROL_MODE opcode will be
used to set the default rounding mode and denorms treatment in the
whole shader while the pre-existent SHADER_OPCODE_RND_MODE, will be
used as prioritized rounding mode in a per-instruction basis.

v2:
- Fix bug in defining BRW_CR0_FP_MODE_MASK.

v3:
- Update comment (Caio).

v4:
- Split the patch into the helper and the new opcode (this
  one) (Caio).

v5:
- Add an explanation on the actual purpose and priority of the newly
  introduced opcode in the commit log (Caio).

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
2019-09-17 23:39:19 +03:00
.gitlab-ci ci: Run tests on i386 cross builds 2019-09-17 14:53:57 -04:00
bin symbols-check: fix nm invocation on MacOS 2019-08-04 11:06:27 +01:00
build-support configure: commit test files 2017-10-16 16:32:43 -07:00
docs docs: update calendar, add news item and link release notes for 19.1.7 2019-09-17 12:55:41 +02:00
doxygen doxygen: Plumb through gallium/ to automated documentation 2016-05-30 17:53:45 +01:00
include radeonsi: add Navi12 PCI ID 2019-09-17 16:00:33 -04:00
scons gallium: Require LLVM >= 3.9 2019-09-11 17:00:43 +00:00
scripts get_reviewer.pl: improve portability 2019-05-03 14:32:44 +01:00
src i965/fs/generator: add new opcode to set float controls modes in control register 2019-09-17 23:39:19 +03:00
subprojects meson: add a expat subproject 2019-09-10 20:36:47 +00:00
.dir-locals.el dir-locals.el: Adds White Space support 2016-11-14 19:17:49 +02:00
.editorconfig editorconfig: Fix meson style 2019-05-24 18:44:18 +00:00
.gitattributes Disable autocrlf for Visual Studio project files. 2008-02-28 12:34:01 +09:00
.gitignore intel/tools: Add unit tests for assembler 2019-05-07 14:33:48 -07:00
.gitlab-ci.yml ci: Run tests on i386 cross builds 2019-09-17 14:53:57 -04:00
.mailmap .mailmap: Add a few more alises for myself 2019-02-13 12:03:41 -08:00
.travis.yml travis: Fail build if any command in if statement fails. 2019-08-31 12:20:04 -07:00
Android.common.mk android: mesa: revert "Enable asm unconditionally" 2019-09-06 08:48:28 +02:00
Android.mk Android.mk: Fix missing \ from recent llvm change 2019-09-13 19:11:10 +00:00
appveyor.yml appveyor: Revert commits adding Cygwin support. 2019-01-25 14:13:26 +00:00
CleanSpec.mk CleanSpec.mk: Remove HOST_OUT_release 2018-08-02 15:42:40 -06:00
common.py scons/svga: remove opt from the list of valid build types 2018-10-26 12:09:00 -06:00
meson.build meson: Add coroutines component to llvmpipe build. 2019-09-11 15:14:17 -07:00
meson_options.txt meson: Add a platform for windows 2019-09-10 20:36:47 +00:00
README.rst README: Drop the badges from the readme 2019-02-07 12:46:17 -06:00
REVIEWERS docs: drop most autoconf references 2019-04-15 13:44:34 -07:00
SConstruct scons: Require python 2.7 2018-08-16 13:52:56 -07:00
VERSION mesa: bump version to 19.3.0-devel 2019-08-20 22:33:49 +01: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.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.