diff options
author | Marek Olšák <[email protected]> | 2017-11-09 20:12:07 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2017-11-10 17:17:13 +0100 |
commit | e456d4def5cb0cff3c243c267dd08ac17042e9e4 (patch) | |
tree | 14a0e7ee911fec8fe18621bf4bc5478ae9d9934d /src/mesa/state_tracker | |
parent | e7972b89432600ebe38e6eb67b9b65c1f34dfdc1 (diff) |
st/dri: fix android fence regression
Fixes piglit - egl_khr_fence_sync/android_native tests.
Broken by 884a0b2a9e55d4c1ca39475b50d9af598d7d7280.
Introduce state-tracker flush flags, analogous to the pipe ones. Use
the former when with stapi->flush().
Fixes: 884a0b2a9e5 ("st/dri: use stapi flush instead of pipe flush
when creating fences")
Reviewed-by: Emil Velikov <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r-- | src/mesa/state_tracker/st_manager.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index aedbc13f7d7..43d5dfdced2 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -632,9 +632,12 @@ st_context_flush(struct st_context_iface *stctxi, unsigned flags, struct st_context *st = (struct st_context *) stctxi; unsigned pipe_flags = 0; - if (flags & ST_FLUSH_END_OF_FRAME) { + if (flags & ST_FLUSH_END_OF_FRAME) pipe_flags |= PIPE_FLUSH_END_OF_FRAME; - } + if (flags & ST_FLUSH_DEFERRED) + pipe_flags |= PIPE_FLUSH_DEFERRED; + if (flags & ST_FLUSH_FENCE_FD) + pipe_flags |= PIPE_FLUSH_FENCE_FD; FLUSH_VERTICES(st->ctx, 0); FLUSH_CURRENT(st->ctx, 0); |