OSDN Git Service

Fix va_TraceEndPicture() to unlock the VA surface.
authorGwenole Beauchesne <gbeauchesne@splitted-desktop.com>
Fri, 23 Jul 2010 11:28:29 +0000 (13:28 +0200)
committerAustin Yuan <shengquan.yuan@gmail.com>
Mon, 26 Jul 2010 02:08:47 +0000 (10:08 +0800)
va/va_trace.c

index 4589a48..17dc2f8 100644 (file)
@@ -1086,8 +1086,10 @@ void va_TraceEndPicture(
     va_TraceMsg("\tchroma_u_offset=%d\n", chroma_u_offset);
     va_TraceMsg("\tchroma_v_offset=%d\n", chroma_v_offset);
 
-    if (!buffer)
+    if (!buffer) {
+        vaUnlockSurface(dpy, trace_rendertarget);
         return;
+    }
 
     Y_data = buffer;
     UV_data = buffer + luma_offset;
@@ -1120,4 +1122,6 @@ void va_TraceEndPicture(
             tmp = UV_data + i * chroma_u_stride;
         }
     }
+
+    vaUnlockSurface(dpy, trace_rendertarget);
 }