st/va: make internal func vlVaHandleSurfaceAllocate() call simpler
authorLeo Liu <leo.liu@amd.com>
Sat, 16 Sep 2017 02:23:03 +0000 (22:23 -0400)
committerLeo Liu <leo.liu@amd.com>
Mon, 25 Sep 2017 13:42:14 +0000 (09:42 -0400)
Acked-by: Christian König <christian.koenig@amd.com>
src/gallium/state_trackers/va/picture.c
src/gallium/state_trackers/va/surface.c
src/gallium/state_trackers/va/va_private.h

index 81bd196..5e79465 100644 (file)
@@ -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;
       }
index 67773cf..643cdcd 100644 (file)
@@ -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;
index 5b1b832..61712ce 100644 (file)
@@ -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);