I can confirm that all 28 CTS 'events' tests pass now on my BARTS (6850) instead of hanging after an intentionally failing event.
I'll let Francisco give his say to whether it looks correct, but for this version you can have: Tested-By: Aaron Watry <awa...@gmail.com> --Aaron On Tue, Jul 24, 2018 at 10:28 PM, Jan Vesely <jan.ves...@rutgers.edu> wrote: > Trigger waiter condition variable. > Passes 'events' CTS on carrizo and turks. > v2: reduce to 0 > > Signed-off-by: Jan Vesely <jan.ves...@rutgers.edu> > --- > src/gallium/state_trackers/clover/core/event.cpp | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/src/gallium/state_trackers/clover/core/event.cpp > b/src/gallium/state_trackers/clover/core/event.cpp > index b7eb33dbfc..3d313ce896 100644 > --- a/src/gallium/state_trackers/clover/core/event.cpp > +++ b/src/gallium/state_trackers/clover/core/event.cpp > @@ -41,7 +41,7 @@ event::trigger_self() { > std::lock_guard<std::mutex> lock(mutex); > std::vector<intrusive_ref<event>> evs; > > - if (!--_wait_count) > + if (_wait_count && !--_wait_count) > std::swap(_chain, evs); > > cv.notify_all(); > @@ -65,8 +65,10 @@ event::abort_self(cl_int status) { > std::vector<intrusive_ref<event>> evs; > > _status = status; > + _wait_count = 0; > std::swap(_chain, evs); > > + cv.notify_all(); > return evs; > } > > -- > 2.17.1 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev