mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-23 04:18:14 +02:00
This should be exact, even for all special values: fsqrt(NaN) -> NaN fsqrt(-0.0) -> 0.0 fsqrt(-Inf) -> NaN fsqrt(negative finite) -> NaN So all of these get saturated to +0.0 All numbers >= 1.0 will have a square root >= 1.0, which will be saturate to 1.0 Moving the fsat guarantees that it can use an output modifier for hardware that has those, and shouldn't harm other hardware either. Foz-DB Navi21: Totals from 255 (0.31% of 82151) affected shaders: Instrs: 664906 -> 664194 (-0.11%) CodeSize: 3623500 -> 3619188 (-0.12%) Latency: 11336397 -> 11335688 (-0.01%); split: -0.01%, +0.00% InvThroughput: 2716430 -> 2715726 (-0.03%); split: -0.03%, +0.00% VALU: 442603 -> 441891 (-0.16%) Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39202> |
||
|---|---|---|
| .. | ||
| clc | ||
| glsl | ||
| isaspec | ||
| libcl | ||
| nir | ||
| rust | ||
| spirv | ||
| builtin_types.py | ||
| builtin_types_c.py | ||
| builtin_types_h.py | ||
| glsl_types.c | ||
| glsl_types.h | ||
| list.h | ||
| meson.build | ||
| shader_enums.c | ||
| shader_enums.h | ||
| shader_info.h | ||