Example #1
0
 public EglInterface(WindowingService ws)
 {
     // vsync is enabled by default in EGL
     _vsyncState = VSyncState.On;
     ws.InitializeOpenGl();
     _wwsd = (WaylandWindowingServiceData)ws.GetPlatformData();
     LoadMethods();
 }
Example #2
0
        public override bool SetVSyncImpl(VSyncState state)
        {
            if (state == VSyncState.Adaptive)
            {
                WindowingService.LogError("Adaptive VSync is not supported on EGL.");
                return(false);
            }

            var result = EGLSwapInterval(_wwsd.EGLDisplay, (int)state);

            if (result)
            {
                _vsyncState = state;
            }
            else
            {
                LogError("eglSwapInterval");
            }

            return(result);
        }
Example #3
0
 /// <summary>
 /// Set VSync state.
 /// </summary>
 public static bool SetVSync(VSyncState state) => _impl.SetVSyncImpl(state);
Example #4
0
 public abstract bool SetVSyncImpl(VSyncState state);
Example #5
0
 public override bool SetVSyncImpl(VSyncState state)
 {
     return(WglSwapIntervalEXT?.Invoke((int)state) ?? false);
 }