mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-21 09:20:12 +01:00
For TGSI, we need the coordinate, comparator, bias, and LOD all together in the first two vec4 args, and by doing it in the backend we were generating extra MOVs. softpipe shader-db results: total instructions in shared programs: 2985416 -> 2953625 (-1.06%) instructions in affected programs: 499937 -> 468146 (-6.36%) total temps in shared programs: 544769 -> 565869 (3.87%) temps in affected programs: 105469 -> 126569 (20.01%) i915g shader-db: total instructions in shared programs: 371625 -> 369594 (-0.55%) instructions in affected programs: 24903 -> 22872 (-8.16%) total tex_indirect in shared programs: 11381 -> 11365 (-0.14%) tex_indirect in affected programs: 43 -> 27 (-37.21%) LOST: 7 GAINED: 16 The temps increase is the pre-existing issue that we never release temps for NIR regs, which doesn't matter much for softpipe (just memory/cache footprint) but does for i915g as seen by shaders that no longer compile (though overall we seem to win). Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11912> |
||
|---|---|---|
| .. | ||
| glsl | ||
| nir | ||
| spirv | ||
| builtin_type_macros.h | ||
| glsl_types.cpp | ||
| glsl_types.h | ||
| meson.build | ||
| nir_types.cpp | ||
| nir_types.h | ||
| shader_enums.c | ||
| shader_enums.h | ||
| shader_info.h | ||