Quoting Jason Ekstrand (2017-08-09 19:49:34)
> This adds both trivial error-checking tests as well as more complex
> tests which actually test whether or not waits do what they're supposed
> to do.  They only currently work on i915 but it should be simple to hook
> them up for other drivers by simply implementing the little function
> pointer hook provided at the top for triggering a syncobj.
> v2:
>  - Actually add the reset tests.
> v3:
>  - Only do one execbuf for trigger
>  - Use do_ioctl and do_ioctl_err
>  - Better check for syncobj support
>  - Add local_/LOCAL_ defines of things
>  - Use a timer instead of a pthread

Do we want to bake the snapshot of fences into the ABI? It's a pretty
fundamental detail (at least imo)...

test_fences_snapshot {
        syncobj[] = ...

        bind_to_cpu(0); /* tie both to the same processor/runqueue */

        igt_fork(child, 1) {

        yield(); /* force child to run + wait */

        /* swap fences in syncobj[] */
        /* signal new fences */

        igt_assert(kill(childpid, 0));

Details are hazy, but we have to force the child in sleeping on the
snapshot of fences, then change the syncobj[] in a detectable manner.
Intel-gfx mailing list

Reply via email to