From: Yogesh Marathe <yogesh.mara...@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.mara...@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

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to