summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2011-06-07 22:22:16 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2011-06-11 17:11:26 +0200
commit219150433a305b0e0b6093647758eed3a7650bc4 (patch)
treefe19a2e8966c62cdac2266cb3146ef26efc971d4
parent4176025d463e7733dac19788b45b6472b65d62d4 (diff)
i915g: implement fence signalling
v2: Incorporated feedback from Jakob Bornecrantz. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--src/gallium/winsys/i915/drm/i915_drm_fence.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gallium/winsys/i915/drm/i915_drm_fence.c b/src/gallium/winsys/i915/drm/i915_drm_fence.c
index 30ebf4835ea..650ccfcd876 100644
--- a/src/gallium/winsys/i915/drm/i915_drm_fence.c
+++ b/src/gallium/winsys/i915/drm/i915_drm_fence.c
@@ -52,9 +52,13 @@ static int
i915_drm_fence_signalled(struct i915_winsys *iws,
struct pipe_fence_handle *fence)
{
- assert(0);
+ struct i915_drm_fence *f = (struct i915_drm_fence *)fence;
- return 0;
+ /* fence already expired */
+ if (!f->bo)
+ return 1;
+
+ return !drm_intel_bo_busy(f->bo);
}
static int