From 11db8e0e00a72884ba9fda953b549dd65119dc73 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 20 Jan 2020 20:32:02 -0500 Subject: [PATCH] st/mesa: optimize st_update_array with ALWAYSINLINE MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The time spent in st_update_array is reduced by 5-10%. Reviewed-by: Mathias Fröhlich Tested-by: Marge Bot Part-of: --- src/mesa/state_tracker/st_atom_array.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/mesa/state_tracker/st_atom_array.c b/src/mesa/state_tracker/st_atom_array.c index 7913e3512b9..5c258ed9956 100644 --- a/src/mesa/state_tracker/st_atom_array.c +++ b/src/mesa/state_tracker/st_atom_array.c @@ -364,7 +364,10 @@ static void init_velement_lowered(const struct st_vertex_program *vp, } } -void +/* ALWAYS_INLINE helps the compiler realize that most of the parameters are + * on the stack. + */ +void ALWAYS_INLINE st_setup_arrays(struct st_context *st, const struct st_vertex_program *vp, const struct st_common_variant *vp_variant, @@ -427,7 +430,10 @@ st_setup_arrays(struct st_context *st, *has_user_vertex_buffers = uses_user_vertex_buffers; } -void +/* ALWAYS_INLINE helps the compiler realize that most of the parameters are + * on the stack. + */ +void ALWAYS_INLINE st_setup_current(struct st_context *st, const struct st_vertex_program *vp, const struct st_common_variant *vp_variant, -- 2.30.2