(GL) Cleanups

This commit is contained in:
twinaphex 2020-03-09 15:40:14 +01:00
parent a4cced8fde
commit cd152399a3
1 changed files with 34 additions and 25 deletions

View File

@ -1389,7 +1389,7 @@ error:
static void gl2_renderchain_copy_frame( static void gl2_renderchain_copy_frame(
gl_t *gl, gl_t *gl,
gl2_renderchain_data_t *chain, gl2_renderchain_data_t *chain,
video_frame_info_t *video_info, bool use_rgba,
const void *frame, const void *frame,
unsigned width, unsigned height, unsigned pitch) unsigned width, unsigned height, unsigned pitch)
{ {
@ -1443,7 +1443,7 @@ static void gl2_renderchain_copy_frame(
video_pixel_get_alignment(width * gl->base_size)); video_pixel_get_alignment(width * gl->base_size));
/* Fallback for GLES devices without GL_BGRA_EXT. */ /* Fallback for GLES devices without GL_BGRA_EXT. */
if (gl->base_size == 4 && video_info->use_rgba) if (gl->base_size == 4 && use_rgba)
{ {
video_frame_convert_argb8888_to_abgr8888( video_frame_convert_argb8888_to_abgr8888(
&gl->scaler, &gl->scaler,
@ -2813,6 +2813,20 @@ static bool gl2_frame(void *data, const void *frame,
gl2_renderchain_data_t *chain = (gl2_renderchain_data_t*)gl->renderchain_data; gl2_renderchain_data_t *chain = (gl2_renderchain_data_t*)gl->renderchain_data;
unsigned width = gl->video_width; unsigned width = gl->video_width;
unsigned height = gl->video_height; unsigned height = gl->video_height;
bool use_rgba = video_info->use_rgba;
bool statistics_show = video_info->statistics_show;
bool widgets_inited = video_info->widgets_inited;
bool msg_bgcolor_enable = video_info->msg_bgcolor_enable;
bool black_frame_insertion = video_info->black_frame_insertion;
bool input_driver_nonblock_state = video_info->input_driver_nonblock_state;
bool runloop_is_slowmotion = video_info->runloop_is_slowmotion;
bool runloop_is_paused = video_info->runloop_is_paused;
bool hard_sync = video_info->hard_sync;
unsigned hard_sync_frames = video_info->hard_sync_frames;
void *context_data = video_info->context_data;
struct font_params *osd_params = (struct font_params*)
&video_info->osd_stat_params;
const char *stat_text = video_info->stat_text;
if (!gl) if (!gl)
return false; return false;
@ -2844,7 +2858,7 @@ static bool gl2_frame(void *data, const void *frame,
if (gl->should_resize) if (gl->should_resize)
{ {
video_info->cb_set_resize(video_info->context_data, video_info->cb_set_resize(context_data,
width, height); width, height);
gl->should_resize = false; gl->should_resize = false;
@ -2926,8 +2940,8 @@ static bool gl2_frame(void *data, const void *frame,
{ {
gl2_update_input_size(gl, frame_width, frame_height, pitch, true); gl2_update_input_size(gl, frame_width, frame_height, pitch, true);
gl2_renderchain_copy_frame(gl, chain, gl2_renderchain_copy_frame(gl, chain, use_rgba,
video_info, frame, frame_width, frame_height, pitch); frame, frame_width, frame_height, pitch);
} }
/* No point regenerating mipmaps /* No point regenerating mipmaps
@ -3017,7 +3031,6 @@ static bool gl2_frame(void *data, const void *frame,
#ifdef HAVE_VIDEO_LAYOUT #ifdef HAVE_VIDEO_LAYOUT
gl2_video_layout_render(gl, video_info); gl2_video_layout_render(gl, video_info);
#endif #endif
#if defined(HAVE_MENU) #if defined(HAVE_MENU)
if (gl->menu_texture_enable) if (gl->menu_texture_enable)
{ {
@ -3026,14 +3039,11 @@ static bool gl2_frame(void *data, const void *frame,
if (gl->menu_texture) if (gl->menu_texture)
gl2_draw_texture(gl); gl2_draw_texture(gl);
} }
else if (video_info->statistics_show) else if (statistics_show)
{ {
struct font_params *osd_params = (struct font_params*)
&video_info->osd_stat_params;
if (osd_params) if (osd_params)
font_driver_render_msg(gl, video_info, video_info->stat_text, font_driver_render_msg(gl, video_info, stat_text,
(const struct font_params*)&video_info->osd_stat_params, NULL); (const struct font_params*)osd_params, NULL);
} }
#endif #endif
@ -3043,20 +3053,19 @@ static bool gl2_frame(void *data, const void *frame,
#endif #endif
#ifdef HAVE_GFX_WIDGETS #ifdef HAVE_GFX_WIDGETS
if (video_info->widgets_inited) if (widgets_inited)
gfx_widgets_frame(video_info); gfx_widgets_frame(video_info);
#endif #endif
if (!string_is_empty(msg)) if (!string_is_empty(msg))
{ {
if (video_info->msg_bgcolor_enable) if (msg_bgcolor_enable)
gl2_render_osd_background(gl, msg); gl2_render_osd_background(gl, msg);
font_driver_render_msg(gl, video_info, msg, NULL, NULL); font_driver_render_msg(gl, video_info, msg, NULL, NULL);
} }
if (video_info->cb_update_window_title) if (video_info->cb_update_window_title)
video_info->cb_update_window_title( video_info->cb_update_window_title(context_data);
video_info->context_data);
/* Reset state which could easily mess up libretro core. */ /* Reset state which could easily mess up libretro core. */
if (gl->hw_render_fbo_init) if (gl->hw_render_fbo_init)
@ -3085,28 +3094,28 @@ static bool gl2_frame(void *data, const void *frame,
/* Disable BFI during fast forward, slow-motion, /* Disable BFI during fast forward, slow-motion,
* and pause to prevent flicker. */ * and pause to prevent flicker. */
if ( if (
video_info->black_frame_insertion black_frame_insertion
&& !video_info->input_driver_nonblock_state && !input_driver_nonblock_state
&& !video_info->runloop_is_slowmotion && !runloop_is_slowmotion
&& !video_info->runloop_is_paused) && !runloop_is_paused)
{ {
video_info->cb_swap_buffers(video_info->context_data); video_info->cb_swap_buffers(context_data);
glClear(GL_COLOR_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT);
} }
#endif #endif
video_info->cb_swap_buffers(video_info->context_data); video_info->cb_swap_buffers(context_data);
/* check if we are fast forwarding or in menu, if we are ignore hard sync */ /* check if we are fast forwarding or in menu, if we are ignore hard sync */
if ( gl->have_sync if ( gl->have_sync
&& video_info->hard_sync && hard_sync
&& !video_info->input_driver_nonblock_state && !input_driver_nonblock_state
&& !gl->menu_texture_enable) && !gl->menu_texture_enable)
{ {
glClear(GL_COLOR_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT);
gl2_renderchain_fence_iterate(gl, chain, gl2_renderchain_fence_iterate(gl, chain,
video_info->hard_sync_frames); hard_sync_frames);
} }
#ifndef HAVE_OPENGLES #ifndef HAVE_OPENGLES