mirror of
https://github.com/libretro/RetroArch
synced 2025-01-31 06:32:48 +00:00
Move code over to gfx/video_driver.c
This commit is contained in:
parent
0364a277e4
commit
4f8ca90dd0
@ -23,6 +23,7 @@
|
||||
|
||||
#include "video_driver.h"
|
||||
|
||||
#include "../frontend/frontend_driver.h"
|
||||
#include "../ui/ui_companion_driver.h"
|
||||
#include "../list_special.h"
|
||||
#include "../retroarch.h"
|
||||
@ -41,6 +42,181 @@ static gfx_api_gpu_map gpu_map[] = {
|
||||
{ NULL, GFX_CTX_DIRECT3D12_API }
|
||||
};
|
||||
|
||||
static void *video_null_init(const video_info_t *video,
|
||||
input_driver_t **input, void **input_data)
|
||||
{
|
||||
*input = NULL;
|
||||
*input_data = NULL;
|
||||
|
||||
frontend_driver_install_signal_handler();
|
||||
|
||||
return (void*)-1;
|
||||
}
|
||||
|
||||
static bool video_null_frame(void *data, const void *frame,
|
||||
unsigned frame_width, unsigned frame_height, uint64_t frame_count,
|
||||
unsigned pitch, const char *msg, video_frame_info_t *video_info)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
static void video_null_free(void *data) { }
|
||||
static void video_null_set_nonblock_state(void *a, bool b, bool c, unsigned d) { }
|
||||
static bool video_null_alive(void *data) { return frontend_driver_get_signal_handler_state() != 1; }
|
||||
static bool video_null_focus(void *data) { return true; }
|
||||
static bool video_null_has_windowed(void *data) { return true; }
|
||||
static bool video_null_suppress_screensaver(void *data, bool enable) { return false; }
|
||||
static bool video_null_set_shader(void *data,
|
||||
enum rarch_shader_type type, const char *path) { return false; }
|
||||
|
||||
video_driver_t video_null = {
|
||||
video_null_init,
|
||||
video_null_frame,
|
||||
video_null_set_nonblock_state,
|
||||
video_null_alive,
|
||||
video_null_focus,
|
||||
video_null_suppress_screensaver,
|
||||
video_null_has_windowed,
|
||||
video_null_set_shader,
|
||||
video_null_free,
|
||||
"null",
|
||||
NULL, /* set_viewport */
|
||||
NULL, /* set_rotation */
|
||||
NULL, /* viewport_info */
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
NULL, /* overlay_interface */
|
||||
#endif
|
||||
#ifdef HAVE_VIDEO_LAYOUT
|
||||
NULL,
|
||||
#endif
|
||||
NULL, /* get_poke_interface */
|
||||
};
|
||||
|
||||
const video_driver_t *video_drivers[] = {
|
||||
#ifdef __PSL1GHT__
|
||||
&video_gcm,
|
||||
#endif
|
||||
#ifdef HAVE_VITA2D
|
||||
&video_vita2d,
|
||||
#endif
|
||||
#ifdef HAVE_OPENGL
|
||||
&video_gl2,
|
||||
#endif
|
||||
#if defined(HAVE_OPENGL_CORE)
|
||||
&video_gl_core,
|
||||
#endif
|
||||
#ifdef HAVE_OPENGL1
|
||||
&video_gl1,
|
||||
#endif
|
||||
#ifdef HAVE_VULKAN
|
||||
&video_vulkan,
|
||||
#endif
|
||||
#ifdef HAVE_METAL
|
||||
&video_metal,
|
||||
#endif
|
||||
#ifdef XENON
|
||||
&video_xenon360,
|
||||
#endif
|
||||
#if defined(HAVE_D3D12)
|
||||
&video_d3d12,
|
||||
#endif
|
||||
#if defined(HAVE_D3D11)
|
||||
&video_d3d11,
|
||||
#endif
|
||||
#if defined(HAVE_D3D10)
|
||||
&video_d3d10,
|
||||
#endif
|
||||
#if defined(HAVE_D3D9)
|
||||
&video_d3d9,
|
||||
#endif
|
||||
#if defined(HAVE_D3D8)
|
||||
&video_d3d8,
|
||||
#endif
|
||||
#ifdef PSP
|
||||
&video_psp1,
|
||||
#endif
|
||||
#ifdef PS2
|
||||
&video_ps2,
|
||||
#endif
|
||||
#ifdef _3DS
|
||||
&video_ctr,
|
||||
#endif
|
||||
#ifdef SWITCH
|
||||
&video_switch,
|
||||
#endif
|
||||
#ifdef HAVE_ODROIDGO2
|
||||
&video_oga,
|
||||
#endif
|
||||
#if defined(HAVE_SDL) && !defined(HAVE_SDL_DINGUX)
|
||||
&video_sdl,
|
||||
#endif
|
||||
#ifdef HAVE_SDL2
|
||||
&video_sdl2,
|
||||
#endif
|
||||
#ifdef HAVE_SDL_DINGUX
|
||||
#if defined(RS90)
|
||||
&video_sdl_rs90,
|
||||
#else
|
||||
&video_sdl_dingux,
|
||||
#endif
|
||||
#endif
|
||||
#ifdef HAVE_XVIDEO
|
||||
&video_xvideo,
|
||||
#endif
|
||||
#ifdef GEKKO
|
||||
&video_gx,
|
||||
#endif
|
||||
#ifdef WIIU
|
||||
&video_wiiu,
|
||||
#endif
|
||||
#ifdef HAVE_VG
|
||||
&video_vg,
|
||||
#endif
|
||||
#ifdef HAVE_OMAP
|
||||
&video_omap,
|
||||
#endif
|
||||
#ifdef HAVE_EXYNOS
|
||||
&video_exynos,
|
||||
#endif
|
||||
#ifdef HAVE_DISPMANX
|
||||
&video_dispmanx,
|
||||
#endif
|
||||
#ifdef HAVE_SUNXI
|
||||
&video_sunxi,
|
||||
#endif
|
||||
#ifdef HAVE_PLAIN_DRM
|
||||
&video_drm,
|
||||
#endif
|
||||
#ifdef HAVE_XSHM
|
||||
&video_xshm,
|
||||
#endif
|
||||
#if defined(_WIN32) && !defined(_XBOX) && !defined(__WINRT__)
|
||||
#ifdef HAVE_GDI
|
||||
&video_gdi,
|
||||
#endif
|
||||
#endif
|
||||
#ifdef DJGPP
|
||||
&video_vga,
|
||||
#endif
|
||||
#ifdef HAVE_FPGA
|
||||
&video_fpga,
|
||||
#endif
|
||||
#ifdef HAVE_SIXEL
|
||||
&video_sixel,
|
||||
#endif
|
||||
#ifdef HAVE_CACA
|
||||
&video_caca,
|
||||
#endif
|
||||
#ifdef HAVE_NETWORK_VIDEO
|
||||
&video_network,
|
||||
#endif
|
||||
&video_null,
|
||||
NULL,
|
||||
};
|
||||
|
||||
video_driver_t *hw_render_context_driver(
|
||||
enum retro_hw_context_type type, int major, int minor)
|
||||
{
|
||||
|
@ -1202,6 +1202,8 @@ video_pixel_scaler_t *video_driver_pixel_converter_init(
|
||||
void video_driver_filter_free(void);
|
||||
#endif
|
||||
|
||||
extern const video_driver_t *video_drivers[];
|
||||
|
||||
extern video_driver_t video_gl_core;
|
||||
extern video_driver_t video_gl2;
|
||||
extern video_driver_t video_gl1;
|
||||
@ -1240,6 +1242,7 @@ extern video_driver_t video_fpga;
|
||||
extern video_driver_t video_sixel;
|
||||
extern video_driver_t video_network;
|
||||
extern video_driver_t video_oga;
|
||||
extern video_driver_t video_null;
|
||||
|
||||
extern const gfx_ctx_driver_t gfx_ctx_osmesa;
|
||||
extern const gfx_ctx_driver_t gfx_ctx_sdl_gl;
|
||||
|
175
retroarch_data.h
175
retroarch_data.h
@ -471,181 +471,6 @@ static const video_display_server_t dispserv_null = {
|
||||
"null"
|
||||
};
|
||||
|
||||
static void *video_null_init(const video_info_t *video,
|
||||
input_driver_t **input, void **input_data)
|
||||
{
|
||||
*input = NULL;
|
||||
*input_data = NULL;
|
||||
|
||||
frontend_driver_install_signal_handler();
|
||||
|
||||
return (void*)-1;
|
||||
}
|
||||
|
||||
static bool video_null_frame(void *data, const void *frame,
|
||||
unsigned frame_width, unsigned frame_height, uint64_t frame_count,
|
||||
unsigned pitch, const char *msg, video_frame_info_t *video_info)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
static void video_null_free(void *data) { }
|
||||
static void video_null_set_nonblock_state(void *a, bool b, bool c, unsigned d) { }
|
||||
static bool video_null_alive(void *data) { return frontend_driver_get_signal_handler_state() != 1; }
|
||||
static bool video_null_focus(void *data) { return true; }
|
||||
static bool video_null_has_windowed(void *data) { return true; }
|
||||
static bool video_null_suppress_screensaver(void *data, bool enable) { return false; }
|
||||
static bool video_null_set_shader(void *data,
|
||||
enum rarch_shader_type type, const char *path) { return false; }
|
||||
|
||||
static video_driver_t video_null = {
|
||||
video_null_init,
|
||||
video_null_frame,
|
||||
video_null_set_nonblock_state,
|
||||
video_null_alive,
|
||||
video_null_focus,
|
||||
video_null_suppress_screensaver,
|
||||
video_null_has_windowed,
|
||||
video_null_set_shader,
|
||||
video_null_free,
|
||||
"null",
|
||||
NULL, /* set_viewport */
|
||||
NULL, /* set_rotation */
|
||||
NULL, /* viewport_info */
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
NULL, /* overlay_interface */
|
||||
#endif
|
||||
#ifdef HAVE_VIDEO_LAYOUT
|
||||
NULL,
|
||||
#endif
|
||||
NULL, /* get_poke_interface */
|
||||
};
|
||||
|
||||
static const video_driver_t *video_drivers[] = {
|
||||
#ifdef __PSL1GHT__
|
||||
&video_gcm,
|
||||
#endif
|
||||
#ifdef HAVE_VITA2D
|
||||
&video_vita2d,
|
||||
#endif
|
||||
#ifdef HAVE_OPENGL
|
||||
&video_gl2,
|
||||
#endif
|
||||
#if defined(HAVE_OPENGL_CORE)
|
||||
&video_gl_core,
|
||||
#endif
|
||||
#ifdef HAVE_OPENGL1
|
||||
&video_gl1,
|
||||
#endif
|
||||
#ifdef HAVE_VULKAN
|
||||
&video_vulkan,
|
||||
#endif
|
||||
#ifdef HAVE_METAL
|
||||
&video_metal,
|
||||
#endif
|
||||
#ifdef XENON
|
||||
&video_xenon360,
|
||||
#endif
|
||||
#if defined(HAVE_D3D12)
|
||||
&video_d3d12,
|
||||
#endif
|
||||
#if defined(HAVE_D3D11)
|
||||
&video_d3d11,
|
||||
#endif
|
||||
#if defined(HAVE_D3D10)
|
||||
&video_d3d10,
|
||||
#endif
|
||||
#if defined(HAVE_D3D9)
|
||||
&video_d3d9,
|
||||
#endif
|
||||
#if defined(HAVE_D3D8)
|
||||
&video_d3d8,
|
||||
#endif
|
||||
#ifdef PSP
|
||||
&video_psp1,
|
||||
#endif
|
||||
#ifdef PS2
|
||||
&video_ps2,
|
||||
#endif
|
||||
#ifdef _3DS
|
||||
&video_ctr,
|
||||
#endif
|
||||
#ifdef SWITCH
|
||||
&video_switch,
|
||||
#endif
|
||||
#ifdef HAVE_ODROIDGO2
|
||||
&video_oga,
|
||||
#endif
|
||||
#if defined(HAVE_SDL) && !defined(HAVE_SDL_DINGUX)
|
||||
&video_sdl,
|
||||
#endif
|
||||
#ifdef HAVE_SDL2
|
||||
&video_sdl2,
|
||||
#endif
|
||||
#ifdef HAVE_SDL_DINGUX
|
||||
#if defined(RS90)
|
||||
&video_sdl_rs90,
|
||||
#else
|
||||
&video_sdl_dingux,
|
||||
#endif
|
||||
#endif
|
||||
#ifdef HAVE_XVIDEO
|
||||
&video_xvideo,
|
||||
#endif
|
||||
#ifdef GEKKO
|
||||
&video_gx,
|
||||
#endif
|
||||
#ifdef WIIU
|
||||
&video_wiiu,
|
||||
#endif
|
||||
#ifdef HAVE_VG
|
||||
&video_vg,
|
||||
#endif
|
||||
#ifdef HAVE_OMAP
|
||||
&video_omap,
|
||||
#endif
|
||||
#ifdef HAVE_EXYNOS
|
||||
&video_exynos,
|
||||
#endif
|
||||
#ifdef HAVE_DISPMANX
|
||||
&video_dispmanx,
|
||||
#endif
|
||||
#ifdef HAVE_SUNXI
|
||||
&video_sunxi,
|
||||
#endif
|
||||
#ifdef HAVE_PLAIN_DRM
|
||||
&video_drm,
|
||||
#endif
|
||||
#ifdef HAVE_XSHM
|
||||
&video_xshm,
|
||||
#endif
|
||||
#if defined(_WIN32) && !defined(_XBOX) && !defined(__WINRT__)
|
||||
#ifdef HAVE_GDI
|
||||
&video_gdi,
|
||||
#endif
|
||||
#endif
|
||||
#ifdef DJGPP
|
||||
&video_vga,
|
||||
#endif
|
||||
#ifdef HAVE_FPGA
|
||||
&video_fpga,
|
||||
#endif
|
||||
#ifdef HAVE_SIXEL
|
||||
&video_sixel,
|
||||
#endif
|
||||
#ifdef HAVE_CACA
|
||||
&video_caca,
|
||||
#endif
|
||||
#ifdef HAVE_NETWORK_VIDEO
|
||||
&video_network,
|
||||
#endif
|
||||
&video_null,
|
||||
NULL,
|
||||
};
|
||||
|
||||
#ifdef HAVE_VULKAN
|
||||
static const gfx_ctx_driver_t *gfx_ctx_vk_drivers[] = {
|
||||
#if defined(__APPLE__)
|
||||
|
Loading…
x
Reference in New Issue
Block a user