On Fri, Apr 15, 2016 at 11:27:50AM -0700, Gustavo Padovan wrote:
2016-04-15 Christian KÃnig <christian.koenig@xxxxxxx>:The problem with adding fences later on is that it makes it trivial to add
Amdgpu also has an implementation for a fence collection which uses a aMaybe we can go for something in between. Have fence_collection_init()
hashtable to keep the fences grouped by context (e.g. only the latest fence
is keept for each context). See amdgpu_sync.c for reference.
We should either make the collection similar in a way that you can add as
many fences as you want (like the amdgpu implementation) or make it static
and only add a fixed number of fences right from the beginning.
I can certainly see use cases for both, but if you want to stick with a
static approach you should probably call the new object fence_array instead
of fence_collection and do as Daniel suggested.
need at least two fences to create the fence_collection. Then
fence_collection_add() would add more dinamically.
deadlocks and loops. Just add the fence collection to itself, boom. From
that pov it's an unsafe api, and hence something to avoid.
-Daniel