diff options
Diffstat (limited to 'src/psb_surface_attrib.c')
-rw-r--r-- | src/psb_surface_attrib.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/psb_surface_attrib.c b/src/psb_surface_attrib.c index 492891f..f30819b 100644 --- a/src/psb_surface_attrib.c +++ b/src/psb_surface_attrib.c @@ -55,6 +55,7 @@ VAStatus psb_surface_create_from_ub( VASurfaceAttributeTPI *graphic_buffers, psb_surface_p psb_surface, /* out */ void *vaddr, + int fd, unsigned flags ) { @@ -118,12 +119,12 @@ VAStatus psb_surface_create_from_ub( if (graphic_buffers->tiling) ret = psb_buffer_create_from_ub(driver_data, psb_surface->size, psb_bt_mmu_tiling, &psb_surface->buf, - vaddr, 0); + vaddr, fd, 0); else #endif ret = psb_buffer_create_from_ub(driver_data, psb_surface->size, psb_bt_surface, &psb_surface->buf, - vaddr, flags); + vaddr, fd, flags); return ret ? VA_STATUS_ERROR_ALLOCATION_FAILED : VA_STATUS_SUCCESS; } @@ -601,10 +602,10 @@ VAStatus psb_CreateSurfaceFromUserspace( if (attribute_tpi->type == VAExternalMemoryNoneCacheUserPointer) vaStatus = psb_surface_create_from_ub(driver_data, width, height, fourcc, - attribute_tpi, psb_surface, vaddr, PSB_USER_BUFFER_UNCACHED); + attribute_tpi, psb_surface, vaddr, -1, PSB_USER_BUFFER_UNCACHED); else vaStatus = psb_surface_create_from_ub(driver_data, width, height, fourcc, - attribute_tpi, psb_surface, vaddr, 0); + attribute_tpi, psb_surface, vaddr, -1, 0); obj_surface->psb_surface = psb_surface; if (VA_STATUS_SUCCESS != vaStatus) { @@ -721,7 +722,7 @@ VAStatus psb_CreateSurfaceFromION( } vaStatus = psb_surface_create_from_ub(driver_data, width, height, fourcc, - attribute_tpi, psb_surface, vaddr, 0); + attribute_tpi, psb_surface, vaddr, ion_source_share.fd, 0); obj_surface->psb_surface = psb_surface; if (VA_STATUS_SUCCESS != vaStatus) { |