aboutsummaryrefslogtreecommitdiff
path: root/src/psb_surface_attrib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/psb_surface_attrib.c')
-rw-r--r--src/psb_surface_attrib.c11
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) {