diff -Nru src/libva-vdpau-driver-0.7.4/src/vdpau_driver_template.h new/libva-vdpau-driver-0.7.4/src/vdpau_driver_template.h --- src/libva-vdpau-driver-0.7.4/src/vdpau_driver_template.h 2019-12-15 03:05:41.353188084 -0800 +++ new/libva-vdpau-driver-0.7.4/src/vdpau_driver_template.h 2019-12-15 02:58:10.729756522 -0800 @@ -452,6 +452,19 @@ void **buffer ); #endif + + VAStatus + (*vaCreateSurfaces2)( + VADriverContextP ctx, + unsigned int format, + unsigned int width, + unsigned int height, + VASurfaceID *surfaces, + unsigned int num_surfaces, + VASurfaceAttrib *attrib_list, + unsigned int num_attribs + ); + }; /* Driver context */ @@ -662,6 +675,7 @@ vtable->vaDbgCopySurfaceToBuffer = vdpau_DbgCopySurfaceToBuffer; #endif #endif + vtable->vaCreateSurfaces2 = vdpau_CreateSurfaces2; #if VA_INIT_GLX VA_DRIVER_VTABLE_GLX_P const glx_vtable = FUNC(GetVTableGLX)(ctx); diff -Nru src/libva-vdpau-driver-0.7.4/src/vdpau_video.c new/libva-vdpau-driver-0.7.4/src/vdpau_video.c --- src/libva-vdpau-driver-0.7.4/src/vdpau_video.c 2019-12-15 03:05:41.363188087 -0800 +++ new/libva-vdpau-driver-0.7.4/src/vdpau_video.c 2019-12-15 02:57:34.663083228 -0800 @@ -501,6 +504,22 @@ return va_status; } +// vaCreateSurfaces2 +VAStatus +vdpau_CreateSurfaces2( + VADriverContextP ctx, + unsigned int format, + unsigned int width, + unsigned int height, + VASurfaceID *surfaces, + unsigned int num_surfaces, + VASurfaceAttrib *attrib_list, + unsigned int num_attribs +) +{ + return vdpau_CreateSurfaces(ctx, width, height, format, num_surfaces, surfaces); +} + // vaDestroyContext VAStatus vdpau_DestroyContext(VADriverContextP ctx, VAContextID context) { diff -Nru src/libva-vdpau-driver-0.7.4/src/vdpau_video.h new/libva-vdpau-driver-0.7.4/src/vdpau_video.h --- src/libva-vdpau-driver-0.7.4/src/vdpau_video.h 2019-12-15 03:05:41.363188087 -0800 +++ new/libva-vdpau-driver-0.7.4/src/vdpau_video.h 2019-12-15 02:57:32.999749599 -0800 @@ -185,6 +185,19 @@ VASurfaceID *surfaces ) attribute_hidden; +// vaCreateSurfaces2 +VAStatus +vdpau_CreateSurfaces2( + VADriverContextP ctx, + unsigned int format, + unsigned int width, + unsigned int height, + VASurfaceID *surfaces, + unsigned int num_surfaces, + VASurfaceAttrib *attrib_list, + unsigned int num_attribs +) attribute_hidden; + // vaDestroySurfaces VAStatus vdpau_DestroySurfaces(