mesa/src/compiler
Ian Romanick 5667459ff1 nir/algebraic: Don't introduce undefined behavior in f2u conversion
If the source -1.0 < x < 0.0, simply removing the ftrun will introduce
undefined behavior. By chance of how at least Intel and NVIDIA GPUs
implement f2u, this has Just Worked.

No shader-db changes on any Intel platform.

fossil-db:

Lunar Lake
Totals:
Instrs: 913264354 -> 913264366 (+0.00%)
Cycle count: 104953995530 -> 104953996854 (+0.00%)
Max live registers: 189266026 -> 189266058 (+0.00%)
Non SSA regs after NIR: 227779417 -> 227779369 (-0.00%)

Totals from 24 (0.00% of 1984794) affected shaders:
Instrs: 4669 -> 4681 (+0.26%)
Cycle count: 50610 -> 51934 (+2.62%)
Max live registers: 1222 -> 1254 (+2.62%)
Non SSA regs after NIR: 1174 -> 1126 (-4.09%)

Meteor Lake, DG2, Tiger Lake, and Ice Lake had similar results. (Meteor Lake shown)
Totals:
Instrs: 1001288026 -> 1001288038 (+0.00%)
Cycle count: 92813392671 -> 92813392791 (+0.00%)
Max live registers: 121935383 -> 121935399 (+0.00%)
Max dispatch width: 19949928 -> 19949912 (-0.00%)

Totals from 2 (0.00% of 2284670) affected shaders:
Instrs: 1380 -> 1392 (+0.87%)
Cycle count: 18940 -> 19060 (+0.63%)
Max live registers: 136 -> 152 (+11.76%)
Max dispatch width: 32 -> 16 (-50.00%)

No fossil-db changes on Skylake.

Suggested-by: Georg Lehmann
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37186>
2025-10-10 17:25:07 +00:00
..
clc clc: Fix createDiagnostics for LLVM-22 2025-10-03 18:44:30 +00:00
glsl glsl: use array element type to validate assignment 2025-10-10 09:19:55 +00:00
isaspec meson: do not compile libisaspec unless used 2025-03-25 08:32:47 +00:00
libcl libcl: avoid calling UNREACHABLE(str) macro without arguments 2025-08-04 23:15:18 +02:00
nir nir/algebraic: Don't introduce undefined behavior in f2u conversion 2025-10-10 17:25:07 +00:00
rust nak: Move dataflow to compiler crate 2025-09-13 07:30:50 +00:00
spirv vtn_bindgen2: use anonymous namespace to avoid name collisions 2025-10-09 19:18:58 +00:00
builtin_types.py compiler: add float8 glsl types 2025-06-23 07:59:24 +00:00
builtin_types_c.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
builtin_types_h.py compiler: Generate files with newline at end 2025-06-24 14:01:04 +00:00
glsl_types.c glsl: handle PerPrimitiveEXT qualifier 2025-09-22 02:19:37 +00:00
glsl_types.h glsl: handle PerPrimitiveEXT qualifier 2025-09-22 02:19:37 +00:00
list.h nir: remove unused stuff from list.h 2025-07-31 20:23:04 +00:00
meson.build nir: move list.h outside the glsl directory 2025-07-31 20:23:02 +00:00
shader_enums.c compiler: auto-stage file ext for SPIR-V capture 2025-09-22 19:06:07 +00:00
shader_enums.h compiler: add an access flag for intel EU fusion 2025-10-10 11:19:39 +00:00
shader_info.h nir,vtn: add shader_info::assume_no_data_races 2025-10-07 17:41:30 +00:00