spirv/nir: keep track of SPV_KHR_float_controls execution modes
authorSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Thu, 31 May 2018 10:20:30 +0000 (12:20 +0200)
committerAndres Gomez <agomez@igalia.com>
Tue, 17 Sep 2019 20:39:18 +0000 (23:39 +0300)
commit84781e1f1d8f68248bd39f817e4bc6dac3944320
treef94d0db3e4ab6b4eb7f1ce93616b89eee3abde31
parent420ad0a1a3d90cf158a4b53c244efb7f4d5610de
spirv/nir: keep track of SPV_KHR_float_controls execution modes

v2:
- Add support for rounding modes for each floating point bit size.

v3:
- Commit e68871f6a44 ("spirv: Handle constants and types before
  execution modes") changed when the execution modes are handled,
  which affects the result of the floating point constants when the
  rounding mode is set in the execution mode. Moved the handling of
  the rounding modes before we handle the constants.

v4:
- Rename vtn_decoration "literals" to "operands" (Andres).
- Simplify execution mode parsing util function (Caio).
- Extend the comment about the timing of the handling of the rounding
  modes (Caio).

v5:
- Correct extension name (Caio).
- Rename shader info member (Andres).
- Rename float controls enum (Andres).

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> [v3]
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
src/compiler/shader_enums.h
src/compiler/shader_info.h
src/compiler/spirv/spirv_to_nir.c