diff mbox

[1/2] intel_dri: Fixed a buffer leak when enable glamor.

Message ID 1342090071-18809-1-git-send-email-zhigang.gong@linux.intel.com (mailing list archive)
State Accepted
Headers show

Commit Message

zhigang.gong@linux.intel.com July 12, 2012, 10:47 a.m. UTC
From: Zhigang Gong <zhigang.gong@linux.intel.com>

We need to put current front_buffer to back buffer thus we
don't need to create a new back buffer next time. This behaviou
should be the same with or without glamor. Previous code
incorrectly discard the previous front_buffer and cause a
big buffer leak problem.

Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
---
 src/intel_dri.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/src/intel_dri.c b/src/intel_dri.c
index ed5078e..0405937 100644
--- a/src/intel_dri.c
+++ b/src/intel_dri.c
@@ -1023,9 +1023,10 @@  I830DRI2ScheduleFlip(struct intel_screen_private *intel,
 	priv = info->front->driverPrivate;
 
 	/* Exchange the current front-buffer with the fresh bo */
+
+	intel->back_buffer = intel->front_buffer;
+	drm_intel_bo_reference(intel->back_buffer);
 	if (!(intel->uxa_flags & UXA_USE_GLAMOR)) {
-		intel->back_buffer = intel->front_buffer;
-		drm_intel_bo_reference(intel->back_buffer);
 		intel_set_pixmap_bo(priv->pixmap, new_back);
 		drm_intel_bo_unreference(new_back);
 	}