summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLeo Liu <[email protected]>2017-09-15 22:23:03 -0400
committerLeo Liu <[email protected]>2017-09-25 09:42:14 -0400
commit1d1299f8a41edbf6373222eda5708af5a5390d3c (patch)
tree82a458ae78c29a5eaa6cacc8ec1325ba3926e2ce /src
parent96f89f440b9ad5cc2765dfa12265ca756aee83ea (diff)
st/va: make internal func vlVaHandleSurfaceAllocate() call simpler
Acked-by: Christian König <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/state_trackers/va/picture.c2
-rw-r--r--src/gallium/state_trackers/va/surface.c7
-rw-r--r--src/gallium/state_trackers/va/va_private.h2
3 files changed, 4 insertions, 7 deletions
diff --git a/src/gallium/state_trackers/va/picture.c b/src/gallium/state_trackers/va/picture.c
index 81bd196ce00..5e794652a69 100644
--- a/src/gallium/state_trackers/va/picture.c
+++ b/src/gallium/state_trackers/va/picture.c
@@ -662,7 +662,7 @@ vlVaEndPicture(VADriverContextP ctx, VAContextID context_id)
if (realloc) {
struct pipe_video_buffer *old_buf = surf->buffer;
- if (vlVaHandleSurfaceAllocate(ctx, surf, &surf->templat) != VA_STATUS_SUCCESS) {
+ if (vlVaHandleSurfaceAllocate(drv, surf, &surf->templat) != VA_STATUS_SUCCESS) {
mtx_unlock(&drv->mutex);
return VA_STATUS_ERROR_ALLOCATION_FAILED;
}
diff --git a/src/gallium/state_trackers/va/surface.c b/src/gallium/state_trackers/va/surface.c
index 67773cf76a4..643cdcd54ab 100644
--- a/src/gallium/state_trackers/va/surface.c
+++ b/src/gallium/state_trackers/va/surface.c
@@ -557,15 +557,12 @@ suface_from_external_memory(VADriverContextP ctx, vlVaSurface *surface,
}
VAStatus
-vlVaHandleSurfaceAllocate(VADriverContextP ctx, vlVaSurface *surface,
+vlVaHandleSurfaceAllocate(vlVaDriver *drv, vlVaSurface *surface,
struct pipe_video_buffer *templat)
{
- vlVaDriver *drv;
struct pipe_surface **surfaces;
unsigned i;
- drv = VL_VA_DRIVER(ctx);
-
surface->buffer = drv->pipe->create_video_buffer(drv->pipe, templat);
if (!surface->buffer)
return VA_STATUS_ERROR_ALLOCATION_FAILED;
@@ -730,7 +727,7 @@ vlVaCreateSurfaces2(VADriverContextP ctx, unsigned int format,
!(memory_attibute->flags & VA_SURFACE_EXTBUF_DESC_ENABLE_TILING))
templat.bind = PIPE_BIND_LINEAR | PIPE_BIND_SHARED;
- vaStatus = vlVaHandleSurfaceAllocate(ctx, surf, &templat);
+ vaStatus = vlVaHandleSurfaceAllocate(drv, surf, &templat);
if (vaStatus != VA_STATUS_SUCCESS)
goto free_surf;
break;
diff --git a/src/gallium/state_trackers/va/va_private.h b/src/gallium/state_trackers/va/va_private.h
index 5b1b832bb00..61712ce913e 100644
--- a/src/gallium/state_trackers/va/va_private.h
+++ b/src/gallium/state_trackers/va/va_private.h
@@ -404,7 +404,7 @@ VAStatus vlVaQueryVideoProcPipelineCaps(VADriverContextP ctx, VAContextID contex
// internal functions
VAStatus vlVaHandleVAProcPipelineParameterBufferType(vlVaDriver *drv, vlVaContext *context, vlVaBuffer *buf);
-VAStatus vlVaHandleSurfaceAllocate(VADriverContextP ctx, vlVaSurface *surface, struct pipe_video_buffer *templat);
+VAStatus vlVaHandleSurfaceAllocate(vlVaDriver *drv, vlVaSurface *surface, struct pipe_video_buffer *templat);
void vlVaGetReferenceFrame(vlVaDriver *drv, VASurfaceID surface_id, struct pipe_video_buffer **ref_frame);
void vlVaHandlePictureParameterBufferMPEG12(vlVaDriver *drv, vlVaContext *context, vlVaBuffer *buf);
void vlVaHandleIQMatrixBufferMPEG12(vlVaContext *context, vlVaBuffer *buf);