debian/patches/egl-platform-mir.patch | 129 ++++++++++++++++++++-------------- debian/patches/egl-platform-rs.patch | 104 ++++++++++++++++----------- 2 files changed, 137 insertions(+), 96 deletions(-)
New commits: commit df04f869c02a2168fe7cea228265288d3fb3ab3f Author: Christopher James Halse Rogers <r...@ubuntu.com> Date: Thu Aug 10 17:32:47 2017 +1000 Finish refreshing Mir EGL platform patches diff --git a/debian/patches/egl-platform-mir.patch b/debian/patches/egl-platform-mir.patch index 8801731..8cc5b67 100644 --- a/debian/patches/egl-platform-mir.patch +++ b/debian/patches/egl-platform-mir.patch @@ -1,6 +1,8 @@ ---- a/configure.ac -+++ b/configure.ac -@@ -1723,7 +1723,9 @@ for plat in $platforms; do +Index: mesa/configure.ac +=================================================================== +--- mesa.orig/configure.ac 2017-08-10 16:37:31.970030645 +1000 ++++ mesa/configure.ac 2017-08-10 17:18:19.000000000 +1000 +@@ -1723,7 +1723,9 @@ PKG_CHECK_MODULES([ANDROID], [cutils hardware sync]) DEFINES="$DEFINES -DHAVE_ANDROID_PLATFORM" ;; @@ -11,7 +13,7 @@ *) AC_MSG_ERROR([platform '$plat' does not exist]) ;; -@@ -1754,6 +1756,7 @@ AM_CONDITIONAL(HAVE_PLATFORM_WAYLAND, ec +@@ -1754,6 +1756,7 @@ AM_CONDITIONAL(HAVE_PLATFORM_DRM, echo "$platforms" | grep -q 'drm') AM_CONDITIONAL(HAVE_PLATFORM_SURFACELESS, echo "$platforms" | grep -q 'surfaceless') AM_CONDITIONAL(HAVE_PLATFORM_ANDROID, echo "$platforms" | grep -q 'android') @@ -19,9 +21,11 @@ dnl dnl More DRI setup ---- a/include/EGL/eglplatform.h -+++ b/include/EGL/eglplatform.h -@@ -105,6 +105,13 @@ typedef struct ANativeWindow* +Index: mesa/include/EGL/eglplatform.h +=================================================================== +--- mesa.orig/include/EGL/eglplatform.h 2017-08-10 16:37:31.970030645 +1000 ++++ mesa/include/EGL/eglplatform.h 2017-08-10 17:18:19.000000000 +1000 +@@ -105,6 +105,13 @@ typedef struct egl_native_pixmap_t* EGLNativePixmapType; typedef void* EGLNativeDisplayType; @@ -35,9 +39,11 @@ #elif defined(__unix__) || defined(__APPLE__) #if defined(MESA_EGL_NO_X11_HEADERS) ---- a/include/GL/internal/dri_interface.h -+++ b/include/GL/internal/dri_interface.h -@@ -964,10 +964,12 @@ struct __DRIbufferRec { +Index: mesa/include/GL/internal/dri_interface.h +=================================================================== +--- mesa.orig/include/GL/internal/dri_interface.h 2017-08-10 16:37:31.970030645 +1000 ++++ mesa/include/GL/internal/dri_interface.h 2017-08-10 16:37:31.966030819 +1000 +@@ -964,10 +964,12 @@ unsigned int pitch; unsigned int cpp; unsigned int flags; @@ -51,9 +57,11 @@ struct __DRIdri2LoaderExtensionRec { __DRIextension base; ---- a/src/egl/drivers/dri2/egl_dri2.c -+++ b/src/egl/drivers/dri2/egl_dri2.c -@@ -858,6 +858,11 @@ dri2_initialize(_EGLDriver *drv, _EGLDis +Index: mesa/src/egl/drivers/dri2/egl_dri2.c +=================================================================== +--- mesa.orig/src/egl/drivers/dri2/egl_dri2.c 2017-08-10 16:37:31.970030645 +1000 ++++ mesa/src/egl/drivers/dri2/egl_dri2.c 2017-08-10 17:18:19.000000000 +1000 +@@ -858,6 +858,11 @@ ret = dri2_initialize_wayland(drv, disp); break; #endif @@ -65,7 +73,7 @@ #ifdef HAVE_ANDROID_PLATFORM case _EGL_PLATFORM_ANDROID: ret = dri2_initialize_android(drv, disp); -@@ -936,6 +941,13 @@ dri2_display_destroy(_EGLDisplay *disp) +@@ -936,6 +941,13 @@ } break; #endif @@ -79,7 +87,7 @@ #ifdef HAVE_WAYLAND_PLATFORM case _EGL_PLATFORM_WAYLAND: if (dri2_dpy->wl_drm) -@@ -963,7 +975,8 @@ dri2_display_destroy(_EGLDisplay *disp) +@@ -963,7 +975,8 @@ * the ones from the gbm device. As such the gbm itself is responsible * for the cleanup. */ @@ -89,9 +97,11 @@ for (unsigned i = 0; dri2_dpy->driver_configs[i]; i++) free((__DRIconfig *) dri2_dpy->driver_configs[i]); free(dri2_dpy->driver_configs); ---- a/src/egl/drivers/dri2/egl_dri2.h -+++ b/src/egl/drivers/dri2/egl_dri2.h -@@ -65,6 +65,10 @@ struct zwp_linux_dmabuf_v1; +Index: mesa/src/egl/drivers/dri2/egl_dri2.h +=================================================================== +--- mesa.orig/src/egl/drivers/dri2/egl_dri2.h 2017-08-10 16:37:31.970030645 +1000 ++++ mesa/src/egl/drivers/dri2/egl_dri2.h 2017-08-10 17:18:19.000000000 +1000 +@@ -65,6 +65,10 @@ #endif /* HAVE_ANDROID_PLATFORM */ @@ -102,7 +112,7 @@ #include "eglconfig.h" #include "eglcontext.h" #include "egldisplay.h" -@@ -234,6 +238,9 @@ struct dri2_egl_display +@@ -234,6 +238,9 @@ bool is_render_node; bool is_different_gpu; @@ -112,7 +122,7 @@ }; struct dri2_egl_context -@@ -283,7 +290,7 @@ struct dri2_egl_surface +@@ -283,7 +290,7 @@ struct gbm_dri_surface *gbm_surf; #endif @@ -121,7 +131,7 @@ __DRIbuffer *dri_buffers[__DRI_BUFFER_COUNT]; struct { #ifdef HAVE_WAYLAND_PLATFORM -@@ -295,9 +302,13 @@ struct dri2_egl_surface +@@ -295,9 +302,13 @@ void *data; int data_size; #endif @@ -136,7 +146,7 @@ bool locked; int age; } color_buffers[4], *back, *current; -@@ -326,6 +337,10 @@ struct dri2_egl_surface +@@ -326,6 +337,10 @@ __DRIimage *front; unsigned int visual; #endif @@ -147,7 +157,7 @@ }; struct dri2_egl_config -@@ -417,6 +432,9 @@ dri2_initialize_android(_EGLDriver *drv, +@@ -417,6 +432,9 @@ EGLBoolean dri2_initialize_surfaceless(_EGLDriver *drv, _EGLDisplay *disp); @@ -157,9 +167,11 @@ void dri2_flush_drawable_for_swapbuffers(_EGLDisplay *disp, _EGLSurface *draw); ---- /dev/null -+++ b/src/egl/drivers/dri2/platform_mir.c -@@ -0,0 +1,632 @@ +Index: mesa/src/egl/drivers/dri2/platform_mir.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ mesa/src/egl/drivers/dri2/platform_mir.c 2017-08-10 17:20:55.133969688 +1000 +@@ -0,0 +1,633 @@ +/* + * Copyright © 2012 Canonical, Inc + * @@ -211,10 +223,9 @@ + dri2_egl_display(dri2_surf->base.Resource.Display); + int i; + -+ dri2_surf->buffer_count = 0; + for (i = 0; i < 2*count; i+=2) { + assert(attachments[i] < __DRI_BUFFER_COUNT); -+ assert(dri2_surf->buffer_count < 5); ++ assert((i/2) < ARRAY_SIZE(dri2_surf->buffers)); + + if (dri2_surf->dri_buffers[attachments[i]] == NULL) { + /* Our frame callback must keep these buffers valid */ @@ -226,22 +237,22 @@ + attachments[i], attachments[i+1], + dri2_surf->base.Width, dri2_surf->base.Height); + -+ if (!dri2_surf->dri_buffers[attachments[i]]) -+ continue; ++ if (!dri2_surf->dri_buffers[attachments[i]]) { ++ _eglError(EGL_BAD_ALLOC, "failed to allocate auxiliary buffer"); ++ return NULL; ++ } + } + -+ memcpy(&dri2_surf->buffers[dri2_surf->buffer_count], ++ memcpy(&dri2_surf->buffers[i/2], + dri2_surf->dri_buffers[attachments[i]], + sizeof(__DRIbuffer)); -+ -+ dri2_surf->buffer_count++; + } + + assert(dri2_surf->base.Type == EGL_PIXMAP_BIT || + dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]); + -+ *out_count = dri2_surf->buffer_count; -+ if (dri2_surf->buffer_count == 0) ++ *out_count = i/2; ++ if (i == 0) + return NULL; + + *width = dri2_surf->base.Width; @@ -770,6 +781,8 @@ + gbm_dri->get_buffers_with_format = dri2_get_buffers_with_format; + gbm_dri->image_get_buffers = dri2_image_get_buffers; + ++ if (!dri2_setup_extensions(disp)) ++ goto cleanup_dpy; + dri2_setup_screen(disp); + } + @@ -792,8 +805,10 @@ + + return EGL_FALSE; +} ---- a/src/egl/main/egldisplay.c -+++ b/src/egl/main/egldisplay.c +Index: mesa/src/egl/main/egldisplay.c +=================================================================== +--- mesa.orig/src/egl/main/egldisplay.c 2017-08-10 16:37:31.970030645 +1000 ++++ mesa/src/egl/main/egldisplay.c 2017-08-10 17:18:19.000000000 +1000 @@ -55,7 +55,10 @@ #ifdef HAVE_DRM_PLATFORM #include <gbm.h> @@ -806,7 +821,7 @@ /** * Map --with-platforms names to platform types. -@@ -70,6 +73,7 @@ static const struct { +@@ -70,6 +73,7 @@ { _EGL_PLATFORM_ANDROID, "android" }, { _EGL_PLATFORM_HAIKU, "haiku" }, { _EGL_PLATFORM_SURFACELESS, "surfaceless" }, @@ -814,7 +829,7 @@ }; -@@ -100,6 +104,47 @@ _eglGetNativePlatformFromEnv(void) +@@ -100,6 +104,47 @@ return plat; } @@ -862,7 +877,7 @@ /** * Try detecting native platform with the help of native display characteristcs. -@@ -110,6 +155,11 @@ _eglNativePlatformDetectNativeDisplay(vo +@@ -110,6 +155,11 @@ if (nativeDisplay == EGL_DEFAULT_DISPLAY) return _EGL_INVALID_PLATFORM; @@ -874,7 +889,7 @@ if (_eglPointerIsDereferencable(nativeDisplay)) { void *first_pointer = *(void **) nativeDisplay; -@@ -141,14 +191,13 @@ _eglNativePlatformDetectNativeDisplay(vo +@@ -141,14 +191,13 @@ return _EGL_INVALID_PLATFORM; } @@ -890,9 +905,11 @@ _EGLPlatformType detected_platform = native_platform; if (detected_platform == _EGL_INVALID_PLATFORM) { ---- a/src/egl/main/egldisplay.h -+++ b/src/egl/main/egldisplay.h -@@ -50,6 +50,7 @@ enum _egl_platform_type { +Index: mesa/src/egl/main/egldisplay.h +=================================================================== +--- mesa.orig/src/egl/main/egldisplay.h 2017-08-10 16:37:31.970030645 +1000 ++++ mesa/src/egl/main/egldisplay.h 2017-08-10 17:18:19.000000000 +1000 +@@ -50,6 +50,7 @@ _EGL_PLATFORM_ANDROID, _EGL_PLATFORM_HAIKU, _EGL_PLATFORM_SURFACELESS, @@ -900,9 +917,11 @@ _EGL_NUM_PLATFORMS, _EGL_INVALID_PLATFORM = -1 ---- a/src/gallium/state_trackers/dri/dri2.c -+++ b/src/gallium/state_trackers/dri/dri2.c -@@ -707,13 +707,21 @@ dri2_allocate_textures(struct dri_contex +Index: mesa/src/gallium/state_trackers/dri/dri2.c +=================================================================== +--- mesa.orig/src/gallium/state_trackers/dri/dri2.c 2017-08-10 16:37:31.970030645 +1000 ++++ mesa/src/gallium/state_trackers/dri/dri2.c 2017-08-10 16:37:31.970030645 +1000 +@@ -707,13 +707,21 @@ templ.height0 = dri_drawable->h; templ.format = format; templ.bind = bind; @@ -928,9 +947,11 @@ drawable->textures[statt] = screen->base.screen->resource_from_handle(screen->base.screen, &templ, &whandle, ---- a/src/gbm/backends/dri/gbm_dri.c -+++ b/src/gbm/backends/dri/gbm_dri.c -@@ -214,7 +214,7 @@ static const __DRIimageLookupExtension i +Index: mesa/src/gbm/backends/dri/gbm_dri.c +=================================================================== +--- mesa.orig/src/gbm/backends/dri/gbm_dri.c 2017-08-10 16:37:31.970030645 +1000 ++++ mesa/src/gbm/backends/dri/gbm_dri.c 2017-08-10 16:37:31.970030645 +1000 +@@ -214,7 +214,7 @@ }; static const __DRIdri2LoaderExtension dri2_loader_extension = { @@ -939,9 +960,11 @@ .getBuffers = dri_get_buffers, .flushFrontBuffer = dri_flush_front_buffer, ---- a/src/egl/Makefile.am -+++ b/src/egl/Makefile.am -@@ -104,6 +104,12 @@ libEGL_common_la_LIBADD += $(ANDROID_LIB +Index: mesa/src/egl/Makefile.am +=================================================================== +--- mesa.orig/src/egl/Makefile.am 2017-08-10 16:37:31.970030645 +1000 ++++ mesa/src/egl/Makefile.am 2017-08-10 17:18:19.000000000 +1000 +@@ -104,6 +104,12 @@ dri2_backend_FILES += drivers/dri2/platform_android.c endif diff --git a/debian/patches/egl-platform-rs.patch b/debian/patches/egl-platform-rs.patch index 9d941e9..30ae44b 100644 --- a/debian/patches/egl-platform-rs.patch +++ b/debian/patches/egl-platform-rs.patch @@ -1,6 +1,8 @@ ---- a/configure.ac -+++ b/configure.ac -@@ -98,6 +98,7 @@ XVMC_REQUIRED=1.0.6 +Index: mesa/configure.ac +=================================================================== +--- mesa.orig/configure.ac 2017-08-10 16:08:00.456139559 +1000 ++++ mesa/configure.ac 2017-08-10 16:08:00.452139468 +1000 +@@ -98,6 +98,7 @@ PYTHON_MAKO_REQUIRED=0.8.0 LIBSENSORS_REQUIRED=4.0.0 ZLIB_REQUIRED=1.2.3 @@ -8,7 +10,7 @@ dnl LLVM versions LLVM_REQUIRED_GALLIUM=3.3.0 -@@ -1726,6 +1727,9 @@ for plat in $platforms; do +@@ -1726,6 +1727,9 @@ mir) PKG_CHECK_MODULES([MIR], [mirclient mir-client-platform-mesa]) ;; @@ -18,7 +20,7 @@ *) AC_MSG_ERROR([platform '$plat' does not exist]) ;; -@@ -1757,6 +1761,7 @@ AM_CONDITIONAL(HAVE_PLATFORM_DRM, echo " +@@ -1757,6 +1761,7 @@ AM_CONDITIONAL(HAVE_PLATFORM_SURFACELESS, echo "$platforms" | grep -q 'surfaceless') AM_CONDITIONAL(HAVE_PLATFORM_ANDROID, echo "$platforms" | grep -q 'android') AM_CONDITIONAL(HAVE_PLATFORM_MIR, echo "$platforms" | grep -q 'mir') @@ -26,9 +28,11 @@ dnl dnl More DRI setup ---- a/include/EGL/eglplatform.h -+++ b/include/EGL/eglplatform.h -@@ -112,6 +112,13 @@ typedef MirEGLNativeDisplayType EGLNativ +Index: mesa/include/EGL/eglplatform.h +=================================================================== +--- mesa.orig/include/EGL/eglplatform.h 2017-08-10 16:08:00.456139559 +1000 ++++ mesa/include/EGL/eglplatform.h 2017-08-10 16:08:00.452139468 +1000 +@@ -112,6 +112,13 @@ typedef void *EGLNativePixmapType; typedef MirEGLNativeWindowType EGLNativeWindowType; @@ -42,9 +46,11 @@ #elif defined(__unix__) || defined(__APPLE__) #if defined(MESA_EGL_NO_X11_HEADERS) ---- a/src/egl/Makefile.am -+++ b/src/egl/Makefile.am -@@ -110,6 +110,13 @@ AM_CFLAGS += $(MIR_CFLAGS) +Index: mesa/src/egl/Makefile.am +=================================================================== +--- mesa.orig/src/egl/Makefile.am 2017-08-10 16:08:00.456139559 +1000 ++++ mesa/src/egl/Makefile.am 2017-08-10 16:08:00.452139468 +1000 +@@ -110,6 +110,13 @@ dri2_backend_FILES += drivers/dri2/platform_mir.c endif @@ -58,9 +64,11 @@ AM_CFLAGS += \ -I$(top_srcdir)/src/loader \ -I$(top_builddir)/src/egl/drivers/dri2 \ ---- a/src/egl/drivers/dri2/egl_dri2.c -+++ b/src/egl/drivers/dri2/egl_dri2.c -@@ -868,6 +868,11 @@ dri2_initialize(_EGLDriver *drv, _EGLDis +Index: mesa/src/egl/drivers/dri2/egl_dri2.c +=================================================================== +--- mesa.orig/src/egl/drivers/dri2/egl_dri2.c 2017-08-10 16:08:00.456139559 +1000 ++++ mesa/src/egl/drivers/dri2/egl_dri2.c 2017-08-10 16:08:00.452139468 +1000 +@@ -868,6 +868,11 @@ ret = dri2_initialize_android(drv, disp); break; #endif @@ -72,7 +80,7 @@ default: _eglLog(_EGL_WARNING, "No EGL platform enabled."); return EGL_FALSE; -@@ -941,6 +946,13 @@ dri2_display_destroy(_EGLDisplay *disp) +@@ -941,6 +946,13 @@ } break; #endif @@ -86,7 +94,7 @@ #ifdef HAVE_MIR_PLATFORM case _EGL_PLATFORM_MIR: if (dri2_dpy->own_device) { -@@ -976,7 +988,9 @@ dri2_display_destroy(_EGLDisplay *disp) +@@ -976,7 +988,9 @@ * for the cleanup. */ if (disp->Platform != _EGL_PLATFORM_DRM && @@ -97,9 +105,11 @@ for (unsigned i = 0; dri2_dpy->driver_configs[i]; i++) free((__DRIconfig *) dri2_dpy->driver_configs[i]); free(dri2_dpy->driver_configs); ---- a/src/egl/drivers/dri2/egl_dri2.h -+++ b/src/egl/drivers/dri2/egl_dri2.h -@@ -69,6 +69,10 @@ struct zwp_linux_dmabuf_v1; +Index: mesa/src/egl/drivers/dri2/egl_dri2.h +=================================================================== +--- mesa.orig/src/egl/drivers/dri2/egl_dri2.h 2017-08-10 16:08:00.456139559 +1000 ++++ mesa/src/egl/drivers/dri2/egl_dri2.h 2017-08-10 16:08:00.452139468 +1000 +@@ -69,6 +69,10 @@ #include <mir_toolkit/mesa/native_display.h> #endif @@ -110,7 +120,7 @@ #include "eglconfig.h" #include "eglcontext.h" #include "egldisplay.h" -@@ -241,6 +245,11 @@ struct dri2_egl_display +@@ -241,6 +245,11 @@ #ifdef HAVE_MIR_PLATFORM MirMesaEGLNativeDisplay *mir_disp; #endif @@ -122,7 +132,7 @@ }; struct dri2_egl_context -@@ -302,10 +311,10 @@ struct dri2_egl_surface +@@ -302,10 +311,10 @@ void *data; int data_size; #endif @@ -135,7 +145,7 @@ int fd; int buffer_age; #endif -@@ -333,6 +342,10 @@ struct dri2_egl_surface +@@ -333,6 +342,10 @@ } color_buffers[3], *back; #endif @@ -146,7 +156,7 @@ #if defined(HAVE_SURFACELESS_PLATFORM) __DRIimage *front; unsigned int visual; -@@ -435,6 +448,9 @@ dri2_initialize_surfaceless(_EGLDriver * +@@ -435,6 +448,9 @@ EGLBoolean dri2_initialize_mir(_EGLDriver *drv, _EGLDisplay *disp); @@ -156,9 +166,11 @@ void dri2_flush_drawable_for_swapbuffers(_EGLDisplay *disp, _EGLSurface *draw); ---- /dev/null -+++ b/src/egl/drivers/dri2/platform_rs.c -@@ -0,0 +1,962 @@ +Index: mesa/src/egl/drivers/dri2/platform_rs.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ mesa/src/egl/drivers/dri2/platform_rs.c 2017-08-10 16:37:18.982594770 +1000 +@@ -0,0 +1,964 @@ +/* + * Copyright © 2016 Canonical, Inc + * @@ -259,7 +271,7 @@ +static int +get_format_bpp(MirPixelFormat format) +{ -+ int bpp; ++ int bpp; + + switch (format) { + case mir_pixel_format_argb_8888: @@ -845,10 +857,9 @@ + dri2_egl_display(dri2_surf->base.Resource.Display); + int i; + -+ dri2_surf->buffer_count = 0; + for (i = 0; i < 2*count; i+=2) { + assert(attachments[i] < __DRI_BUFFER_COUNT); -+ assert(dri2_surf->buffer_count < 5); ++ assert((i/2) < ARRAY_SIZE(dri2_surf->buffers)); + + if (dri2_surf->dri_buffers[attachments[i]] == NULL) { + /* Our frame callback must keep these buffers valid */ @@ -860,22 +871,22 @@ + attachments[i], attachments[i+1], + dri2_surf->base.Width, dri2_surf->base.Height); + -+ if (!dri2_surf->dri_buffers[attachments[i]]) -+ continue; ++ if (!dri2_surf->dri_buffers[attachments[i]]) { ++ _eglError(EGL_BAD_ALLOC, "Failed to allocate auxiliary buffer"); ++ return NULL; ++ } + } + -+ memcpy(&dri2_surf->buffers[dri2_surf->buffer_count], ++ memcpy(&dri2_surf->buffers[(i/2)], + dri2_surf->dri_buffers[attachments[i]], + sizeof(__DRIbuffer)); -+ -+ dri2_surf->buffer_count++; + } + + assert(dri2_surf->base.Type == EGL_PIXMAP_BIT || + dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]); + -+ *out_count = dri2_surf->buffer_count; -+ if (dri2_surf->buffer_count == 0) ++ *out_count = i/2; ++ if (i == 0) + return NULL; + + *width = dri2_surf->base.Width; @@ -1098,6 +1109,9 @@ + gbm_dri->get_buffers_with_format = dri2_rs_get_buffers_with_format; + gbm_dri->image_get_buffers = dri2_rs_image_get_buffers; + ++ if (!dri2_setup_extensions(disp)) ++ goto cleanup_dpy; ++ + dri2_setup_screen(disp); + } + @@ -1121,8 +1135,10 @@ + + return EGL_FALSE; +} ---- a/src/egl/main/egldisplay.c -+++ b/src/egl/main/egldisplay.c +Index: mesa/src/egl/main/egldisplay.c +=================================================================== +--- mesa.orig/src/egl/main/egldisplay.c 2017-08-10 16:08:00.456139559 +1000 ++++ mesa/src/egl/main/egldisplay.c 2017-08-10 16:37:05.000000000 +1000 @@ -59,6 +59,9 @@ #include <dlfcn.h> #include <mir_toolkit/mesa/native_display.h> @@ -1133,7 +1149,7 @@ /** * Map --with-platforms names to platform types. -@@ -73,7 +76,8 @@ static const struct { +@@ -73,7 +76,8 @@ { _EGL_PLATFORM_ANDROID, "android" }, { _EGL_PLATFORM_HAIKU, "haiku" }, { _EGL_PLATFORM_SURFACELESS, "surfaceless" }, @@ -1143,7 +1159,7 @@ }; -@@ -115,6 +119,11 @@ _eglNativePlatformDetectNativeDisplay(vo +@@ -155,6 +159,11 @@ if (nativeDisplay == EGL_DEFAULT_DISPLAY) return _EGL_INVALID_PLATFORM; @@ -1155,9 +1171,11 @@ #ifdef HAVE_MIR_PLATFORM if (_mir_display_is_valid(nativeDisplay)) return _EGL_PLATFORM_MIR; ---- a/src/egl/main/egldisplay.h -+++ b/src/egl/main/egldisplay.h -@@ -51,6 +51,7 @@ enum _egl_platform_type { +Index: mesa/src/egl/main/egldisplay.h +=================================================================== +--- mesa.orig/src/egl/main/egldisplay.h 2017-08-10 16:08:00.456139559 +1000 ++++ mesa/src/egl/main/egldisplay.h 2017-08-10 16:37:05.000000000 +1000 +@@ -51,6 +51,7 @@ _EGL_PLATFORM_HAIKU, _EGL_PLATFORM_SURFACELESS, _EGL_PLATFORM_MIR,