st/va: make surface allocate functions more usefully

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
Leo Liu 2017-08-15 09:07:06 -04:00
parent 130d1f456b
commit e50ee6d4d5
2 changed files with 5 additions and 4 deletions

View File

@ -558,9 +558,9 @@ suface_from_external_memory(VADriverContextP ctx, vlVaSurface *surface,
return VA_STATUS_SUCCESS;
}
static VAStatus
surface_allocate(VADriverContextP ctx, vlVaSurface *surface,
struct pipe_video_buffer *templat)
VAStatus
vlVaHandleSurfaceAllocate(VADriverContextP ctx, vlVaSurface *surface,
struct pipe_video_buffer *templat)
{
vlVaDriver *drv;
struct pipe_surface **surfaces;
@ -734,7 +734,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 = surface_allocate(ctx, surf, &templat);
vaStatus = vlVaHandleSurfaceAllocate(ctx, surf, &templat);
if (vaStatus != VA_STATUS_SUCCESS)
goto free_surf;
break;

View File

@ -396,6 +396,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);
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);