aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_manager.c
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2017-10-22 17:39:02 +0200
committerNicolai Hähnle <[email protected]>2017-11-09 14:20:58 +0100
commitfbda7958ff21ab8595ca7d601df6cf033a7eabf7 (patch)
treeef2bbf1abcce3447f9212ad86cfc180e5673c9af /src/mesa/state_tracker/st_manager.c
parent884a0b2a9e55d4c1ca39475b50d9af598d7d7280 (diff)
st/mesa: remove redundant flushes from st_flush
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 <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker/st_manager.c')
-rw-r--r--src/mesa/state_tracker/st_manager.c3
1 files changed, 3 insertions, 0 deletions
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) {