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 01:20:11 +0200
commita6d5f93380576c1188e22e267ee778f0398711ee (patch)
tree87d1be0dbbf1fa8c0103ff9a6a000b9f8ef1cf30
parent30730f459fda532721029b37621a75223ca20709 (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 fdd69ce..8102e83 100644
--- a/src/i965_output_dri.c
+++ b/src/i965_output_dri.c
@@ -208,11 +208,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;