egl/dri2: dri2_initialize: Do not reference-count TestOnly display
In the case where dri2_initialize is called with a TestOnly display,
the display is not actually initialized, so dri2_egl_display always
fails, and we cannot do any reference counting.
Fixes piglit spec@egl_khr_create_context@verify gl flavor (reproducible
with LIBGL_ALWAYS_SOFTWARE=1).
Fixes: 9ee683f877
(egl/dri2: Add reference count for dri2_egl_display)
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Reported-by: Michel Dänzer <michel@daenzer.net>
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
This commit is contained in:
parent
6687037f1f
commit
4f3f8bb59d
|
@ -788,44 +788,33 @@ dri2_initialize(_EGLDriver *drv, _EGLDisplay *disp)
|
|||
if (disp->Options.UseFallback)
|
||||
return EGL_FALSE;
|
||||
|
||||
/* Nothing to initialize for a test only display */
|
||||
if (disp->Options.TestOnly)
|
||||
return EGL_TRUE;
|
||||
|
||||
switch (disp->Platform) {
|
||||
#ifdef HAVE_SURFACELESS_PLATFORM
|
||||
case _EGL_PLATFORM_SURFACELESS:
|
||||
if (disp->Options.TestOnly)
|
||||
ret = EGL_TRUE;
|
||||
else
|
||||
ret = dri2_initialize_surfaceless(drv, disp);
|
||||
break;
|
||||
#endif
|
||||
#ifdef HAVE_X11_PLATFORM
|
||||
case _EGL_PLATFORM_X11:
|
||||
if (disp->Options.TestOnly)
|
||||
ret = EGL_TRUE;
|
||||
else
|
||||
ret = dri2_initialize_x11(drv, disp);
|
||||
break;
|
||||
#endif
|
||||
#ifdef HAVE_DRM_PLATFORM
|
||||
case _EGL_PLATFORM_DRM:
|
||||
if (disp->Options.TestOnly)
|
||||
ret = EGL_TRUE;
|
||||
else
|
||||
ret = dri2_initialize_drm(drv, disp);
|
||||
break;
|
||||
#endif
|
||||
#ifdef HAVE_WAYLAND_PLATFORM
|
||||
case _EGL_PLATFORM_WAYLAND:
|
||||
if (disp->Options.TestOnly)
|
||||
ret = EGL_TRUE;
|
||||
else
|
||||
ret = dri2_initialize_wayland(drv, disp);
|
||||
break;
|
||||
#endif
|
||||
#ifdef HAVE_ANDROID_PLATFORM
|
||||
case _EGL_PLATFORM_ANDROID:
|
||||
if (disp->Options.TestOnly)
|
||||
ret = EGL_TRUE;
|
||||
else
|
||||
ret = dri2_initialize_android(drv, disp);
|
||||
break;
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue