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:
parent
130d1f456b
commit
e50ee6d4d5
|
@ -558,9 +558,9 @@ suface_from_external_memory(VADriverContextP ctx, vlVaSurface *surface,
|
||||||
return VA_STATUS_SUCCESS;
|
return VA_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static VAStatus
|
VAStatus
|
||||||
surface_allocate(VADriverContextP ctx, vlVaSurface *surface,
|
vlVaHandleSurfaceAllocate(VADriverContextP ctx, vlVaSurface *surface,
|
||||||
struct pipe_video_buffer *templat)
|
struct pipe_video_buffer *templat)
|
||||||
{
|
{
|
||||||
vlVaDriver *drv;
|
vlVaDriver *drv;
|
||||||
struct pipe_surface **surfaces;
|
struct pipe_surface **surfaces;
|
||||||
|
@ -734,7 +734,7 @@ vlVaCreateSurfaces2(VADriverContextP ctx, unsigned int format,
|
||||||
!(memory_attibute->flags & VA_SURFACE_EXTBUF_DESC_ENABLE_TILING))
|
!(memory_attibute->flags & VA_SURFACE_EXTBUF_DESC_ENABLE_TILING))
|
||||||
templat.bind = PIPE_BIND_LINEAR | PIPE_BIND_SHARED;
|
templat.bind = PIPE_BIND_LINEAR | PIPE_BIND_SHARED;
|
||||||
|
|
||||||
vaStatus = surface_allocate(ctx, surf, &templat);
|
vaStatus = vlVaHandleSurfaceAllocate(ctx, surf, &templat);
|
||||||
if (vaStatus != VA_STATUS_SUCCESS)
|
if (vaStatus != VA_STATUS_SUCCESS)
|
||||||
goto free_surf;
|
goto free_surf;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -396,6 +396,7 @@ VAStatus vlVaQueryVideoProcPipelineCaps(VADriverContextP ctx, VAContextID contex
|
||||||
|
|
||||||
// internal functions
|
// internal functions
|
||||||
VAStatus vlVaHandleVAProcPipelineParameterBufferType(vlVaDriver *drv, vlVaContext *context, vlVaBuffer *buf);
|
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 vlVaGetReferenceFrame(vlVaDriver *drv, VASurfaceID surface_id, struct pipe_video_buffer **ref_frame);
|
||||||
void vlVaHandlePictureParameterBufferMPEG12(vlVaDriver *drv, vlVaContext *context, vlVaBuffer *buf);
|
void vlVaHandlePictureParameterBufferMPEG12(vlVaDriver *drv, vlVaContext *context, vlVaBuffer *buf);
|
||||||
void vlVaHandleIQMatrixBufferMPEG12(vlVaContext *context, vlVaBuffer *buf);
|
void vlVaHandleIQMatrixBufferMPEG12(vlVaContext *context, vlVaBuffer *buf);
|
||||||
|
|
Loading…
Reference in New Issue