r5sdk/r5dev/gameui/imgui_system.h
Kawe Mazidjatari 6cf88dc16c Engine: render ImGui in main thread and fix many threading bugs
ImGui drawing code now takes place in the main thread, a snapshot of the render data is created in CMaterialSystem::SwapBuffers(), and is being rendered in the render thread right before SpinPresent().

The reason why this was necessary, is because ConVar::GetString() isn't thread safe if its not marked FCVAR_MATERIAL_SYSTEM_THREAD or FCVAR_ACCESSIBLE_FROM_THREADS, and we used it for the console suggestions window, which iterates over every ConVar, accessible from threads or not.
2024-04-05 18:17:12 +02:00

15 lines
302 B
C

#ifndef IMGUI_SYSTEM_H
#define IMGUI_SYSTEM_H
extern bool ImguiSystem_IsInitialized();
extern bool ImguiSystem_Init();
extern void ImguiSystem_Shutdown();
extern void ImguiSystem_SwapBuffers();
extern void ImguiSystem_SampleFrame();
extern void ImguiSystem_RenderFrame();
#endif // IMGUI_SYSTEM_H