Skip to content
  • Benjamin Franzke's avatar
    egl: Native Display autodetection · 85fe9484
    Benjamin Franzke authored
    
    
    EGL doesnt define howto manage different native platforms.
    So mesa has a builtime configurable default platform,
    whith non-standard envvar (EGL_PLATFORM) overwrites.
    This caused unneeded bugreports, when EGL_PLATFORM was forgotten.
    
    Detection is grouped into basic types of NativeDisplays (which itself
    needs to be detected).  The final decision is based on characteristcs
    of these basic types:
    
      File Desciptor based platforms (fbdev):
        - fstat(2) to check for being a fd that belongs to a character device
        - check kernel subsystem (todo)
    
      Pointer to structuctures (x11, wayland, drm/gbm):
        - mincore(2) to check whether its valid pointer to some memory.
        - magic elements (e.g. pointers to exported symbols):
          o wayland display stores interface type pointer (first elm.)
          o gbm stores pointer to its constructor (first elm.)
          o x11 as a fallback (FIXME?)
    
    Reviewed-by: default avatarKristian Høgsberg <krh@bitplanet.net>
    85fe9484