framebuffer_dirty functions - remove these and set member variables

directly in rgui.c and retroarch.c
This commit is contained in:
twinaphex 2020-09-28 03:49:13 +02:00
parent f38eb84cc7
commit d44ab6facf
4 changed files with 13 additions and 36 deletions

View File

@ -1473,29 +1473,6 @@ void gfx_display_set_msg_force(bool state)
p_disp->msg_force = state;
}
/* Checks if the display framebuffer has its 'dirty flag' set. This
* means that the current contents of the framebuffer has changed
* and that it has to be rendered to the screen. */
bool gfx_display_get_framebuffer_dirty_flag(void)
{
gfx_display_t *p_disp = disp_get_ptr();
return p_disp->framebuf_dirty;
}
/* Set the display framebuffer's 'dirty flag'. */
void gfx_display_set_framebuffer_dirty_flag(void)
{
gfx_display_t *p_disp = disp_get_ptr();
p_disp->framebuf_dirty = true;
}
/* Unset the display framebufer's 'dirty flag'. */
void gfx_display_unset_framebuffer_dirty_flag(void)
{
gfx_display_t *p_disp = disp_get_ptr();
p_disp->framebuf_dirty = false;
}
void gfx_display_draw_keyboard(
void *userdata,
unsigned video_width,

View File

@ -266,9 +266,6 @@ void gfx_display_set_framebuffer_pitch(size_t pitch);
bool gfx_display_get_msg_force(void);
void gfx_display_set_msg_force(bool state);
bool gfx_display_get_framebuffer_dirty_flag(void);
void gfx_display_set_framebuffer_dirty_flag(void);
void gfx_display_unset_framebuffer_dirty_flag(void);
bool gfx_display_init_first_driver(bool video_is_threaded);
gfx_display_t *disp_get_ptr(void);

View File

@ -3501,9 +3501,9 @@ static void rgui_render(void *data,
}
if (rgui->bg_modified)
rgui->bg_modified = false;
rgui->bg_modified = false;
gfx_display_set_framebuffer_dirty_flag();
p_disp->framebuf_dirty = true;
gfx_animation_ctl(MENU_ANIMATION_CTL_CLEAR_ACTIVE, NULL);
rgui->force_redraw = false;
@ -4820,15 +4820,17 @@ static void rgui_set_texture(void)
size_t fb_pitch;
unsigned fb_width, fb_height;
settings_t *settings = config_get_ptr();
gfx_display_t *p_disp = disp_get_ptr();
unsigned internal_upscale_level = settings->uints.menu_rgui_internal_upscale_level;
if (!gfx_display_get_framebuffer_dirty_flag())
/* Framebuffer is dirty and needs to be updated? */
if (!p_disp->framebuf_dirty)
return;
gfx_display_get_fb_size(&fb_width, &fb_height,
&fb_pitch);
gfx_display_unset_framebuffer_dirty_flag();
p_disp->framebuf_dirty = false;
if (internal_upscale_level == RGUI_UPSCALE_NONE)
{
@ -5315,20 +5317,21 @@ static int rgui_environ(enum menu_environ_cb type,
void *data, void *userdata)
{
rgui_t *rgui = (rgui_t*)userdata;
gfx_display_t *p_disp = disp_get_ptr();
switch (type)
{
case MENU_ENVIRON_ENABLE_MOUSE_CURSOR:
if (!rgui)
return -1;
rgui->mouse_show = true;
gfx_display_set_framebuffer_dirty_flag();
rgui->mouse_show = true;
p_disp->framebuf_dirty = true;
break;
case MENU_ENVIRON_DISABLE_MOUSE_CURSOR:
if (!rgui)
return -1;
rgui->mouse_show = false;
gfx_display_unset_framebuffer_dirty_flag();
rgui->mouse_show = false;
p_disp->framebuf_dirty = false;
break;
case 0:
default:

View File

@ -15768,7 +15768,7 @@ static void command_event_reinit(struct rarch_state *p_rarch,
command_event(CMD_EVENT_GAME_FOCUS_TOGGLE, (void*)(intptr_t)-1);
#ifdef HAVE_MENU
gfx_display_set_framebuffer_dirty_flag();
p_rarch->dispgfx.framebuf_dirty = true;
if (video_fullscreen)
video_driver_hide_mouse();
if (p_rarch->menu_driver_alive && p_rarch->current_video->set_nonblock_state)
@ -39401,7 +39401,7 @@ static enum runloop_state runloop_check_state(
BIT64_SET(menu->state, MENU_STATE_RENDER_FRAMEBUFFER);
if (BIT64_GET(menu->state, MENU_STATE_RENDER_FRAMEBUFFER))
gfx_display_set_framebuffer_dirty_flag();
p_rarch->dispgfx.framebuf_dirty = true;
if (BIT64_GET(menu->state, MENU_STATE_RENDER_MESSAGEBOX)
&& !string_is_empty(menu->menu_state_msg))