Path: blob/21.2-virgl/src/gallium/frontends/wgl/stw_ext_swapinterval.c
4561 views
/**************************************************************************1*2* Copyright 2009 VMware, Inc.3* Copyright 2008 VMware, Inc.4* All Rights Reserved.5*6* Permission is hereby granted, free of charge, to any person obtaining a7* copy of this software and associated documentation files (the8* "Software"), to deal in the Software without restriction, including9* without limitation the rights to use, copy, modify, merge, publish,10* distribute, sub license, and/or sell copies of the Software, and to11* permit persons to whom the Software is furnished to do so, subject to12* the following conditions:13*14* The above copyright notice and this permission notice (including the15* next paragraph) shall be included in all copies or substantial portions16* of the Software.17*18* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS19* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF20* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.21* IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR22* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,23* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE24* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.25*26**************************************************************************/2728#include <windows.h>2930#define WGL_WGLEXT_PROTOTYPES3132#include <GL/gl.h>33#include <GL/wglext.h>34#include "util/u_debug.h"35#include "stw_device.h"363738/**39* Note that our implementation of swap intervals is a bit of a hack.40* We implement it based on querying the time and Sleep()'ing. We don't41* sync to the vblank.42*/43WINGDIAPI BOOL APIENTRY44wglSwapIntervalEXT(int interval)45{46if (interval < 0) {47SetLastError(ERROR_INVALID_DATA);48return FALSE;49}50if (stw_dev && !os_get_option("WGL_SWAP_INTERVAL")) {51stw_dev->swap_interval = interval;52}53return TRUE;54}555657WINGDIAPI int APIENTRY58wglGetSwapIntervalEXT(void)59{60return stw_dev ? stw_dev->swap_interval : 0;61}626364