intel: Wait on the last swapbuffers to complete before queuing a new one.
authorBrian Paul <brianp@vmware.com>
Tue, 4 Aug 2009 15:22:15 +0000 (09:22 -0600)
committerBrian Paul <brianp@vmware.com>
Tue, 4 Aug 2009 15:22:15 +0000 (09:22 -0600)
commitf5f8be8bb2dae91e0eb748b6f062eeb345605063
tree58c0b03d564d2c85a6b0cfbd5503dfea99237bcb
parent2bec909c69c127b4a29eedfcafed9f5f2e23c51e
intel: Wait on the last swapbuffers to complete before queuing a new one.

This fixes jerkiness in doom3 and other apps since the kernel change to
throttle less absurdly, which led to a thundering herd of frames.

Because this is a rather minimal fix, there is at least one downside: If
the whole scene completes in one batchbuffer, we'll end up stalling the GPU.

Thanks to Michel Dänzer for suggesting using glFlush to signal frame end
instead of going to all the effort of adding a new DRI2 extension.

(cherry picked from master, commit 0828579a658af01a64b5e699175dc9bbbedcd685)
src/mesa/drivers/dri/intel/intel_batchbuffer.c
src/mesa/drivers/dri/intel/intel_context.c
src/mesa/drivers/dri/intel/intel_context.h