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
