From 18e7633b384cc51467bf7eaa725bf318c4d6c271 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 3 Sep 2019 15:57:47 -0400 Subject: [PATCH] egl/dri2: Stop disabling pbuffer support on msaa configs MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit We started doing this in: commit 4d6d55deef291b489af4d7870c6f5eb223c8da5d Author: Tapani Pälli Date: Mon Sep 26 10:03:32 2016 +0300 egl: stop claiming support for pbuffer + msaa This fixes a crash in egl-create-msaa-pbuffer-surface Piglit test and same crash in many dEQP EGL tests. Whatever bug that was papering over appears to be fixed by now, I can no longer reproduce that crash with piglit. Furthermore, disabling that bit in the generic dri2 code had the side effect that the surfaceless platform would advertise EGLConfigs with _no_ supported surface types (since surfaceless only supports pbuffers). Reviewed-by: Emma Anholt Part-of: --- src/broadcom/ci/deqp-vc4-rpi3-fails.txt | 12 ++++++++++++ src/egl/drivers/dri2/egl_dri2.c | 9 --------- src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_gl.txt | 1 - 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/broadcom/ci/deqp-vc4-rpi3-fails.txt b/src/broadcom/ci/deqp-vc4-rpi3-fails.txt index 9ee0afd..d072256 100644 --- a/src/broadcom/ci/deqp-vc4-rpi3-fails.txt +++ b/src/broadcom/ci/deqp-vc4-rpi3-fails.txt @@ -371,18 +371,30 @@ KHR-GLES2.texture_3d.filtering.sizes.63x63x63_nearest_mipmap_linear,Fail KHR-GLES2.texture_3d.filtering.sizes.63x63x63_nearest_mipmap_nearest,Fail KHR-GLES2.texture_3d.framebuffer_texture.rgba,Fail KHR-GLES2.texture_3d.sub_image.rgba8,Fail +dEQP-EGL.functional.color_clears.multi_context.gles2.rgb888_pbuffer,Crash dEQP-EGL.functional.color_clears.multi_context.gles2.rgb888_window,Crash +dEQP-EGL.functional.color_clears.multi_context.gles2.rgba8888_pbuffer,Crash dEQP-EGL.functional.color_clears.multi_context.gles2.rgba8888_window,Crash +dEQP-EGL.functional.color_clears.multi_thread.gles2.rgb888_pbuffer,Crash dEQP-EGL.functional.color_clears.multi_thread.gles2.rgb888_window,Crash +dEQP-EGL.functional.color_clears.multi_thread.gles2.rgba8888_pbuffer,Crash dEQP-EGL.functional.color_clears.multi_thread.gles2.rgba8888_window,Crash +dEQP-EGL.functional.color_clears.single_context.gles2.rgb888_pbuffer,Crash dEQP-EGL.functional.color_clears.single_context.gles2.rgb888_window,Crash +dEQP-EGL.functional.color_clears.single_context.gles2.rgba8888_pbuffer,Crash dEQP-EGL.functional.color_clears.single_context.gles2.rgba8888_window,Crash dEQP-EGL.functional.create_context.no_config,Fail +dEQP-EGL.functional.render.multi_context.gles2.rgb888_pbuffer,Crash dEQP-EGL.functional.render.multi_context.gles2.rgb888_window,Crash +dEQP-EGL.functional.render.multi_context.gles2.rgba8888_pbuffer,Crash dEQP-EGL.functional.render.multi_context.gles2.rgba8888_window,Crash +dEQP-EGL.functional.render.multi_thread.gles2.rgb888_pbuffer,Crash dEQP-EGL.functional.render.multi_thread.gles2.rgb888_window,Crash +dEQP-EGL.functional.render.multi_thread.gles2.rgba8888_pbuffer,Crash dEQP-EGL.functional.render.multi_thread.gles2.rgba8888_window,Crash +dEQP-EGL.functional.render.single_context.gles2.rgb888_pbuffer,Crash dEQP-EGL.functional.render.single_context.gles2.rgb888_window,Crash +dEQP-EGL.functional.render.single_context.gles2.rgba8888_pbuffer,Crash dEQP-EGL.functional.render.single_context.gles2.rgba8888_window,Crash dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center,Fail dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner,Fail diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 9e5a55a..99b0557 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -564,15 +564,6 @@ dri2_add_config(_EGLDisplay *disp, const __DRIconfig *dri_config, int id, surface_type &= ~EGL_PIXMAP_BIT; } - /* No support for pbuffer + MSAA for now. - * - * XXX TODO: pbuffer + MSAA does not work and causes crashes. - * See QT bugreport: https://bugreports.qt.io/browse/QTBUG-47509 - */ - if (base.Samples) { - surface_type &= ~EGL_PBUFFER_BIT; - } - if (!surface_type) return NULL; diff --git a/src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_gl.txt b/src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_gl.txt index 4611beb..25989ea 100644 --- a/src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_gl.txt +++ b/src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_gl.txt @@ -773,7 +773,6 @@ spec/egl 1.4/egl-context-priority: skip spec/egl 1.4/egl-copy-buffers: fail spec/egl 1.4/egl-flush-external: skip spec/egl 1.4/egl-invalid-attr: skip -spec/egl 1.4/eglcreatepbuffersurface with egl_samples set: skip spec/egl_android_native_fence_sync/egl_khr_fence_sync android_native/eglclientwaitsynckhr_native_zero_timeout: skip spec/egl_android_native_fence_sync/egl_khr_fence_sync android_native/eglclientwaitsynckhr_nonzero_timeout: skip spec/egl_android_native_fence_sync/egl_khr_fence_sync android_native/eglcreatesynckhr_default_attributes: skip -- 2.7.4