<div dir="auto"><div>Hi Emil,</div><div dir="auto"><br></div><div dir="auto">What are your plans for pushing this?</div><div dir="auto"><br></div><div dir="auto">Thanks,</div><div dir="auto">Marek<br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Thu, May 16, 2019, 3:23 PM Marek Olšák <<a href="mailto:maraeo@gmail.com">maraeo@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Acked-by: Marek Olšák <<a href="mailto:marek.olsak@amd.com" target="_blank" rel="noreferrer">marek.olsak@amd.com</a>></div><div><br></div><div>Marek<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 16, 2019 at 1:03 PM Emil Velikov <<a href="mailto:emil.l.velikov@gmail.com" target="_blank" rel="noreferrer">emil.l.velikov@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This new 'platform' is added by default with no guards.<br>
<br>
It is effectively a copy of the surfaceless one, with updated function<br>
names and brand new probe function.<br>
<br>
Due to the reuse, some of the ifdef HAVE_SURFACELESS_PLATFORM guards<br>
have been dropped.<br>
<br>
A worthy mention are the changes in _egFindDisplay, since the original<br>
and dup'd fd are required, we make use of the plat_opt argument.<br>
<br>
Note that no hacks for eglGetDisplay are added - the API works only with<br>
the eglGetPlatformDisplay* API.<br>
<br>
v2:<br>
- s/_eglCompareDeviceDisplay/_eglSameDeviceDisplay/ (Eric)<br>
- let ^^ return bool (Eric)<br>
- fixup meson build, move files() further up (Eric)<br>
- copy from plat. surfaceless w/o the visual cleanups<br>
- close and free when destroying the dpy<br>
- sprinkle a few _eglDeviceSupports<br>
- split fd handling into separate function<br>
- use directly the render node if no FD is given (Mathias)<br>
<br>
v3:<br>
- s/dpy/disp/g<br>
- drop swap_buffers* callbacks<br>
- drop loader_set_logger()<br>
- drop local define<br>
- re-introduce _eglGetDRMDeviceRenderNode()<br>
- EGL_WARN on ForceSoftware with HW device - continue using the HW device<br>
- bail out for "EGL_MESA_device_software" until it's fixed<br>
- wire-up the Android build<br>
<br>
v4:<br>
- use new style _eglFindDisplay()<br>
- split hw vs sw code paths<br>
- don't close the internal fd (already handled in FiniDisplay())<br>
- make swrast work (bit hacky bit will do for now)<br>
- Android for real, drop autotools<br>
- Correct HW + LIBGL_ALWAYS_SOFTWARE check<br>
- use the dri2_create_drawable() helper<br>
<br>
v5:<br>
- enhance comment around fd checks (Mathias)<br>
- rebase for dri2_init_surface() changes<br>
<br>
Cc: Mathias Fröhlich <<a href="mailto:Mathias.Froehlich@gmx.net" target="_blank" rel="noreferrer">Mathias.Froehlich@gmx.net</a>><br>
Acked-by: Marek Olšák <<a href="mailto:marek.olsak@amd.com" target="_blank" rel="noreferrer">marek.olsak@amd.com</a>> (v4)<br>
Signed-off-by: Emil Velikov <<a href="mailto:emil.velikov@collabora.com" target="_blank" rel="noreferrer">emil.velikov@collabora.com</a>><br>
---<br>
src/egl/Android.mk | 1 +<br>
src/egl/drivers/dri2/egl_dri2.c | 3 +<br>
src/egl/drivers/dri2/egl_dri2.h | 13 +-<br>
src/egl/drivers/dri2/platform_device.c | 435 +++++++++++++++++++++++++<br>
src/egl/main/eglapi.c | 13 +-<br>
src/egl/main/egldevice.c | 16 +<br>
src/egl/main/egldevice.h | 3 +<br>
src/egl/main/egldisplay.c | 67 ++++<br>
src/egl/main/egldisplay.h | 7 +-<br>
src/egl/main/eglglobals.c | 1 +<br>
src/egl/meson.build | 1 +<br>
11 files changed, 549 insertions(+), 11 deletions(-)<br>
create mode 100644 src/egl/drivers/dri2/platform_device.c<br>
</blockquote></div></div>
</blockquote></div></div></div>