On Tuesday 08 October 2013, Marek Olšák wrote: > From: Marek Olšák <[email protected]> > > This was horribly, horribly broken. The limit was 1024 fences created > from the start of the application and as you probably know, pipe fences are > not reusable. If you wanted to use one fence per frame, you could only do > that for 1024 frames, whish was pretty bad. The error message "too many > concurrent fences" was misleading.
Not true. r600g has a pool of 1024 internal fences, and when a pipe_fence is deleted, the internal fence is returned to the pool so it can be reused. If you see that error message, it really means that the application or the state tracker has created 1024 fences without waiting on them or deleting them. Note that calling glClientWaitSync() or quering the state of a signalled sync object also causes the state tracker to delete the fence. This is not an objection to the patch, but I don't believe the ultimate cause of the problem is the r600g implementation. Fredrik _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
