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

Reply via email to