summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2014-05-09 14:53:30 +0200
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>2014-06-06 14:32:41 +0200
commita840e6403071d397a33e127e8058881a3ef50077 (patch)
tree93d5118a5b3dbeb57e23e9491555b27ffa96c659
parent1f244834dedb7b46863b315a898d8649d01c5f58 (diff)
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>
-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 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;