diff options
author | Gwenole Beauchesne <gwenole.beauchesne@intel.com> | 2014-05-09 14:53:30 +0200 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2014-06-16 11:53:35 +0800 |
commit | aeef40157a7d3349ea8afc5dca0c198055027601 (patch) | |
tree | 537f0c79f69a50c814fdea22758adc7d3ea34266 | |
parent | c173e3560dbbd9346cf34c6da9a6406c6c8089be (diff) | |
download | libva-intel-driver-aeef40157a7d3349ea8afc5dca0c198055027601.tar.gz libva-intel-driver-aeef40157a7d3349ea8afc5dca0c198055027601.tar.bz2 libva-intel-driver-aeef40157a7d3349ea8afc5dca0c198055027601.zip |
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.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/src/i965_output_dri.c b/src/i965_output_dri.c index 2a812d3..3b24534 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; |