mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-04-20 22:57:46 +00:00
overlay: move init/free to the context of the render thread
This is done to allow overlays to make use of the renderer during init/free.
This commit is contained in:
@@ -201,6 +201,8 @@ static int renderThread(void * unused)
|
||||
|
||||
LG_LOCK_INIT(g_state.lgrLock);
|
||||
|
||||
app_initOverlays();
|
||||
|
||||
/* signal to other threads that the renderer is ready */
|
||||
lgSignalEvent(e_startup);
|
||||
|
||||
@@ -322,6 +324,13 @@ static int renderThread(void * unused)
|
||||
|
||||
g_state.state = APP_STATE_SHUTDOWN;
|
||||
|
||||
if (g_state.overlays)
|
||||
{
|
||||
app_freeOverlays();
|
||||
ll_free(g_state.overlays);
|
||||
g_state.overlays = NULL;
|
||||
}
|
||||
|
||||
lgTimerDestroy(tickTimer);
|
||||
lgTimerDestroy(fpsTimer);
|
||||
|
||||
@@ -1125,8 +1134,6 @@ static int lg_run(void)
|
||||
ImFontGlyphRangesBuilder_BuildRanges(rangeBuilder, &g_state.fontRange);
|
||||
ImFontGlyphRangesBuilder_destroy(rangeBuilder);
|
||||
|
||||
app_initOverlays();
|
||||
|
||||
// initialize metrics ringbuffers
|
||||
g_state.renderTimings = ringbuffer_new(256, sizeof(float));
|
||||
g_state.uploadTimings = ringbuffer_new(256, sizeof(float));
|
||||
@@ -1666,13 +1673,6 @@ static void lg_shutdown(void)
|
||||
if (g_state.dsInitialized)
|
||||
g_state.ds->free();
|
||||
|
||||
if (g_state.overlays)
|
||||
{
|
||||
app_freeOverlays();
|
||||
ll_free(g_state.overlays);
|
||||
g_state.overlays = NULL;
|
||||
}
|
||||
|
||||
ivshmemClose(&g_state.shm);
|
||||
|
||||
renderQueue_free();
|
||||
|
||||
Reference in New Issue
Block a user