On Wed, Sep 21, 2016 at 12:30 PM, Christian König
> 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.
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
amd-gfx mailing list