mesa/src/intel
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
..
blorp intel/blorp: Use wide formats for nicely aligned stencil clears 2019-09-06 23:35:09 +00:00
common intel/tools: Decode PS kernels on SNB 2019-09-06 23:35:09 +00:00
compiler i965/fs/generator: add new opcode to set float controls modes in control register 2019-09-17 23:39:19 +03:00
dev intel: Get information about pixel pipes subslices. 2019-08-12 16:19:08 -07:00
genxml genxml/gen11+: Add COMMON_SLICE_CHICKEN4 register 2019-09-11 11:29:37 -07:00
isl intel/isl: Build gen12 using gen11 code paths 2019-08-28 13:38:33 -07:00
perf intel/perf: use MAJOR_IN_SYSMACROS/MAJOR_IN_MKDEV 2019-08-08 21:44:33 +01:00
tools intel/decoders: Avoid uninitialized variable warnings 2019-08-23 13:25:27 -07:00
vulkan vulkan: add vk_x11_strict_image_count option 2019-09-15 15:37:02 +03:00
Android.blorp.mk intel: android: remove libdrm_intel requirement 2017-03-30 19:07:23 +01:00
Android.common.mk android: static link with libexpat with Android O+ 2019-03-25 10:11:57 +02:00
Android.compiler.mk android: fix build issues with brw_nir_trig_workarounds.c 2017-10-04 07:39:05 +03:00
Android.dev.mk drm-uapi: use local files, not system libdrm 2019-02-14 11:20:00 +00:00
Android.genxml.mk intel/genxml: generate pack files for gen12 on android builds 2019-08-28 13:38:33 -07:00
Android.isl.mk intel/isl: build android libmesa_isl for gen12 2019-08-28 13:38:33 -07:00
Android.mk i965: extract performance query metrics 2019-04-17 14:10:42 +01:00
Android.perf.mk i965: extract performance query metrics 2019-04-17 14:10:42 +01:00
Android.vulkan.mk android: anv: libmesa_vulkan_common: add libmesa_util static dependency 2019-09-08 20:07:56 +02:00
Makefile.perf.am i965: extract performance query metrics 2019-04-17 14:10:42 +01:00
Makefile.sources anv: Build for gen12 2019-08-28 13:38:34 -07:00
meson.build i965: extract performance query metrics 2019-04-17 14:10:42 +01:00