Mesa (main): egl/dri2: Stop disabling pbuffer support on msaa configs

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jul 23 19:41:31 UTC 2021


Module: Mesa
Branch: main
Commit: 18e7633b384cc51467bf7eaa725bf318c4d6c271
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=18e7633b384cc51467bf7eaa725bf318c4d6c271

Author: Adam Jackson <ajax at redhat.com>
Date:   Tue Sep  3 15:57:47 2019 -0400

egl/dri2: Stop disabling pbuffer support on msaa configs

We started doing this in:

    commit 4d6d55deef291b489af4d7870c6f5eb223c8da5d
    Author: Tapani Pälli <tapani.palli at intel.com>
    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 <emma at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1859>

---

 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 9ee0afd8e68..d0722563e60 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 9e5a55a287c..99b05579c71 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 4611beba090..25989ea87e4 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



More information about the mesa-commit mailing list