[Mesa-dev] [RFC] egl: Add DRI3 support to the EGL backend.

Emil Velikov emil.l.velikov at gmail.com
Tue Oct 28 05:14:50 PDT 2014


On 28/10/14 09:19, Joonas Lahtinen wrote:
> Hi,
> 
> On pe, 2014-10-24 at 17:37 +0000, Emil Velikov wrote:
>> Hi Joonas,
>>
>> On 22/10/14 18:17, Joonas Lahtinen wrote:
>>> Hi,
>>>
>>> This patch introduced DRI3 support to the EGL backend.
>>>
>>> Patch is on top of current master. With the patch you can observe
>>> reduced CPU stress when many glViewport calls are made.
>>>
>>> Notice that the DRI3 extension is only exposed if the DRI3 interface is
>>> found working too instead of just existing. So you need to enable DRI3
>>> from all three; Mesa, X driver and X server, to get the benefit.
>>>
>> It seems that you introduce yet another dri extension
>> (DRIdri3Extension) which afaict should not be needed ?
>>
>> Am I missing something here or did you get carried away by looking at
>> __DRIcoreExtension, __DRIdri2Extension and __DRIswrastExtension :P
>>
> 
> The DRI3 (just like the USE_INVALIDATE extension) extension is needed
> for the drivers to know that they do not need to invalidate buffers on
> each glViewport call.
> 
> One could use USE_INVALIDATE extension for same functionality, but I see
> it would not be very good idea as the naming vs. context would be
> confusing.
> 
> DRI3 is exposed dynamically depending on if DRI3 is usable or not. The
> USE_INVALIDATE is exposed as long as GLX is used. So that also makes
> them bit different (in logic too, not just naming).
> 
I'm not sure that one can relate the new DRI3 extension with USE_INVALIDATE.
The former is already implied by a selection of other extensions (and
specific versions of them) - take a look at dri3_create_screen.

This patch seems to be based on an old revision of dri3_glx, judging
from dri3_update_num_back. Perhaps we can get some of that common code
into a single place and avoid such issues ?

Thanks
Emil



More information about the mesa-dev mailing list