mirror of
https://github.com/libretro/RetroArch
synced 2025-02-03 17:54:04 +00:00
Add GFX_CTL_IDENT_GET
This commit is contained in:
parent
6413449944
commit
637ee33ab6
@ -83,13 +83,6 @@ static const gfx_ctx_driver_t *gfx_ctx_drivers[] = {
|
||||
static const gfx_ctx_driver_t *current_video_context;
|
||||
static void *video_context_data;
|
||||
|
||||
const char *gfx_ctx_get_ident(void)
|
||||
{
|
||||
if (!current_video_context)
|
||||
return NULL;
|
||||
return current_video_context->ident;
|
||||
}
|
||||
|
||||
bool gfx_ctx_set_video_mode(
|
||||
unsigned width, unsigned height,
|
||||
bool fullscreen)
|
||||
@ -431,6 +424,14 @@ bool gfx_ctx_ctl(enum gfx_ctx_ctl_state state, void *data)
|
||||
return current_video_context->suppress_screensaver(
|
||||
video_context_data, *bool_data);
|
||||
}
|
||||
case GFX_CTL_IDENT_GET:
|
||||
{
|
||||
gfx_ctx_ident_t *ident = (gfx_ctx_ident_t*)data;
|
||||
ident->ident = NULL;
|
||||
if (current_video_context)
|
||||
ident->ident = current_video_context->ident;
|
||||
}
|
||||
break;
|
||||
case GFX_CTL_NONE:
|
||||
default:
|
||||
break;
|
||||
|
@ -78,7 +78,8 @@ enum gfx_ctx_ctl_state
|
||||
GFX_CTL_TRANSLATE_ASPECT,
|
||||
GFX_CTL_GET_METRICS,
|
||||
GFX_CTL_INPUT_DRIVER,
|
||||
GFX_CTL_SUPPRESS_SCREENSAVER
|
||||
GFX_CTL_SUPPRESS_SCREENSAVER,
|
||||
GFX_CTL_IDENT_GET
|
||||
};
|
||||
|
||||
typedef void (*gfx_ctx_proc_t)(void);
|
||||
@ -223,6 +224,11 @@ typedef struct gfx_ctx_proc_address
|
||||
retro_proc_address_t addr;
|
||||
} gfx_ctx_proc_address_t;
|
||||
|
||||
typedef struct gfx_ctx_ident
|
||||
{
|
||||
const char *ident;
|
||||
} gfx_ctx_ident_t;
|
||||
|
||||
extern const gfx_ctx_driver_t gfx_ctx_sdl_gl;
|
||||
extern const gfx_ctx_driver_t gfx_ctx_x_egl;
|
||||
extern const gfx_ctx_driver_t gfx_ctx_wayland;
|
||||
@ -265,8 +271,6 @@ void gfx_ctx_get_video_size(unsigned *width, unsigned *height);
|
||||
|
||||
bool gfx_ctx_set_resize(unsigned width, unsigned height);
|
||||
|
||||
const char *gfx_ctx_get_ident(void);
|
||||
|
||||
bool gfx_ctx_ctl(enum gfx_ctx_ctl_state state, void *data);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -441,6 +441,9 @@ static int menu_displaylist_parse_debug_info(menu_displaylist_info_t *info)
|
||||
static int menu_displaylist_parse_system_info(menu_displaylist_info_t *info)
|
||||
{
|
||||
int controller;
|
||||
#if defined(HAVE_OPENGL) || defined(HAVE_GLES)
|
||||
gfx_ctx_ident_t ident_info;
|
||||
#endif
|
||||
char tmp[PATH_MAX_LENGTH], feat_str[PATH_MAX_LENGTH];
|
||||
const char *tmp_string = NULL;
|
||||
const frontend_ctx_driver_t *frontend = frontend_get_ptr();
|
||||
@ -596,7 +599,8 @@ static int menu_displaylist_parse_system_info(menu_displaylist_info_t *info)
|
||||
}
|
||||
|
||||
#if defined(HAVE_OPENGL) || defined(HAVE_GLES)
|
||||
tmp_string = gfx_ctx_get_ident();
|
||||
gfx_ctx_ctl(GFX_CTL_IDENT_GET, &ident_info);
|
||||
tmp_string = ident_info.ident;
|
||||
|
||||
strlcpy(tmp, menu_hash_to_str(MENU_LABEL_VALUE_SYSTEM_INFO_VIDEO_CONTEXT_DRIVER), sizeof(tmp));
|
||||
strlcat(tmp, ": ", sizeof(tmp));
|
||||
|
Loading…
x
Reference in New Issue
Block a user