On 10 October 2016 at 20:41, Rob Clark <[email protected]> wrote:
> On Mon, Oct 10, 2016 at 1:43 PM, Chad Versace <[email protected]> 
> wrote:
>> Background:
>>
>>     This extension is needed by Android (via ARC++) on Chrome OS.
>>     Essentially, this extension provides a translation between EGLSync and
>>     explicit cross-process synchronization points, represented as "sync
>>     fds".  The relevant documentation is:
>>
>>       [1]: 
>> https://www.khronos.org/registry/egl/extensions/ANDROID/EGL_ANDROID_native_fence_sync.txt
>>       [2]: 
>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/sync_file.txt?id=refs/tags/v4.7-rc6
>>       [3]: 
>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/sync_file.h?id=refs/tags/v4.7-rc6
>>       [4]: 
>> https://source.android.com/devices/graphics/index.html#synchronization_framework
>>       [5]: 
>> https://source.android.com/devices/graphics/implement.html#explicit_synchronization
>>
>>     This series is only an RFC because the i915 kernel interface is not yet
>>     upstream. Here's the upstream status:
>>
>>       - Core kernel support for sync files was merged into Linux 4.7. See
>>        [2] and [3] above.
>>
>>       - Chris Wilson is actively working on the i915 interface.
>>
>>     This series builds on some of Rob Clark's previous RFC patches, which
>>     are included here. Some of my patches make changes to Rob's or document
>>     open questions about Rob's; those patches are prefixed with either
>>     'squash!' or 'todo!'.
>>
>> Testing:
>>
>>     I haven't yet tested EGL_ANDROID_native_fence_sync with these patches, 
>> but
>>     the series does build. I just wanted to get these patches on the list as 
>> a
>>     status-update.  I'm slowly working on getting Rob Clark's hacked-up 
>> kmscube to
>>     work on this series.
>>
>>     I did test that this series doesn't break any dEQP-EGL sync tests. But my
>>     dEQP doesn't include any EGL_ANDROID_native_fence_sync tests.
>>
From a quick skim neither one of CTS/dEQP/piglit had
EGL_ANDROID_native_fence_sync tests. I've mentioned to Rob F that
adding a few piglits might be a good idea. It would be good to
coordinate to avoid writing the same tests twice ;-)

>> Branches:
>>
>>     mesa: This exact patch series lives at
>>       http://cgit.kiwitree.net/~chadv/mesa/log/?h=review/fences-v02
>>
>>     mesa: My up-to-date, work-in-progress branch lives at
>>       http://cgit.kiwitree.net/~chadv/mesa/log/?h=wip/fences
>>
>>     libdrm: If you want to build this, you also need my libdrm branch:
>>       http://cgit.kiwitree.net/~chadv/libdrm/log/?h=wip/fences
>
> btw, we might want a sync-fd ioctl wrapper somewhere..  I had stuck it
> in libdrm (I might have needed it, or at least anticipated needing it
> both in mesa and libdrm??)
>
> https://github.com/freedreno/libdrm/commit/03479dee4fcaa85a81ed67e5112613f866b55467
>
> Also, I should mention that Robert Foss was debugging some issue w/
> this with drm/hwc2 on android.  Not entirely sure if the problem was
> with the virgl backend code, or something more core/shared..  it is
> only doing something slightly differently from kmscube
> (eglCreateSync(EGL_NO_NATIVE_FENCE_FD_ANDROID) followed by glFlush()
> instead of eglSwapBuffers() before eglDupNativeFence())  I was going
> to debug that over the weekend but atm kernel is a bit broken on the
> boards I have so didn't get very far yet..
>
Mildly related bug report + proposed fix:

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

-Emil
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to