mesa/src/compiler
Ian Romanick faee9426ab nir/algebraic: Optimize some masking of extract_u8 operations
I observed this pattern in several Red Dead Redemption 2 shaders.

No shader-db changes on any Intel platform.

v2: Remove duplicated patterns. Noticed by Georg.

fossil-db:

All Intel platforms had similar results. (Meteor Lake shown)
Totals:
Instrs: 151519393 -> 151507192 (-0.01%); split: -0.01%, +0.00%
Cycle count: 17208246858 -> 17177437340 (-0.18%); split: -0.25%, +0.07%
Spill count: 80830 -> 80759 (-0.09%); split: -0.09%, +0.00%
Fill count: 152754 -> 152179 (-0.38%); split: -0.40%, +0.02%

Totals from 7531 (1.20% of 630198) affected shaders:
Instrs: 12606141 -> 12593940 (-0.10%); split: -0.10%, +0.00%
Cycle count: 5466605514 -> 5435795996 (-0.56%); split: -0.79%, +0.22%
Spill count: 25251 -> 25180 (-0.28%); split: -0.29%, +0.01%
Fill count: 45143 -> 44568 (-1.27%); split: -1.36%, +0.08%

Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30158>
2024-07-20 00:19:05 +00:00
..
clc build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
glsl format: Generate endian-independent format aliases 2024-07-19 13:50:42 +00:00
isaspec build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
nir nir/algebraic: Optimize some masking of extract_u8 operations 2024-07-20 00:19:05 +00:00
spirv spirv: Don't warn about FPFastMathMode if not OpenCL 2024-07-16 19:14:21 +00:00
builtin_types.py compiler/types: Use Python to generate code for builtin types 2023-09-16 15:17:01 +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 util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
glsl_types.c glsl_types: derive ht 2024-03-12 19:41:50 +00:00
glsl_types.h compiler/types: Fix glsl_dvec*_type() helpers 2024-03-04 15:22:32 +00:00
meson.build format: Generate endian-independent format aliases 2024-07-19 13:50:42 +00:00
shader_enums.c nir: add SYSTEM_VALUE_BASE_WORKGROUP_ID 2024-04-24 20:18:48 +00:00
shader_enums.h nir: Add FLOAT_CONTROLS_.*_PRESERVE 2024-07-15 19:28:59 +00:00
shader_info.h nir/shader_info: remove uses_demote 2024-06-17 19:37:16 +00:00