mirror of
https://github.com/libretro/RetroArch
synced 2025-04-16 08:43:10 +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 "video_driver.h"
|
||||||
|
|
||||||
|
#include "../frontend/frontend_driver.h"
|
||||||
#include "../ui/ui_companion_driver.h"
|
#include "../ui/ui_companion_driver.h"
|
||||||
#include "../list_special.h"
|
#include "../list_special.h"
|
||||||
#include "../retroarch.h"
|
#include "../retroarch.h"
|
||||||
@ -41,6 +42,181 @@ static gfx_api_gpu_map gpu_map[] = {
|
|||||||
{ NULL, GFX_CTX_DIRECT3D12_API }
|
{ 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(
|
video_driver_t *hw_render_context_driver(
|
||||||
enum retro_hw_context_type type, int major, int minor)
|
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);
|
void video_driver_filter_free(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
extern const video_driver_t *video_drivers[];
|
||||||
|
|
||||||
extern video_driver_t video_gl_core;
|
extern video_driver_t video_gl_core;
|
||||||
extern video_driver_t video_gl2;
|
extern video_driver_t video_gl2;
|
||||||
extern video_driver_t video_gl1;
|
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_sixel;
|
||||||
extern video_driver_t video_network;
|
extern video_driver_t video_network;
|
||||||
extern video_driver_t video_oga;
|
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_osmesa;
|
||||||
extern const gfx_ctx_driver_t gfx_ctx_sdl_gl;
|
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"
|
"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
|
#ifdef HAVE_VULKAN
|
||||||
static const gfx_ctx_driver_t *gfx_ctx_vk_drivers[] = {
|
static const gfx_ctx_driver_t *gfx_ctx_vk_drivers[] = {
|
||||||
#if defined(__APPLE__)
|
#if defined(__APPLE__)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user