[Mesa-dev] [PATCH 2/3] egl: Wrap dri3 surface primitive around dri2 egl surface
Eric Engestrom
eric.engestrom at imgtec.com
Fri Sep 15 13:43:12 UTC 2017
On Friday, 2017-09-15 12:06:57 +0530, yogesh.marathe at intel.com wrote:
> 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.
I assume you only tested the result of the 3 patches combined, because
I'm pretty sure mesa can't compile after patches 1/3 and 2/3: 1/3 makes
use of the s/base/surf.base/ change before this patch does that change,
and with this patch (2/3) the changes in 3/3 are needed as well.
Please run
$ git rebase --interactive --exec make origin/master
on your branch to make sure each commit compiles.
>
> 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