Workaround for broken VSync in Simulate on macOS.

OpenGL VSync became broken again in macOS 13 (https://github.com/glfw/glfw/issues/2249). This workaround is similar to https://github.com/glfw/glfw/pull/2277 but is implemented entirely outside of GLFW.

PiperOrigin-RevId: 516320722
Change-Id: Ib8a651a942f592c74e00ad3c7b22f2dfd156be5f
This commit is contained in:
Saran Tunyasuvunakool
2023-03-13 14:18:37 -07:00
committed by Copybara-Service
parent 3abf2ae2cd
commit 2f0fb1e4ef
9 changed files with 195 additions and 0 deletions
+3
View File
@@ -1950,6 +1950,9 @@ void Simulate::renderloop() {
uiModify(&this->ui0, &this->uistate, &this->platform_ui->mjr_context());
uiModify(&this->ui1, &this->uistate, &this->platform_ui->mjr_context());
// set VSync to initial value
this->platform_ui->SetVSync(this->vsync);
// run event loop
while (!this->platform_ui->ShouldCloseWindow() && !this->exitrequest.load()) {
{