mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-13 05:10:42 +00:00
Add SHADER_CTL_GET_IDENT
This commit is contained in:
parent
debb5dd0ce
commit
e790b503d9
@ -2654,6 +2654,7 @@ static void *gl_init(const video_info_t *video, const input_driver_t **input, vo
|
||||
video_shader_ctx_wrap_t wrap_info;
|
||||
video_shader_ctx_filter_t shader_filter;
|
||||
video_shader_ctx_info_t shader_info;
|
||||
video_shader_ctx_ident_t ident_info;
|
||||
unsigned win_width, win_height, temp_width = 0, temp_height = 0;
|
||||
bool force_smooth = false;
|
||||
const char *vendor = NULL;
|
||||
@ -2792,8 +2793,9 @@ static void *gl_init(const video_info_t *video, const input_driver_t **input, vo
|
||||
if (!video_shader_driver_ctl(SHADER_CTL_INIT_FIRST, NULL))
|
||||
goto error;
|
||||
|
||||
RARCH_LOG("[GL]: Default shader backend found: %s.\n",
|
||||
video_shader_driver_get_ident());
|
||||
video_shader_driver_ctl(SHADER_CTL_GET_IDENT, &ident_info);
|
||||
|
||||
RARCH_LOG("[GL]: Default shader backend found: %s.\n", ident_info.ident);
|
||||
|
||||
if (!gl_shader_init(gl))
|
||||
{
|
||||
|
@ -58,13 +58,6 @@ const shader_backend_t *shader_ctx_find_driver(const char *ident)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *video_shader_driver_get_ident(void)
|
||||
{
|
||||
if (!current_shader)
|
||||
return NULL;
|
||||
return current_shader->ident;
|
||||
}
|
||||
|
||||
unsigned video_shader_driver_get_prev_textures(void)
|
||||
{
|
||||
if (!current_shader)
|
||||
@ -76,6 +69,14 @@ bool video_shader_driver_ctl(enum video_shader_driver_ctl_state state, void *dat
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case SHADER_CTL_GET_IDENT:
|
||||
{
|
||||
video_shader_ctx_ident_t *ident = (video_shader_ctx_ident_t*)data;
|
||||
if (!current_shader || !ident)
|
||||
return false;
|
||||
ident->ident = current_shader->ident;
|
||||
}
|
||||
break;
|
||||
case SHADER_CTL_GET_CURRENT_SHADER:
|
||||
{
|
||||
video_shader_ctx_t *shader = (video_shader_ctx_t*)data;
|
||||
|
@ -71,7 +71,8 @@ enum video_shader_driver_ctl_state
|
||||
SHADER_CTL_USE,
|
||||
SHADER_CTL_WRAP_TYPE,
|
||||
SHADER_CTL_GET_CURRENT_SHADER,
|
||||
SHADER_CTL_DIRECT_GET_CURRENT_SHADER
|
||||
SHADER_CTL_DIRECT_GET_CURRENT_SHADER,
|
||||
SHADER_CTL_GET_IDENT
|
||||
};
|
||||
|
||||
typedef struct shader_backend
|
||||
@ -176,6 +177,11 @@ typedef struct video_shader_ctx
|
||||
struct video_shader *data;
|
||||
} video_shader_ctx_t;
|
||||
|
||||
typedef struct video_shader_ctx_ident
|
||||
{
|
||||
const char *ident;
|
||||
} video_shader_ctx_ident_t;
|
||||
|
||||
extern const shader_backend_t gl_glsl_backend;
|
||||
extern const shader_backend_t hlsl_backend;
|
||||
extern const shader_backend_t gl_cg_backend;
|
||||
@ -191,8 +197,6 @@ extern const shader_backend_t shader_null_backend;
|
||||
**/
|
||||
const shader_backend_t *shader_ctx_find_driver(const char *ident);
|
||||
|
||||
const char *video_shader_driver_get_ident(void);
|
||||
|
||||
unsigned video_shader_driver_get_prev_textures(void);
|
||||
|
||||
bool video_shader_driver_ctl(enum video_shader_driver_ctl_state state, void *data);
|
||||
|
Loading…
x
Reference in New Issue
Block a user