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