dri2: Event driven buffer validation.
authorFrancisco Jerez <currojerez@riseup.net>
Mon, 8 Feb 2010 18:27:56 +0000 (19:27 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 16 Feb 2010 15:38:50 +0000 (10:38 -0500)
commit61d26bc82e7c4100acfb551cbb0ba9d84bbc4ba5
treecf096e387a6683a976e152586c355339de3c133e
parent925b901ba313a3ddd7567eca088951be39414430
dri2: Event driven buffer validation.

When a buffer invalidation event is received from the X server, the
"invalidate" hook of the DRI2 flush extension is executed: A generic
implementation (dri2InvalidateDrawable) is provided that just bumps
the "pStamp" sequence number in __DRIdrawableRec.

For old servers not supporting buffer invalidation events, the
invalidate hook will be called before flushing the fake front/back
buffer (that's typically once per frame -- not a lot worse than the
situation we were in before).

No effort has been made on preserving backwards compatibility with
version 2 of the flush extension, but I think it's acceptable because
AFAIK no released stack is making use of it.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
include/GL/internal/dri_interface.h
src/glx/dri2.c
src/glx/dri2_glx.c
src/glx/glxclient.h
src/mesa/drivers/dri/common/dri_util.c
src/mesa/drivers/dri/common/dri_util.h
src/mesa/drivers/dri/intel/intel_context.c
src/mesa/drivers/dri/intel/intel_screen.c
src/mesa/drivers/dri/intel/intel_tex_image.c