소스 검색

wayland: Set the EGL swap timeout to one second from the current time

Set the timeout max to one second from the current time or presentation time will always be greater than the timeout and the application will run unthrottled.
Frank Praznik 3 년 전
부모
커밋
d5b5e524af
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      src/video/wayland/SDL_waylandopengles.c

+ 1 - 1
src/video/wayland/SDL_waylandopengles.c

@@ -125,7 +125,7 @@ int Wayland_GLES_SwapWindow(_THIS, SDL_Window *window)
         SDL_VideoData *videodata = _this->driverdata;
         struct wl_display *display = videodata->display;
         /* 1 sec, so we'll progress even if throttled to zero. */
-        const Uint64 max_wait = SDL_NS_PER_SECOND;
+        const Uint64 max_wait = SDL_GetTicksNS() + SDL_NS_PER_SECOND;
         while (SDL_AtomicGet(&data->swap_interval_ready) == 0) {
             Uint64 now;