From 829abae8952798b1bcc4140ca41ac48a42451fda Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Wed, 18 Jul 2018 14:20:19 +0200 Subject: [PATCH] surface: Add basic support for CreateSurfaces2 Signed-off-by: Paul Kocialkowski --- src/request.c | 1 + src/surface.c | 17 ++++++++++++++--- src/surface.h | 6 ++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/request.c b/src/request.c index 7113f77..0b661a2 100644 --- a/src/request.c +++ b/src/request.c @@ -86,6 +86,7 @@ VAStatus VA_DRIVER_INIT_FUNC(VADriverContextP context) vtable->vaDestroyConfig = RequestDestroyConfig; vtable->vaGetConfigAttributes = RequestGetConfigAttributes; vtable->vaCreateSurfaces = RequestCreateSurfaces; + vtable->vaCreateSurfaces2 = RequestCreateSurfaces2; vtable->vaDestroySurfaces = RequestDestroySurfaces; vtable->vaCreateContext = RequestCreateContext; vtable->vaDestroyContext = RequestDestroyContext; diff --git a/src/surface.c b/src/surface.c index 43dd1c8..85ee72f 100644 --- a/src/surface.c +++ b/src/surface.c @@ -42,9 +42,12 @@ #include "v4l2.h" #include "video.h" -VAStatus RequestCreateSurfaces(VADriverContextP context, int width, int height, - int format, int surfaces_count, - VASurfaceID *surfaces_ids) +VAStatus RequestCreateSurfaces2(VADriverContextP context, unsigned int format, + unsigned int width, unsigned int height, + VASurfaceID *surfaces_ids, + unsigned int surfaces_count, + VASurfaceAttrib *attributes, + unsigned int attributes_count) { struct request_data *driver_data = context->pDriverData; struct object_surface *surface_object; @@ -171,6 +174,14 @@ VAStatus RequestCreateSurfaces(VADriverContextP context, int width, int height, return VA_STATUS_SUCCESS; } +VAStatus RequestCreateSurfaces(VADriverContextP context, int width, int height, + int format, int surfaces_count, + VASurfaceID *surfaces_ids) +{ + return RequestCreateSurfaces2(context, format, width, height, + surfaces_ids, surfaces_count, NULL, 0); +} + VAStatus RequestDestroySurfaces(VADriverContextP context, VASurfaceID *surfaces_ids, int surfaces_count) { diff --git a/src/surface.h b/src/surface.h index efee317..45e727c 100644 --- a/src/surface.h +++ b/src/surface.h @@ -75,6 +75,12 @@ struct object_surface { int request_fd; }; +VAStatus RequestCreateSurfaces2(VADriverContextP context, unsigned int format, + unsigned int width, unsigned int height, + VASurfaceID *surfaces_ids, + unsigned int surfaces_count, + VASurfaceAttrib *attributes, + unsigned int attributes_count); VAStatus RequestCreateSurfaces(VADriverContextP context, int width, int height, int format, int surfaces_count, VASurfaceID *surfaces_ids);