summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel/intel_context.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2008-05-19 15:42:00 -0700
committerEric Anholt <eric@anholt.net>2008-05-22 10:46:58 -0700
commit6cefae5354fb3015c5a14677071871613faa9c3a (patch)
tree4db82f1acda5edb2c055d9f80fe2f1759349c418 /src/mesa/drivers/dri/intel/intel_context.c
parent76286bc76c5ea2217378809a9dcab6794aae7b5e (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.c7
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 */