summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2014-05-09 14:53:30 +0200
committerXiang, Haihao <haihao.xiang@intel.com>2014-06-16 11:53:35 +0800
commitaeef40157a7d3349ea8afc5dca0c198055027601 (patch)
tree537f0c79f69a50c814fdea22758adc7d3ea34266
parentc173e3560dbbd9346cf34c6da9a6406c6c8089be (diff)
downloadlibva-intel-driver-aeef40157a7d3349ea8afc5dca0c198055027601.tar.gz
render: don't deallocate surface storage of displayed frames.
Keep the VA surface storage live until it is explicitly scheduled for destruction through vaDestroySurfaces() interface. Otherwise, subsequent vaPutSurface() calls would have no effect. This fixes various use cases like: display of interlaced frames that are not marked for reference, multiple rendering to Pixmap for EXT_texture_from_pixmap and more precisely interlaced streams. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com> (cherry picked from commit a840e6403071d397a33e127e8058881a3ef50077)
-rw-r--r--src/i965_output_dri.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/src/i965_output_dri.c b/src/i965_output_dri.c
index 2a812d3a..3b245344 100644
--- a/src/i965_output_dri.c
+++ b/src/i965_output_dri.c
@@ -207,11 +207,6 @@ i965_put_surface_dri(
dri_vtable->swap_buffer(ctx, dri_drawable);
obj_surface->flags |= SURFACE_DISPLAYED;
- if ((obj_surface->flags & SURFACE_ALL_MASK) == SURFACE_DISPLAYED) {
- obj_surface->flags &= ~SURFACE_REF_DIS_MASK;
- i965_destroy_surface_storage(obj_surface);
- }
-
_i965UnlockMutex(&i965->render_mutex);
return VA_STATUS_SUCCESS;