mesa/src
Samuel Pitoiset fa0dcef2ef nir: do not use De Morgan's Law rules for flt and fge
In presence of NaNs, "!(flt(a, b) && flt(c, d))" is NOT EQUAL
to "fge(a, b) || fge(c, d)". These optimizations are unsafe for
apps that rely on NaN behaviour.

pipeline-db (GFX9/LLVM):
Totals from affected shaders:
SGPRS: 3176 -> 3136 (-1.26 %)
VGPRS: 2188 -> 2144 (-2.01 %)
Spilled SGPRs: 227 -> 169 (-25.55 %)
Code Size: 150572 -> 151800 (0.82 %) bytes
Max Waves: 307 -> 310 (0.98 %)

pipeline-db (GFX9/ACO):
Totals from affected shaders:
SGPRS: 18744 -> 18744 (0.00 %)
VGPRS: 15576 -> 15580 (0.03 %)
Spilled SGPRs: 164 -> 164 (0.00 %)
Code Size: 1573012 -> 1576492 (0.22 %) bytes
Max Waves: 1534 -> 1532 (-0.13 %)

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2127
Fixes: d1ed4ffe0b ("nir: Use De Morgan's Law on logic compounded comparisons")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3696>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3696>
(cherry picked from commit 8e77280774)
2020-02-11 09:49:15 -08:00
..
amd aco: fix creating v_madak if v_mad_f32 has two sgpr literals 2020-02-11 09:49:15 -08:00
broadcom util/hash_table: update users to use new optimal integer hash functions 2020-01-23 17:06:57 +00:00
compiler nir: do not use De Morgan's Law rules for flt and fge 2020-02-11 09:49:15 -08:00
drm-shim drm-shim: fix EOF case 2019-11-13 12:39:14 +00:00
egl egl: drop confusing mincore() error message 2020-01-22 17:55:26 +00:00
etnaviv etnaviv: drm-shim: add GC400 2020-01-30 04:05:39 +00:00
freedreno freedreno/ir3: put the conversion back for half const to the right place. 2020-02-10 09:05:27 -08:00
gallium radeonsi: fix the DCC MSAA bug workaround 2020-02-11 09:49:13 -08:00
gbm meson: move the generic symbols check arguments to a common variable 2019-11-05 20:30:47 +00:00
getopt
glx drisw: Cache the depth of the X drawable 2020-01-23 23:03:13 +00:00
gtest meson: gtest needs pthreads 2019-11-07 06:11:19 -08:00
hgl haiku: fix Mesa build 2019-10-01 10:31:02 +00:00
imgui meson: drop intel_ prefix on imgui_core 2019-12-10 15:16:02 +00:00
intel intel/vec4: fix valgrind errors with vf_values array 2020-02-07 09:21:51 -08:00
loader loader: Fix leak of kernel driver name 2020-01-30 10:08:17 -08:00
mapi glapi / teximage: implement EGLImageTargetTexStorageEXT 2020-01-13 14:57:18 -08:00
mesa st/mesa: Handle the rest renderbuffer formats from OSMesa 2020-02-05 08:58:39 -08:00
panfrost panfrost: Remove unused anonymous enum variables. 2020-02-11 09:49:14 -08:00
util Revert "gallium: Fix big-endian addressing of non-bitmask array formats." 2020-02-11 09:49:14 -08:00
vulkan Vulkan overlay: use the corresponding image index for each swapchain 2020-02-10 09:05:28 -08:00
meson.build meson: only build imgui when needed 2019-11-25 07:51:56 +00:00
SConscript