mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-02 21:50:34 +01:00
We might have several identical options to vectorize an entry with, but only one might be vectorizable because of writes interfering. An example of this is a pattern found in some CTS tests: a = load(0) b = load(4) store(0, a) store(4, b) a = load(0) b = load(4) store(0, a) store(4, b) ... It might have attempted to vectorize the first load(0) with the second load(4) without attempting the second load(4) when the first fails. This changes vectorize_entries() to continue even if the first try_vectorize() failed. fossil-db (Navi): Totals from 117 (0.09% of 137413) affected shaders: SGPRs: 7040 -> 7088 (+0.68%) CodeSize: 276504 -> 276308 (-0.07%); split: -0.08%, +0.01% Instrs: 51152 -> 51111 (-0.08%); split: -0.09%, +0.01% Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5415> |
||
|---|---|---|
| .. | ||
| glsl | ||
| nir | ||
| spirv | ||
| Android.glsl.gen.mk | ||
| Android.glsl.mk | ||
| Android.mk | ||
| Android.nir.gen.mk | ||
| Android.nir.mk | ||
| builtin_type_macros.h | ||
| glsl_types.cpp | ||
| glsl_types.h | ||
| Makefile.sources | ||
| meson.build | ||
| nir_types.cpp | ||
| nir_types.h | ||
| SConscript | ||
| SConscript.glsl | ||
| SConscript.nir | ||
| SConscript.spirv | ||
| shader_enums.c | ||
| shader_enums.h | ||
| shader_info.h | ||