[Libva] [PATCH intel-driver 1/2] render: don't deallocate surface storage of displayed frames.
Gwenole Beauchesne
gb.devel at gmail.com
Fri May 9 07:43:50 PDT 2014
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 at intel.com>
---
src/i965_output_dri.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/src/i965_output_dri.c b/src/i965_output_dri.c
index 717ee9a..8102e83 100644
--- a/src/i965_output_dri.c
+++ b/src/i965_output_dri.c
@@ -208,15 +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) {
- dri_bo_unreference(obj_surface->bo);
- obj_surface->bo = NULL;
- obj_surface->flags &= ~SURFACE_REF_DIS_MASK;
-
- if (obj_surface->free_private_data)
- obj_surface->free_private_data(&obj_surface->private_data);
- }
-
_i965UnlockMutex(&i965->render_mutex);
return VA_STATUS_SUCCESS;
--
1.9.1
More information about the Libva
mailing list