OSDN Git Service

st/wgl: check if WGL_SWAP_INTERVAL is defined in wglSwapIntervalEXT()
authorBrian Paul <brianp@vmware.com>
Fri, 30 Mar 2018 20:44:50 +0000 (14:44 -0600)
committerBrian Paul <brianp@vmware.com>
Fri, 30 Mar 2018 20:44:50 +0000 (14:44 -0600)
This allows the WGL_SWAP_INTERVAL env var to override any application
calls to wglSwapIntervalEXT().  Useful for debugging, or to set the
interval to zero to effectively disable the swap interval.

Note: we also rename the previous instance of SVGA_SWAP_INTERVAL to
WGL_SWAP_INTERVAL since this is a WGL feature and not related to the
svga driver.

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
src/gallium/state_trackers/wgl/stw_device.c
src/gallium/state_trackers/wgl/stw_ext_swapinterval.c

index b88e110..e43f12f 100644 (file)
@@ -135,7 +135,7 @@ stw_init(const struct stw_winsys *stw_winsys)
    stw_pixelformat_init();
 
    /* env var override for WGL_EXT_swap_control, useful for testing/debugging */
-   const char *s = os_get_option("SVGA_SWAP_INTERVAL");
+   const char *s = os_get_option("WGL_SWAP_INTERVAL");
    if (s) {
       stw_dev->swap_interval = atoi(s);
    }
index b2074a7..3b913e7 100644 (file)
@@ -48,7 +48,7 @@ wglSwapIntervalEXT(int interval)
       SetLastError(ERROR_INVALID_DATA);
       return FALSE;
    }
-   if (stw_dev) {
+   if (stw_dev && !os_get_option("WGL_SWAP_INTERVAL")) {
       stw_dev->swap_interval = interval;
    }
    return TRUE;