Skip to content
  • Mauro Rossi's avatar
    egl/android: fix regression in drm_gralloc path (v2) · 73b342c7
    Mauro Rossi authored
    This patch fixes a regression in mesa 18.2 and mesa-dev branches
    for HAVE_DRM_GRALLOC code path which is causing black screen on Android
    and prevents boot due to SIGSEGV MAPERR crash related to unproper handling
    of drm_gralloc drm FD in new droid_open_device() path.
    
    Problem is due to c7bb8213 ("egl/android: Add DRM node probing and filtering")
    
    To avoid the crash the former existing working droid_open_device() is restored,
    renamed droid_open_device_drm_gralloc() and kept within HAVE_DRM_GRALLOC braces.
    
    Tested with mesa-dev and mesa 18.2 branch and oreo-x86 bootanimation
    and Androdi GUI booting is fixed with i965, nouveau, radeon.
    The changes are compatible with gbm_gralloc, I've tested build with hwc too.
    
    (v2) remove indentation from HAVE_DRM_GRALLOC pre-processor directive
    
    NOTE: Definition of enum{} for GRALLOC_MODULE_PERFORM_GET_DRM_FD
    is not necessary and it's actually causing a redefinition building error,
    because in HAVE_DRM_GRALLOC path gralloc_drm.h is already exported
    by libgralloc_drm which is currently still a dependency.
    
    Fixes: c7bb8213
    
     ("egl/android: Add DRM node probing and filtering")
    Cc: "18.2" <mesa-stable@lists.freedesktop.org>
    Signed-off-by: default avatarMauro Rossi <issor.oruam@gmail.com>
    73b342c7