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

Reply via email to