mesa/src/compiler
Ian Romanick 7ef45e661f intel/fs: Add constant propagation for ADD3
v2: Require that the constant value be representable as either uint16_t
or int16_t. Suggested by Matt.

v3: Remove redundant patterns. Noticed by Matt.

shader-db:

DG2
total instructions in shared programs: 23103767 -> 23103577 (<.01%)
instructions in affected programs: 51822 -> 51632 (-0.37%)
helped: 98 / HURT: 15

total cycles in shared programs: 842347714 -> 842380017 (<.01%)
cycles in affected programs: 1942595 -> 1974898 (1.66%)
helped: 97 / HURT: 32

Nearly all of the affected shaders (around 9,900) are shaders in
Cyberpunk 2077. It's about an even split between vertex and fragment
shaders. The majority of the remaining affected shaders (3,600) are
from Strange Brigade. This was also a nearly even split between
fragment and vertex.

All but two of the lost shaders are SIMD32 fragment shaders in
Cyberpunk 2077. The other two are SIMD32 fragment shaders in Dota2.

fossil-db:

DG2
Instructions in all programs: 196379107 -> 196248608 (-0.1%)
helped: 13467 / HURT: 1210

Cycles in all programs: 13931355281 -> 13929955971 (-0.0%)
helped: 11801 / HURT: 2922

Lost: 90

Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23262>
2023-06-06 06:10:53 +00:00
..
clc meson: add feature option for use of system Clang headers at runtime 2023-05-31 14:21:25 +00:00
glsl compiler: Rename shader_prim to mesa_prim and replace all usage of pipe_prim_type with mesa_prim 2023-06-03 03:29:03 +00:00
isaspec ir3, isaspec: add raw instruction to assembler/disassembler. 2023-01-26 14:26:11 +00:00
nir intel/fs: Add constant propagation for ADD3 2023-06-06 06:10:53 +00:00
spirv nir: use generated immediate comparison helpers 2023-06-05 13:40:08 +00:00
builtin_type_macros.h glsl: add texture subpass variants 2022-11-10 10:21:34 +00:00
glsl_types.cpp compiler: Handle nested arrays correctly for computing CL size/alignment 2022-12-02 09:52:44 -08:00
glsl_types.h glsl: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_MTX_INITIALIZER 2022-11-09 04:38:28 +00:00
meson.build meson: inline gtest_test_protocol now that it's always 'gtest' 2023-03-10 07:20:29 +00:00
nir_gl_types.h mesa: #include "util/glheader.h" instead GL/gl.h in shared code 2022-11-03 16:07:31 +00:00
nir_types.cpp nir/types: Add some asserts to glsl_get_struct_field() 2022-11-01 14:48:41 +00:00
nir_types.h nir: Add a pass to lower mediump temps and shared mem. 2022-09-01 22:39:39 +00:00
shader_enums.c compiler: Rename shader_prim to mesa_prim and replace all usage of pipe_prim_type with mesa_prim 2023-06-03 03:29:03 +00:00
shader_enums.h compiler: Rename shader_prim to mesa_prim and replace all usage of pipe_prim_type with mesa_prim 2023-06-03 03:29:03 +00:00
shader_info.h spirv: add support for SpvCapabilityFragmentBarycentricKHR 2023-06-02 13:25:43 +00:00