(font_driver.c) Remove configuration.h dependency

This commit is contained in:
twinaphex 2020-02-16 21:59:03 +01:00
parent 4493ece2f2
commit 47af95469a
25 changed files with 91 additions and 36 deletions

View File

@ -176,7 +176,11 @@
// overlay view
_overlay = [[Overlay alloc] initWithContext:_context];
font_driver_init_osd((__bridge void *)self, false, video->is_threaded, FONT_DRIVER_RENDER_METAL_API);
font_driver_init_osd((__bridge void *)self,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_METAL_API);
}
return self;
}

View File

@ -94,7 +94,8 @@ static void *caca_gfx_init(const video_info_t *video,
}
if (video->font_enable)
font_driver_init_osd(caca, false, video->is_threaded,
font_driver_init_osd(caca, video,
false, video->is_threaded,
FONT_DRIVER_RENDER_CACA);
return caca;

View File

@ -485,7 +485,8 @@ static void* ctr_init(const video_info_t* video,
driver_ctl(RARCH_DRIVER_CTL_SET_REFRESH_RATE, &refresh_rate);
aptHook(&ctr->lcd_aptHook, ctr_lcd_aptHook, ctr);
font_driver_init_osd(ctr, false,
font_driver_init_osd(ctr, video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_CTR);

View File

@ -966,7 +966,11 @@ static void *d3d10_gfx_init(const video_info_t* video,
D3D10SetState(d3d10->device, d3d10->state);
font_driver_init_osd(d3d10, false, video->is_threaded, FONT_DRIVER_RENDER_D3D10_API);
font_driver_init_osd(d3d10,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_D3D10_API);
{
d3d10_fake_context.get_flags = d3d10_get_flags;

View File

@ -1041,7 +1041,11 @@ static void *d3d11_gfx_init(const video_info_t* video,
}
D3D11SetState(d3d11->context, d3d11->state);
font_driver_init_osd(d3d11, false, video->is_threaded, FONT_DRIVER_RENDER_D3D11_API);
font_driver_init_osd(d3d11,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_D3D11_API);
{
d3d11_fake_context.get_flags = d3d11_get_flags;

View File

@ -1005,7 +1005,11 @@ static void *d3d12_gfx_init(const video_info_t* video,
d3d12->frame.texture[0].srv_heap = &d3d12->desc.srv_heap;
d3d12_init_texture(d3d12->device, &d3d12->frame.texture[0]);
font_driver_init_osd(d3d12, false, video->is_threaded, FONT_DRIVER_RENDER_D3D12_API);
font_driver_init_osd(d3d12,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_D3D12_API);
{
d3d12_fake_context.get_flags = d3d12_get_flags;

View File

@ -948,7 +948,8 @@ static bool d3d8_initialize(d3d8_video_t *d3d, const video_info_t *info)
d3d8_set_viewport(d3d,
width, height, false, true);
font_driver_init_osd(d3d, false,
font_driver_init_osd(d3d, info,
false,
info->is_threaded,
FONT_DRIVER_RENDER_D3D8_API);

View File

@ -956,7 +956,8 @@ static bool d3d9_initialize(d3d9_video_t *d3d, const video_info_t *info)
strlcpy(settings->paths.path_font, "game:\\media\\Arial_12.xpr",
sizeof(settings->paths.path_font));
#endif
font_driver_init_osd(d3d, false,
font_driver_init_osd(d3d, info,
false,
info->is_threaded,
FONT_DRIVER_RENDER_D3D9_API);

View File

@ -210,7 +210,9 @@ static void *fpga_gfx_init(const video_info_t *video,
video_context_driver_input_driver(&inp);
if (settings->bools.video_font_enable)
font_driver_init_osd(NULL, false,
font_driver_init_osd(NULL,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_FPGA);

View File

@ -174,7 +174,9 @@ static void *gdi_gfx_init(const video_info_t *video,
video_context_driver_input_driver(&inp);
if (settings->bools.video_font_enable)
font_driver_init_osd(gdi, false,
font_driver_init_osd(gdi,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_GDI);

View File

@ -3921,7 +3921,8 @@ static void *gl2_init(const video_info_t *video,
video_context_driver_input_driver(&inp);
if (video->font_enable)
font_driver_init_osd(gl, false,
font_driver_init_osd(gl, video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_OPENGL_API);

View File

@ -394,7 +394,9 @@ static void *gl1_gfx_init(const video_info_t *video,
video_context_driver_input_driver(&inp);
if (settings->bools.video_font_enable)
font_driver_init_osd(gl1, false,
font_driver_init_osd(gl1,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_OPENGL1_API);

View File

@ -1322,9 +1322,11 @@ static void *gl_core_init(const video_info_t *video,
if (video->font_enable)
{
font_driver_init_osd(gl, false,
video->is_threaded,
FONT_DRIVER_RENDER_OPENGL_CORE_API);
font_driver_init_osd(gl,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_OPENGL_CORE_API);
}
gl->pbo_readback_enable = settings->bools.video_gpu_record

View File

@ -446,9 +446,11 @@ static void *wiiu_gfx_init(const video_info_t *video,
driver_ctl(RARCH_DRIVER_CTL_SET_REFRESH_RATE, &refresh_rate);
font_driver_init_osd(wiiu, false,
video->is_threaded,
FONT_DRIVER_RENDER_WIIU);
font_driver_init_osd(wiiu,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_WIIU);
{
enum rarch_shader_type type;

View File

@ -107,7 +107,9 @@ static void *network_gfx_init(const video_info_t *video,
video_context_driver_input_driver(&inp);
if (settings->bools.video_font_enable)
font_driver_init_osd(network, false,
font_driver_init_osd(network,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_NETWORK_VIDEO);

View File

@ -261,7 +261,11 @@ static void *ps2_gfx_init(const video_info_t *video,
init_ps2_video(ps2);
if (video->font_enable)
font_driver_init_osd(ps2, false, video->is_threaded, FONT_DRIVER_RENDER_PS2);
font_driver_init_osd(ps2,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_PS2);
ps2->PSM = (video->rgb32 ? GS_PSM_CT32 : GS_PSM_CT16);
ps2->fullscreen = video->fullscreen;

View File

@ -239,7 +239,9 @@ static void *sixel_gfx_init(const video_info_t *video,
video_context_driver_input_driver(&inp);
if (settings->bools.video_font_enable)
font_driver_init_osd(sixel, false,
font_driver_init_osd(sixel,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_SIXEL);

View File

@ -220,9 +220,11 @@ static void *switch_init(const video_info_t *video,
*input_data = switchinput;
}
font_driver_init_osd(sw, false,
video->is_threaded,
FONT_DRIVER_RENDER_SWITCH);
font_driver_init_osd(sw,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_SWITCH);
clear_screen(sw);

View File

@ -137,7 +137,9 @@ static void *vga_gfx_init(const video_info_t *video,
vga_gfx_create();
if (video->font_enable)
font_driver_init_osd(NULL, false,
font_driver_init_osd(NULL,
video,
false,
video->is_threaded, FONT_DRIVER_RENDER_VGA);
return vga;

View File

@ -108,7 +108,9 @@ static void *vita2d_gfx_init(const video_info_t *video,
#ifdef HAVE_OVERLAY
vita->overlay_enable = false;
#endif
font_driver_init_osd(vita, false,
font_driver_init_osd(vita,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_VITA2D);

View File

@ -1262,7 +1262,9 @@ static void *vulkan_init(const video_info_t *video,
video_context_driver_input_driver(&inp);
if (video->font_enable)
font_driver_init_osd(vk, false,
font_driver_init_osd(vk,
video,
false,
video->is_threaded,
FONT_DRIVER_RENDER_VULKAN_API);

View File

@ -24,7 +24,6 @@
#include "font_driver.h"
#include "video_thread_wrapper.h"
#include "../configuration.h"
#include "../retroarch.h"
#include "../verbosity.h"
@ -1155,19 +1154,18 @@ font_data_t *font_driver_init_first(
void font_driver_init_osd(
void *video_data,
const void *video_info_data,
bool threading_hint,
bool is_threaded,
enum font_driver_render_api api)
{
settings_t *settings = config_get_ptr();
const char *path_font = settings->paths.path_font;
float video_font_size = settings->floats.video_font_size;
if (video_font_driver)
const video_info_t *video_info = (const video_info_t*)video_info_data;
if (video_font_driver || !video_info)
return;
video_font_driver = font_driver_init_first(video_data,
*path_font ? path_font : NULL,
video_font_size, threading_hint, is_threaded, api);
*video_info->path_font ? video_info->path_font : NULL,
video_info->font_size, threading_hint, is_threaded, api);
if (!video_font_driver)
RARCH_ERR("[font]: Failed to initialize OSD font.\n");

View File

@ -153,9 +153,11 @@ font_data_t *font_driver_init_first(
void font_driver_init_osd(
void *video_data,
const void *video_info_data,
bool threading_hint,
bool is_threaded,
enum font_driver_render_api api);
void font_driver_free_osd(void);
int font_driver_get_line_height(void *font_data, float scale);

View File

@ -20699,6 +20699,8 @@ static bool video_driver_init_internal(bool *video_is_threaded)
#endif
video.smooth = settings->bools.video_smooth;
video.input_scale = scale;
video.font_size = settings->floats.video_font_size;
video.path_font = settings->paths.path_font;
video.rgb32 = video_driver_state_filter ?
video_driver_state_out_rgb32 :
(video_driver_pix_fmt == RETRO_PIXEL_FORMAT_XRGB8888);
@ -20719,13 +20721,15 @@ static bool video_driver_init_internal(bool *video_is_threaded)
if (video.is_threaded)
{
bool ret;
/* Can't do hardware rendering with threaded driver currently. */
RARCH_LOG("[Video]: Starting threaded video driver ...\n");
if (!video_init_thread((const video_driver_t**)&current_video,
ret = video_init_thread((const video_driver_t**)&current_video,
&video_driver_data,
&current_input, (void**)&current_input_data,
current_video, video))
current_video, video);
if (!ret)
{
RARCH_ERR("[Video]: Cannot open threaded video driver ... Exiting ...\n");
goto error;

View File

@ -1086,6 +1086,10 @@ typedef struct video_info
*/
unsigned input_scale;
const char *path_font;
float font_size;
uintptr_t parent;
} video_info_t;