From 75cb584e28af55fadd13c6cbf2ed8e38e92aa4dc Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Fri, 23 Jun 2017 09:19:15 +0200 Subject: [PATCH] wineandroid: Implement wglSwapIntervalEXT. Signed-off-by: Alexandre Julliard --- dlls/wineandroid.drv/opengl.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/dlls/wineandroid.drv/opengl.c b/dlls/wineandroid.drv/opengl.c index c3d4e57a35f..ec26000cbb2 100644 --- a/dlls/wineandroid.drv/opengl.c +++ b/dlls/wineandroid.drv/opengl.c @@ -97,6 +97,7 @@ static void *opengl_handle; static struct wgl_pixel_format *pixel_formats; static int nb_pixel_formats, nb_onscreen_formats; static EGLDisplay display; +static int swap_interval; static char wgl_extensions[4096]; static struct opengl_funcs egl_funcs; @@ -376,6 +377,39 @@ done: } /*********************************************************************** + * android_wglSwapIntervalEXT + */ +static BOOL android_wglSwapIntervalEXT( int interval ) +{ + BOOL ret = TRUE; + + TRACE("(%d)\n", interval); + + if (interval < 0) + { + SetLastError(ERROR_INVALID_DATA); + return FALSE; + } + + ret = p_eglSwapInterval( display, interval ); + + if (ret) + swap_interval = interval; + else + SetLastError( ERROR_DC_NOT_FOUND ); + + return ret; +} + +/*********************************************************************** + * android_wglGetSwapIntervalEXT + */ +static int android_wglGetSwapIntervalEXT(void) +{ + return swap_interval; +} + +/*********************************************************************** * android_wglSetPixelFormatWINE */ static BOOL android_wglSetPixelFormatWINE( HDC hdc, int format ) @@ -608,6 +642,10 @@ static void init_extensions(void) register_extension("WGL_EXT_extensions_string"); egl_funcs.ext.p_wglGetExtensionsStringEXT = android_wglGetExtensionsStringEXT; + register_extension("WGL_EXT_swap_control"); + egl_funcs.ext.p_wglSwapIntervalEXT = android_wglSwapIntervalEXT; + egl_funcs.ext.p_wglGetSwapIntervalEXT = android_wglGetSwapIntervalEXT; + register_extension("WGL_EXT_framebuffer_sRGB"); /* In WineD3D we need the ability to set the pixel format more than once (e.g. after a device reset). -- 2.11.4.GIT