[Mesa-dev] [PATCH 2/3] egl: Wrap dri3 surface primitive around dri2 egl surface

yogesh.marathe at intel.com yogesh.marathe at intel.com
Fri Sep 15 06:36:57 UTC 2017


From: Yogesh Marathe <yogesh.marathe at intel.com>

Originally dri3 egl surface was wrapped around _EGLSurface. To support
explicit sync, new variables (e.g. enable_out_fence) were added to
dri2_egl_surface. As we reference these new variables we write on to
dri3 loader bits. These get toggled later in execution due to dri3
loader. This results in enable_out_fence to have garbage value and
further triggers an assert on dri3 platforms even where fences are not
supported in kernel.

Thanks to Rafael Antognolli, Emil Velikov and Mark Janes for catching
and root causing this.

Tested with Intel Mesa CI.

Signed-off-by: Yogesh Marathe <yogesh.marathe at intel.com>
---
 src/egl/drivers/dri2/platform_x11_dri3.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/egl/drivers/dri2/platform_x11_dri3.h b/src/egl/drivers/dri2/platform_x11_dri3.h
index 13d8572..96e7ee9 100644
--- a/src/egl/drivers/dri2/platform_x11_dri3.h
+++ b/src/egl/drivers/dri2/platform_x11_dri3.h
@@ -28,7 +28,7 @@
 _EGL_DRIVER_TYPECAST(dri3_egl_surface, _EGLSurface, obj)
 
 struct dri3_egl_surface {
-   _EGLSurface base;
+   struct dri2_egl_surface surf;
    struct loader_dri3_drawable loader_drawable;
 };
 
-- 
2.7.4



More information about the mesa-dev mailing list