summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2015-01-07 15:15:22 -0800
committerEric Anholt <eric@anholt.net>2015-01-10 13:54:12 +1300
commit1d044326774b20c4c685e54e976aa685963b870a (patch)
treecc3aca002766a508e12e493a19ae5689c7e103a3
parent24d94874323ef59ebc83c806497c3d826ae37b9e (diff)
vc4: Move global seqno short-circuiting to vc4_wait_seqno().
Any other caller would want it, too.
-rw-r--r--src/gallium/drivers/vc4/vc4_bufmgr.c3
-rw-r--r--src/gallium/drivers/vc4/vc4_fence.c6
2 files changed, 3 insertions, 6 deletions
diff --git a/src/gallium/drivers/vc4/vc4_bufmgr.c b/src/gallium/drivers/vc4/vc4_bufmgr.c
index 34596be537..8c5ee64224 100644
--- a/src/gallium/drivers/vc4/vc4_bufmgr.c
+++ b/src/gallium/drivers/vc4/vc4_bufmgr.c
@@ -315,6 +315,9 @@ vc4_bo_flink(struct vc4_bo *bo, uint32_t *name)
bool
vc4_wait_seqno(struct vc4_screen *screen, uint64_t seqno, uint64_t timeout_ns)
{
+ if (screen->finished_seqno >= seqno)
+ return true;
+
#ifndef USE_VC4_SIMULATOR
struct drm_vc4_wait_seqno wait;
memset(&wait, 0, sizeof(wait));
diff --git a/src/gallium/drivers/vc4/vc4_fence.c b/src/gallium/drivers/vc4/vc4_fence.c
index 01906cdba0..f2ee91de61 100644
--- a/src/gallium/drivers/vc4/vc4_fence.c
+++ b/src/gallium/drivers/vc4/vc4_fence.c
@@ -66,9 +66,6 @@ vc4_fence_signalled(struct pipe_screen *pscreen,
struct vc4_screen *screen = vc4_screen(pscreen);
struct vc4_fence *f = (struct vc4_fence *)pf;
- if (screen->finished_seqno >= f->seqno)
- return true;
-
return vc4_wait_seqno(screen, f->seqno, 0);
}
@@ -80,9 +77,6 @@ vc4_fence_finish(struct pipe_screen *pscreen,
struct vc4_screen *screen = vc4_screen(pscreen);
struct vc4_fence *f = (struct vc4_fence *)pf;
- if (screen->finished_seqno >= f->seqno)
- return true;
-
return vc4_wait_seqno(screen, f->seqno, timeout_ns);
}