summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Fonseca <jrfonseca@tungstengraphics.com>2008-04-08 20:42:06 +0900
committerJosé Fonseca <jrfonseca@tungstengraphics.com>2008-04-08 20:42:24 +0900
commit4382b0c9cba3efa8a60252f6ddf2f0653352f7d8 (patch)
tree7ffac3fdb96bb292a3362b0300a70fe8266c62db
parentf97c56e057f954cbc477df10ad767636f3fe83ce (diff)
gallium: Fix overzealous assert.
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c b/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
index 24ba61a0b7..b1f7d93057 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
@@ -97,6 +97,7 @@ _fenced_buffer_add(struct fenced_buffer *fenced_buf)
{
struct fenced_buffer_list *fenced_list = fenced_buf->list;
+ assert(fenced_buf->base.base.refcount);
assert(fenced_buf->fence);
assert(!fenced_buf->head.prev);
assert(!fenced_buf->head.next);
@@ -128,7 +129,6 @@ _fenced_buffer_remove(struct fenced_buffer *fenced_buf)
assert(fenced_buf->fence);
- assert(winsys->fence_signalled(winsys, fenced_buf->fence, 0) == 0);
winsys->fence_reference(winsys, &fenced_buf->fence, NULL);
assert(fenced_buf->head.prev);
@@ -174,6 +174,9 @@ _fenced_buffer_list_check_free(struct fenced_buffer_list *fenced_list,
break;
prev_fence = fenced_buf->fence;
}
+ else {
+ assert(winsys->fence_signalled(winsys, fenced_buf->fence, 0) == 0);
+ }
_fenced_buffer_remove(fenced_buf);
@@ -199,6 +202,7 @@ fenced_buffer_destroy(struct pb_buffer *buf)
prev = curr->prev;
do {
fenced_buf = LIST_ENTRY(struct fenced_buffer, curr, head);
+ assert(winsys->fence_signalled(winsys, fenced_buf->fence, 0) == 0);
_fenced_buffer_remove(fenced_buf);
curr = prev;
prev = curr->prev;