Procházet zdrojové kódy

egl: Default to a swap interval of 0.

This matches other platforms.

Also make sure Android explicitly sets vsync on restore, regardless of the
specific setting, to make sure it's consistent.

Fixes #14642.
Ryan C. Gordon před 2 měsíci
rodič
revize
db84b948f9
2 změnil soubory, kde provedl 3 přidání a 4 odebrání
  1. 2 0
      src/video/SDL_egl.c
  2. 1 4
      src/video/android/SDL_androidevents.c

+ 2 - 0
src/video/SDL_egl.c

@@ -1144,6 +1144,8 @@ SDL_GLContext SDL_EGL_CreateContext(SDL_VideoDevice *_this, EGLSurface egl_surfa
         }
     }
 
+    SDL_GL_SetSwapInterval(0);  // EGL tends to default to vsync=1. To make this consistent with the rest of SDL, we force it off at startup. Apps can explicitly enable it afterwards.
+
     return (SDL_GLContext)egl_context;
 }
 

+ 1 - 4
src/video/android/SDL_androidevents.c

@@ -50,10 +50,7 @@ static void android_egl_context_restore(SDL_Window *window)
         }
         data->backup_done = false;
 
-        if (data->has_swap_interval) {
-            SDL_GL_SetSwapInterval(data->swap_interval);
-        }
-
+        SDL_GL_SetSwapInterval(data->swap_interval);
     }
 }