diff --git a/runloop_data.c b/runloop_data.c index 16e0b4617c..639d024470 100644 --- a/runloop_data.c +++ b/runloop_data.c @@ -69,9 +69,6 @@ static void data_runloop_thread_deinit(void) slock_free(g_data_runloop.lock); slock_free(g_data_runloop.cond_lock); -#ifdef HAVE_OVERLAY - rarch_main_data_overlay_thread_uninit(); -#endif scond_free(g_data_runloop.cond); } } @@ -195,10 +192,6 @@ static void rarch_main_data_thread_init(void) g_data_runloop.cond_lock = slock_new(); g_data_runloop.cond = scond_new(); -#ifdef HAVE_OVERLAY - rarch_main_data_overlay_thread_init(); -#endif - g_data_runloop.thread = sthread_create(data_thread_loop, &g_data_runloop); if (!g_data_runloop.thread) @@ -249,16 +242,13 @@ void rarch_main_data_iterate(void) } #endif -#ifdef HAVE_OVERLAY - rarch_main_data_overlay_image_upload_iterate(false); -#endif #ifdef HAVE_RPNG #ifdef HAVE_MENU rarch_main_data_nbio_image_upload_iterate(false); #endif #endif #ifdef HAVE_OVERLAY - rarch_main_data_overlay_iterate (false); + rarch_main_data_overlay_iterate(); #endif #ifdef HAVE_MENU diff --git a/tasks/task_overlay.c b/tasks/task_overlay.c index d451a1de88..a664ae63fa 100644 --- a/tasks/task_overlay.c +++ b/tasks/task_overlay.c @@ -14,81 +14,34 @@ */ #include -#ifdef HAVE_THREADS -#include -#endif #include "tasks.h" #include "../input/input_overlay.h" -#ifdef HAVE_THREADS -static slock_t *overlay_lock; -#endif - -void rarch_main_data_overlay_image_upload_iterate(bool is_thread) +void rarch_main_data_overlay_iterate(void) { -#ifdef HAVE_THREADS - if (is_thread) - slock_lock(overlay_lock); -#endif - - switch (input_overlay_status()) + while (input_overlay_status() != OVERLAY_STATUS_NONE) { - case OVERLAY_STATUS_DEFERRED_LOADING: - input_overlay_load_overlays_iterate(); - break; - default: - break; + switch (input_overlay_status()) + { + case OVERLAY_STATUS_DEFERRED_LOADING: + input_overlay_load_overlays_iterate(); + break; + case OVERLAY_STATUS_DEFERRED_LOAD: + input_overlay_load_overlays(); + break; + case OVERLAY_STATUS_DEFERRED_LOADING_RESOLVE: + input_overlay_load_overlays_resolve_iterate(); + break; + case OVERLAY_STATUS_DEFERRED_DONE: + input_overlay_new_done(); + break; + case OVERLAY_STATUS_DEFERRED_ERROR: + input_overlay_free(); + break; + default: + case OVERLAY_STATUS_NONE: + break; + } } - -#ifdef HAVE_THREADS - if (is_thread) - slock_unlock(overlay_lock); -#endif -} - -void rarch_main_data_overlay_iterate(bool is_thread) -{ -#ifdef HAVE_THREADS - if (is_thread) - slock_lock(overlay_lock); -#endif - - switch (input_overlay_status()) - { - case OVERLAY_STATUS_DEFERRED_LOAD: - input_overlay_load_overlays(); - break; - case OVERLAY_STATUS_DEFERRED_LOADING_RESOLVE: - input_overlay_load_overlays_resolve_iterate(); - break; - case OVERLAY_STATUS_DEFERRED_DONE: - input_overlay_new_done(); - break; - case OVERLAY_STATUS_DEFERRED_ERROR: - input_overlay_free(); - break; - default: - case OVERLAY_STATUS_NONE: - break; - } - -#ifdef HAVE_THREADS - if (is_thread) - slock_unlock(overlay_lock); -#endif -} - -void rarch_main_data_overlay_thread_uninit(void) -{ -#ifdef HAVE_THREADS - slock_free(overlay_lock); -#endif -} - -void rarch_main_data_overlay_thread_init(void) -{ -#ifdef HAVE_THREADS - overlay_lock = slock_new(); -#endif } diff --git a/tasks/tasks.h b/tasks/tasks.h index d7ee335407..020d9c3cbc 100644 --- a/tasks/tasks.h +++ b/tasks/tasks.h @@ -90,13 +90,7 @@ bool rarch_main_data_db_is_active(void); #endif #ifdef HAVE_OVERLAY -void rarch_main_data_overlay_image_upload_iterate(bool is_thread); - -void rarch_main_data_overlay_iterate(bool is_thread); - -void rarch_main_data_overlay_thread_uninit(void); - -void rarch_main_data_overlay_thread_init(void); +void rarch_main_data_overlay_iterate(void); #endif void rarch_main_data_nbio_iterate(bool is_thread);