mesa: optimize set_varying_vp_inputs by precomputing the conditions
authorMarek Olšák <marek.olsak@amd.com>
Mon, 25 Jan 2021 21:47:38 +0000 (16:47 -0500)
committerMarge Bot <eric+marge@anholt.net>
Mon, 15 Feb 2021 19:29:09 +0000 (19:29 +0000)
commit99e25d183d9cc8a2445f80ae0ee78db9d7ac4358
treefefeb25957ee679a97297e3f063c04f57335e04d
parent4cea48437d222bd40548c8ee143eb47b1a23328d
mesa: optimize set_varying_vp_inputs by precomputing the conditions

set_varying_vp_inputs is called every draw call, which checks
_Maintain*Program. Let's move that checking out of there.

This adds a new flag that determines whether set_varying_vp_inputs
should do anything.

All code that changes _Maintain*Program must now reinitialize the new
flag. This is done by new function _mesa_reset_vertex_processing_mode.

Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8798>
src/mesa/drivers/dri/i915/i915_context.c
src/mesa/drivers/dri/i965/brw_context.c
src/mesa/drivers/x11/xm_api.c
src/mesa/main/context.c
src/mesa/main/mtypes.h
src/mesa/main/state.c
src/mesa/main/state.h
src/mesa/program/program.c
src/mesa/state_tracker/st_context.c