From fbda7958ff21ab8595ca7d601df6cf033a7eabf7 Mon Sep 17 00:00:00 2001 From: Nicolai Hähnle Date: Sun, 22 Oct 2017 17:39:02 +0200 Subject: st/mesa: remove redundant flushes from st_flush MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit st_flush should flush state tracker-internal state and the pipe, but not mesa/main state. Of the four callers: - glFlush/glFinish already call FLUSH_{VERTICES,STATE}. - st_vdpau doesn't need to call them. - st_manager will now call them explicitly. Reviewed-by: Marek Olšák --- src/mesa/state_tracker/st_manager.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/mesa/state_tracker/st_manager.c') diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index d27727ae8fb..953f7156c90 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -45,6 +45,7 @@ #include "st_debug.h" #include "st_extensions.h" #include "st_format.h" +#include "st_cb_bitmap.h" #include "st_cb_fbo.h" #include "st_cb_flush.h" #include "st_manager.h" @@ -635,6 +636,8 @@ st_context_flush(struct st_context_iface *stctxi, unsigned flags, pipe_flags |= PIPE_FLUSH_END_OF_FRAME; } + FLUSH_VERTICES(st->ctx, 0); + FLUSH_CURRENT(st->ctx, 0); st_flush(st, fence, pipe_flags); if ((flags & ST_FLUSH_WAIT) && fence && *fence) { -- cgit v1.2.3