st/egl: Reduce validation round-trips in ximage backend.
authorChia-I Wu <olv@lunarg.com>
Thu, 25 Feb 2010 13:16:56 +0000 (21:16 +0800)
committerChia-I Wu <olv@lunarg.com>
Thu, 25 Feb 2010 13:29:37 +0000 (21:29 +0800)
commit33b92471a7b97c4f3ebf722e8551f37e167a445c
tree7c1a19b1c8554c5cfbdb4203f0ec45f2df8a8e20
parent29ec53d8439eab85f39de02bd18539c26410d2bf
st/egl: Reduce validation round-trips in ximage backend.

ximage_surface_validate is called several times per frame.  This commit
adds the client and server stamps to reduce the round-trips to the
server.  The idea is to bump the server stamp when flush_frontbuffer or
swap_buffers is called, and to skip the round-trip when the client stamp
is equal to the server stamp.  This makes sure the client APIs get the
new buffers when a new frame is started while skipping all round-trips
during the drawing.  To make this work, egl_g3d_validate_context is no
longer called after swap_buffers.
src/gallium/state_trackers/egl/common/egl_g3d.c
src/gallium/state_trackers/egl/x11/native_ximage.c