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

Marathe, Yogesh yogesh.marathe at intel.com
Fri Sep 15 15:48:03 UTC 2017


Hi Eric,

>-----Original Message-----
>From: Eric Engestrom [mailto:eric.engestrom at imgtec.com]
>Sent: Friday, September 15, 2017 7:13 PM
>To: Marathe, Yogesh <yogesh.marathe at intel.com>
>Cc: mesa-dev at lists.freedesktop.org
>Subject: Re: [Mesa-dev] [PATCH 2/3] egl: Wrap dri3 surface primitive around dri2
>egl surface
>
>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.

Ok. Yes I tested the result combined. My assumption was these three will always be
applied or reverted together. 2/3 and 3/3 can't be separated anyways, but I split
them based on irc discussion.

I'll run the command you've mentioned so 1/3 will be compliable individually and 
2/3, 3/3 together. I hope that’s fine.

>
>>
>> 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