On Wednesday, October 22, 2008 2:42 pm Jesse Barnes wrote: > Ok, this one actually works w/o corrupting your display. However, after > running for awhile I end up hitting the BUG_ON at i915_gem.c:1061, so I'm > hoping someone can tell me where I messed up the list handling (the change > in i915_gem_retire_request tries to deal with that, since the flushing list > is also non-empty at leavevt time for some reason).
Ok, some more details on this. It looks like we're getting to unbind with an active object, generally from get_fence but sometimes from other paths too. The object is active so i915_gem_wait_rendering(obj) ends up calling i915_wait_request() on it. But the object itself isn't on any of the lists: inactive, flushing, or active, which is probably why wait_request doesn't end up clearing its active flag (even though its seqno has passed). Also, I confirmed that i915_gem_object_set_domain wasn't queuing a request with the object by putting the BUG_ON(obj->active) up above it, so this seems to be just an object retirement bug of some kind... Jesse ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel