video_layout interface

This commit is contained in:
Huw Pascoe 2019-04-01 04:00:58 +01:00
parent 078cdd269f
commit 2c56011f84
37 changed files with 130 additions and 0 deletions

View File

@ -359,6 +359,9 @@ video_driver_t video_caca = {
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
caca_gfx_get_poke_interface,
NULL /* wrap_type_to_enum */

View File

@ -1289,6 +1289,9 @@ video_driver_t video_ctr =
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
NULL,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
ctr_get_poke_interface
};

View File

@ -1753,6 +1753,9 @@ video_driver_t video_d3d10 = {
#ifdef HAVE_OVERLAY
d3d10_get_overlay_interface,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
d3d10_gfx_get_poke_interface,
NULL, /* d3d10_wrap_type_to_enum */

View File

@ -1815,6 +1815,9 @@ video_driver_t video_d3d11 = {
#ifdef HAVE_OVERLAY
d3d11_get_overlay_interface,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
d3d11_gfx_get_poke_interface,
NULL, /* d3d11_wrap_type_to_enum */

View File

@ -1863,6 +1863,9 @@ video_driver_t video_d3d12 = {
#ifdef HAVE_OVERLAY
d3d12_get_overlay_interface,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
d3d12_gfx_get_poke_interface,
NULL, /* d3d12_wrap_type_to_enum */

View File

@ -1904,6 +1904,9 @@ video_driver_t video_d3d8 = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
d3d8_get_overlay_interface,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
d3d8_get_poke_interface
};

View File

@ -2121,6 +2121,9 @@ video_driver_t video_d3d9 = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
d3d9_get_overlay_interface,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
d3d9_get_poke_interface,
NULL, /* wrap_type_to_enum */

View File

@ -711,6 +711,9 @@ video_driver_t video_dispmanx = {
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
dispmanx_gfx_get_poke_interface
};

View File

@ -1036,6 +1036,9 @@ video_driver_t video_drm = {
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
drm_gfx_get_poke_interface
};

View File

@ -1555,6 +1555,9 @@ video_driver_t video_exynos = {
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
exynos_gfx_get_poke_interface
};

View File

@ -696,6 +696,9 @@ video_driver_t video_gdi = {
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
gdi_gfx_get_poke_interface,
};

View File

@ -4233,6 +4233,9 @@ video_driver_t video_gl2 = {
#ifdef HAVE_OVERLAY
gl2_get_overlay_interface,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
gl2_get_poke_interface,
gl2_wrap_type_to_enum,

View File

@ -1544,6 +1544,9 @@ video_driver_t video_gl1 = {
#ifdef HAVE_OVERLAY
gl1_get_overlay_interface,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
gl1_gfx_get_poke_interface,
gl1_wrap_type_to_enum,

View File

@ -2057,6 +2057,9 @@ video_driver_t video_gl_core = {
#ifdef HAVE_OVERLAY
gl_core_get_overlay_interface,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
gl_core_get_poke_interface,
gl_core_wrap_type_to_enum,

View File

@ -1777,6 +1777,9 @@ video_driver_t video_wiiu =
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
gx2_get_overlay_interface, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
wiiu_gfx_get_poke_interface,
NULL, /* wrap_type_to_enum */

View File

@ -1683,6 +1683,9 @@ video_driver_t video_gx = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
gx_get_overlay_interface,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
gx_get_poke_interface,
};

View File

@ -452,6 +452,9 @@ video_driver_t video_metal = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
metal_get_overlay_interface,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
metal_get_poke_interface,
NULL, /* metal_wrap_type_to_enum */

View File

@ -139,6 +139,9 @@ video_driver_t video_null = {
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
null_gfx_get_poke_interface,
};

View File

@ -1186,6 +1186,9 @@ video_driver_t video_omap = {
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
omap_gfx_get_poke_interface
};

View File

@ -518,6 +518,9 @@ video_driver_t video_ps2 = {
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
ps2_gfx_get_poke_interface,
};

View File

@ -981,6 +981,9 @@ video_driver_t video_psp1 = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
NULL,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
psp_get_poke_interface
};

View File

@ -790,6 +790,9 @@ video_driver_t video_sdl2 = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
NULL,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
sdl2_gfx_poke_interface
};

View File

@ -598,6 +598,9 @@ video_driver_t video_sdl = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
NULL,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
sdl_get_poke_interface
};

View File

@ -664,6 +664,9 @@ video_driver_t video_sixel = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
sixel_gfx_get_poke_interface,
NULL /* wrap_type_to_enum */

View File

@ -992,6 +992,9 @@ video_driver_t video_sunxi = {
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
sunxi_gfx_get_poke_interface
};

View File

@ -453,6 +453,9 @@ video_driver_t video_switch = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
switch_get_poke_interface,
};

View File

@ -802,6 +802,9 @@ video_driver_t video_switch = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
switch_overlay_interface, /* switch_overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
switch_get_poke_interface,
};

View File

@ -519,6 +519,9 @@ video_driver_t video_vg = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
vg_get_poke_interface
};

View File

@ -451,6 +451,9 @@ video_driver_t video_vga = {
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
vga_gfx_get_poke_interface,
};

View File

@ -983,6 +983,9 @@ video_driver_t video_vita2d = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
vita2d_get_overlay_interface,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
vita2d_gfx_get_poke_interface,
};

View File

@ -2816,6 +2816,9 @@ video_driver_t video_vulkan = {
#ifdef HAVE_OVERLAY
vulkan_get_overlay_interface,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
vulkan_get_poke_interface,
NULL, /* vulkan_wrap_type_to_enum */

View File

@ -326,6 +326,9 @@ video_driver_t video_xenon360 = {
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
xenon360_gfx_get_poke_interface
};

View File

@ -262,6 +262,9 @@ video_driver_t video_xshm = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
NULL,
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
xshm_gfx_poke_interface
};

View File

@ -1000,6 +1000,9 @@ video_driver_t video_xvideo = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
NULL, /* overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
xv_get_poke_interface
};

View File

@ -52,6 +52,10 @@
#endif
#endif
#ifdef HAVE_VIDEO_LAYOUT
#include "video_layout.h"
#endif
#include "video_thread_wrapper.h"
#include "video_driver.h"
#include "video_display_server.h"
@ -1214,6 +1218,16 @@ bool video_driver_overlay_interface(const video_overlay_interface_t **iface)
}
#endif
#ifdef HAVE_VIDEO_LAYOUT
const video_layout_render_interface_t *video_driver_layout_render_interface(void)
{
if (!current_video)
return NULL;
return current_video->video_layout_render_interface(video_driver_data);
}
#endif
void *video_driver_read_frame_raw(unsigned *width,
unsigned *height, size_t *pitch)
{

View File

@ -34,6 +34,10 @@
#include "../input/input_overlay.h"
#endif
#ifdef HAVE_VIDEO_LAYOUT
#include "video_layout.h"
#endif
#include "video_defines.h"
#include "video_coord_array.h"
#include "video_filter.h"
@ -798,6 +802,9 @@ typedef struct video_driver
#ifdef HAVE_OVERLAY
void (*overlay_interface)(void *data,
const video_overlay_interface_t **iface);
#endif
#ifdef HAVE_VIDEO_LAYOUT
const video_layout_render_interface_t *(*video_layout_render_interface)(void *data);
#endif
void (*poke_interface)(void *data, const video_poke_interface_t **iface);
unsigned (*wrap_type_to_enum)(enum gfx_wrap_type type);
@ -950,6 +957,10 @@ bool video_driver_overlay_interface(
const video_overlay_interface_t **iface);
#endif
#ifdef HAVE_VIDEO_LAYOUT
const video_layout_render_interface_t *video_driver_layout_render_interface(void);
#endif
void * video_driver_read_frame_raw(unsigned *width,
unsigned *height, size_t *pitch);

View File

@ -1310,6 +1310,9 @@ static const video_driver_t video_thread = {
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
video_thread_get_overlay_interface, /* get_overlay_interface */
#endif
#ifdef HAVE_VIDEO_LAYOUT
NULL,
#endif
video_thread_get_poke_interface,
NULL,