On Wed, Sep 21, 2016 at 12:30 PM, Christian König <deathsimple@xxxxxxxxxxx> wrote: > Am 21.09.2016 um 11:56 schrieb Michel Dänzer: >> >> >> Looks like there are different interpretations of the semantics of >> exclusive vs. shared fences. Where are these semantics documented? > > > Yeah, I think as well that this is the primary question here. > > IIRC the fences were explicitly called exclusive/shared instead of > writing/reading on purpose. > > I absolutely don't mind switching to them to writing/reading semantics, but > amdgpu really needs multiple writers at the same time. > > So in this case the writing side of a reservation object needs to be a > collection of fences as well. You can't have multiple writers with implicit syncing. That confusion is exactly why we called them shared/exclusive. Multiple writers generally means that you do some form of fencing in userspace (unsync'ed gl buffer access is the common one). What you do for private buffers doesn't matter, but when you render into a shared/winsys buffer you really need to set the exclusive fence (and there can only ever be one). So probably needs some userspace adjustments to make sure you don't accidentally set an exclusive write hazard when you don't really want that implicit sync. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel