From: Marek Olšák Date: Tue, 21 Jan 2020 01:32:02 +0000 (-0500) Subject: st/mesa: optimize st_update_array with ALWAYSINLINE X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=11db8e0e00a72884ba9fda953b549dd65119dc73;p=mesa.git st/mesa: optimize st_update_array with ALWAYSINLINE The time spent in st_update_array is reduced by 5-10%. Reviewed-by: Mathias Fröhlich Tested-by: Marge Bot Part-of: --- 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,