diff options
author | Eric Anholt <eric@anholt.net> | 2008-05-19 15:42:00 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2008-05-22 10:46:58 -0700 |
commit | 6cefae5354fb3015c5a14677071871613faa9c3a (patch) | |
tree | 4db82f1acda5edb2c055d9f80fe2f1759349c418 /src/mesa/drivers/dri/intel/intel_context.c | |
parent | 76286bc76c5ea2217378809a9dcab6794aae7b5e (diff) |
Add back a mostly-correct glFinish for GEM and fake.
The right solution would probably be keeping a list of regions which have been
rendered to.
Diffstat (limited to 'src/mesa/drivers/dri/intel/intel_context.c')
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_context.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index ae9e53ce6e..6f187f719b 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -375,7 +375,12 @@ intelFinish(GLcontext * ctx) intelFlush(ctx); for (i = 0; i < fb->_NumColorDrawBuffers; i++) { - /* XXX: Wait on buffer idle */ + struct intel_renderbuffer *irb; + + irb = intel_renderbuffer(fb->_ColorDrawBuffers[i]); + + if (irb->region) + dri_bo_wait_rendering(irb->region->buffer); } if (fb->_DepthBuffer) { /* XXX: Wait on buffer idle */ |