https://bugs.freedesktop.org/show_bug.cgi?id=98172

--- Comment #29 from Suzuki, Shinji <[email protected]> ---
Sorry. I looked at only your latest comment when I replied previously because I
read it in email.

You are absolutely right. fence_finish() MUST run concurrently even if they
target same sync-object because, as you say, timeout setting in waits may be
different. I was thinking only in terms of infinite waits. I'll reapply your
patch and continue watching how my app behaves.
Thank you for noticing this before I post my buggy patch to the mailing list.

BTW, st_check_sync and st_client_wait_sync() seem identical except for the
existence of flags and timeout. Should they be merged?

(In reply to Michel Dänzer from comment #26)
> (In reply to Marek Olšák from comment #24)
> > Hm. Probably none.
> 
> Actually, I think there are: E.g. consider one thread calling
> glClientWaitSync with a non-0 timeout, blocking for some time with the mutex
> locked. If another thread calls glClientWaitSync with a 0 timeout (or
> whichever API call ends up in st_check_sync) during that time, it'll block
> until the first thread unlocks the mutex.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to