The current buffer validation approach (AKA the DRI2 glViewport hack)
is both incorrect (because a compliant OpenGL application may opt for
the identity as viewport transform and work with window coordinates
directly) and inefficient (some programs have the habit of calling
glViewport several times per frame (e.g. OpenArena), causing many
unnecessary roundtrips).

This changeset gives DRI2 the ability to report drawable changes in an
asynchronous way, but it's a bit intrusive so I expect all sorts of
complaints to come.

I've tested this with the gallium and classic nouveau drivers, using
direct and indirect rendering, with single and double buffered apps,
with older X servers, and it seems to work... I'm open to any
comments.

[dri2proto patch 1/3] Define an event to notify clients about the validity of 
their buffers.
[dri2proto patch 2/3] More useful names for the DRI2_*_COMPLETE tokens.
[dri2proto patch 3/3] Bump the package version.
[xserver patch 1/6] Add a PreConfigureWindow hook.
[xserver patch 2/6] dri2: No need to blit from front on DRI2GetBuffers if 
they're just being reused.
[xserver patch 3/6] dri2: Add a type parameter to SwapBuffers.
[xserver patch 4/6] glx: Enforce a 1:1 correspondence between GLX and X11 
windows.
[xserver patch 5/6] glx/dri2: Notify the driver when its buffers become invalid.
[xserver patch 6/6] dri2: Support the DRI2InvalidateBuffers event.
[mesa patch 1/3] dri2: Event driven buffer validation.
[mesa patch 2/3] dri/nouveau: Use event driven buffer validation.
[mesa patch 3/3] st/dri2: Use event-driven buffer validation.

------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to