[Mesa-dev] [PATCH 20/30] egl/dri2: rework dri2_egl_display::extensions storage

Emil Velikov emil.l.velikov at gmail.com
Tue Aug 30 14:59:55 UTC 2016


On 25 August 2016 at 17:18, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> From: Emil Velikov <emil.velikov at collabora.com>
>
> Remove the error prone fixed size array.
> While we're here also rename to loader_extensions like in the GLX code.
>
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
> There's a single easter egg hidden within (functionality change)
> which... I should keep separate, perhaps :-\
>
> XXX:
> - Any ideas why x11 + dri2/swrast loader does not expose use_invalidate?
>
> - At the same time why does the dri3 one do so - the i965 claims that
> ...
> So EGL still relies on viewport hacks to handle window resizing.
> This should go away with DRI3000.
Anyone ?

Afaict from commit 1e7776ca2bc59a6978d9b933d23852d47078dfa8 and the
(almost) revert eed0a80137dfac641adfd39ce316938dbcf2be10 one needs to
always use the driver to flush->invalidate() since the server's
capability (or lack of) sending invalidate events should not be taken
into account when calling the driver to invalidate things.

[According to the i965 driver] that is due to the use of XCB (rather
than Xlib) in our EGL loader. Since XCB "doesn't provide a mechanism
for snooping the event queues", we need to apply the viewport hack.
Which brings the question: should we extend the XCB API to attribute
for that ? Sure DRI3 is already here, but DRI2 isn't going anywhere
for a while, correct ?

Wrt the DRI3000 comment - since DRI3/Present is already in place and
the DRI2 invalidate event isn't (ab)used we can remove/tweak the
comment "This should go away with DRI3000/This isn't used with
DRI3/Present".

Thanks
Emil


More information about the mesa-dev mailing list