nir/algebraic: disable inexact optimizations depending on float controls execution...
authorSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Wed, 12 Dec 2018 15:29:13 +0000 (16:29 +0100)
committerAndres Gomez <agomez@igalia.com>
Tue, 17 Sep 2019 20:39:18 +0000 (23:39 +0300)
commitf097247dd831da9b6e48baebc8b91efec3afcd28
treeabc4b30ff92795cf81f674d9850480edd42c8c61
parent3f782cdd2591259e120b76aa4891c305cc1e8cb6
nir/algebraic: disable inexact optimizations depending on float controls execution mode

If FLOAT_CONTROLS_SIGNED_ZERO_INF_NAN_PRESERVE or
FLOAT_CONTROLS_DENORM_FLUSH_TO_ZERO are enabled, do not apply the
inexact optimizations so the VK_KHR_shader_float_controls execution
mode is respected.

v2:
- Do not apply inexact optimizations if SHADER_DENORM_FLUSH_TO_ZERO is
  enabled (Andres).

v3:
- Updated to renamed shader info member (Andres).

v4:
- Directly access execution mode instead of dragging it by parameter (Caio).

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Signed-off-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com> [v1]
src/compiler/nir/nir_algebraic.py