Skip to content
  • Emil Velikov's avatar
    egl: add EGL_platform_device support · d6edccee
    Emil Velikov authored
    
    
    This new 'platform' is added by default with no guards.
    
    It is effectively a copy of the surfaceless one, with updated function
    names and brand new probe function.
    
    Due to the reuse, some of the ifdef HAVE_SURFACELESS_PLATFORM guards
    have been dropped.
    
    A worthy mention are the changes in _egFindDisplay, since the original
    and dup'd fd are required, we make use of the plat_opt argument.
    
    Note that no hacks for eglGetDisplay are added - the API works only with
    the eglGetPlatformDisplay* API.
    
    v2:
     - s/_eglCompareDeviceDisplay/_eglSameDeviceDisplay/ (Eric)
     - let ^^ return bool (Eric)
     - fixup meson build, move files() further up (Eric)
     - copy from plat. surfaceless w/o the visual cleanups
     - close and free when destroying the dpy
     - sprinkle a few _eglDeviceSupports
     - split fd handling into separate function
     - use directly the render node if no FD is given (Mathias)
    
    v3:
     - s/dpy/disp/g
     - drop swap_buffers* callbacks
     - drop loader_set_logger()
     - drop local define
     - re-introduce _eglGetDRMDeviceRenderNode()
     - EGL_WARN on ForceSoftware with HW device - continue using the HW device
     - bail out for "EGL_MESA_device_software" until it's fixed
     - wire-up the Android build
    
    v4:
     - use new style _eglFindDisplay()
     - split hw vs sw code paths
     - don't close the internal fd (already handled in FiniDisplay())
     - make swrast work (bit hacky bit will do for now)
     - Android for real, drop autotools
     - Correct HW + LIBGL_ALWAYS_SOFTWARE check
     - use the dri2_create_drawable() helper
    
    v5:
     - enhance comment around fd checks (Mathias)
     - rebase for dri2_init_surface() changes
    
    Cc: Mathias Fröhlich <Mathias.Froehlich@gmx.net>
    Acked-by: Marek Olšák <marek.olsak@amd.com> (v4)
    Signed-off-by: default avatarEmil Velikov <emil.velikov@collabora.com>
    Signed-off-by: default avatarMarek Olšák <marek.olsak@amd.com>
    d6edccee