diff --git a/include/GL/glfw3.h b/include/GL/glfw3.h index 7329a697..1e940174 100644 --- a/include/GL/glfw3.h +++ b/include/GL/glfw3.h @@ -500,44 +500,40 @@ extern "C" { * @see glfwWindowHint */ #define GLFW_STENCIL_BITS 0x00021005 -/*! @brief The monitor refresh rate. - * @see glfwWindowHint glfwGetWindowParam - */ -#define GLFW_REFRESH_RATE 0x00021006 /*! @brief The bit depth of the red component of the accumulation buffer. * @see glfwWindowHint */ -#define GLFW_ACCUM_RED_BITS 0x00021007 +#define GLFW_ACCUM_RED_BITS 0x00021006 /*! @brief The bit depth of the red component of the accumulation buffer. * @see glfwWindowHint */ -#define GLFW_ACCUM_GREEN_BITS 0x00021008 +#define GLFW_ACCUM_GREEN_BITS 0x00021007 /*! @brief The bit depth of the red component of the accumulation buffer. * @see glfwWindowHint */ -#define GLFW_ACCUM_BLUE_BITS 0x00021009 +#define GLFW_ACCUM_BLUE_BITS 0x00021008 /*! @brief The bit depth of the red component of the accumulation buffer. * @see glfwWindowHint */ -#define GLFW_ACCUM_ALPHA_BITS 0x0002100A +#define GLFW_ACCUM_ALPHA_BITS 0x00021009 /*! @brief The number of auxiliary buffers. * @see glfwWindowHint */ -#define GLFW_AUX_BUFFERS 0x0002100B +#define GLFW_AUX_BUFFERS 0x0002100A /*! @brief @c GL_TRUE for stereo rendering, or @c GL_FALSE otherwise. * @see glfwWindowHint */ -#define GLFW_STEREO 0x0002100C +#define GLFW_STEREO 0x0002100B /*! @brief The number of samples used for default framebuffer multisampling, or * zero to disable multisampling. * @see glfwWindowHint */ -#define GLFW_FSAA_SAMPLES 0x0002100E +#define GLFW_FSAA_SAMPLES 0x0002100C /*! @brief @c GL_TRUE if the framebuffer should be sRGB capable, or @c GL_FALSE * otherwise. * @see glfwWindowHint */ -#define GLFW_SRGB_CAPABLE 0x0002100F +#define GLFW_SRGB_CAPABLE 0x0002100D /*! @brief The @link clients client API @endlink to create a context for. * @see glfwWindowHint glfwGetWindowParam @@ -1146,11 +1142,6 @@ GLFWAPI void glfwDefaultWindowHints(void); * specify the desired bit depths of the various components of the default * framebuffer. * - * The @ref GLFW_REFRESH_RATE hint specifies the desired monitor refresh rate, - * in Hz, of the video mode for a fullscreen window, or zero to let the system - * choose a suitable refresh rate. If a windowed mode window is created, this - * hint is ignored. - * * The @ref GLFW_ACCUM_RED_BITS, @ref GLFW_ACCUM_GREEN_BITS, @ref * GLFW_ACCUM_BLUE_BITS and @ref GLFW_ACCUM_ALPHA_BITS hints specify the * desired bit depths of the various components of the accumulation buffer. @@ -1400,9 +1391,6 @@ GLFWAPI GLFWmonitor glfwGetWindowMonitor(GLFWwindow window); * The @ref GLFW_CLOSE_REQUESTED property indicates whether the window has been * requested by the user to close. * - * The @ref GLFW_REFRESH_RATE property will be replaced when the @c - * multi-monitor branch is merged. - * * The @ref GLFW_POSITION_X and @ref GLFW_POSITION_Y properties indicate the * screen position, in pixels, of the upper-left corner of the window's client * area. diff --git a/src/cocoa_monitor.m b/src/cocoa_monitor.m index 46fa11e2..d97a2ba4 100644 --- a/src/cocoa_monitor.m +++ b/src/cocoa_monitor.m @@ -139,13 +139,12 @@ static GLFWvidmode vidmodeFromCGDisplayMode(CGDisplayModeRef mode) // Change the current video mode //======================================================================== -GLboolean _glfwSetVideoMode(int* width, int* height, int* bpp, int* refreshRate) +GLboolean _glfwSetVideoMode(int* width, int* height, int* bpp) { CGDisplayModeRef bestMode = NULL; CFArrayRef modes; CFIndex count, i; unsigned int leastSizeDiff = UINT_MAX; - double leastRateDiff = DBL_MAX; modes = CGDisplayCopyAllDisplayModes(CGMainDisplayID(), NULL); count = CFArrayGetCount(modes); @@ -177,23 +176,11 @@ GLboolean _glfwSetVideoMode(int* width, int* height, int* bpp, int* refreshRate) ((modeWidth - *width) * (modeWidth - *width) + (modeHeight - *height) * (modeHeight - *height)); - double rateDiff; - - if (*refreshRate > 0) - rateDiff = fabs(CGDisplayModeGetRefreshRate(mode) - *refreshRate); - else - { - // If no refresh rate was specified, then they're all the same - rateDiff = 0; - } - - if ((sizeDiff < leastSizeDiff) || - (sizeDiff == leastSizeDiff && (rateDiff < leastRateDiff))) + if (sizeDiff < leastSizeDiff) { bestMode = mode; leastSizeDiff = sizeDiff; - leastRateDiff = rateDiff; } } diff --git a/src/cocoa_platform.h b/src/cocoa_platform.h index 10b65f3b..0cea8e18 100644 --- a/src/cocoa_platform.h +++ b/src/cocoa_platform.h @@ -114,7 +114,7 @@ void _glfwInitJoysticks(void); void _glfwTerminateJoysticks(void); // Fullscreen -GLboolean _glfwSetVideoMode(int* width, int* height, int* bpp, int* refreshRate); +GLboolean _glfwSetVideoMode(int* width, int* height, int* bpp); void _glfwRestoreVideoMode(void); // OpenGL support diff --git a/src/cocoa_window.m b/src/cocoa_window.m index d438ca8e..79a84e6e 100644 --- a/src/cocoa_window.m +++ b/src/cocoa_window.m @@ -772,13 +772,8 @@ int _glfwPlatformCreateWindow(_GLFWwindow* window, { int bpp = colorBits + fbconfig->alphaBits; - if (!_glfwSetVideoMode(&window->width, - &window->height, - &bpp, - &window->refreshRate)) - { + if (!_glfwSetVideoMode(&window->width, &window->height, &bpp)) return GL_FALSE; - } _glfwPlatformShowWindow(window); [[window->NS.object contentView] enterFullScreenMode:[NSScreen mainScreen] @@ -885,14 +880,6 @@ void _glfwPlatformHideWindow(_GLFWwindow* window) _glfwInputWindowVisibility(window, GL_FALSE); } -//======================================================================== -// Write back window parameters into GLFW window structure -//======================================================================== - -void _glfwPlatformRefreshWindowParams(_GLFWwindow* window) -{ -} - //======================================================================== // Poll for new window and input events diff --git a/src/internal.h b/src/internal.h index 047e1d69..9fa11643 100644 --- a/src/internal.h +++ b/src/internal.h @@ -91,7 +91,6 @@ struct _GLFWhints int alphaBits; int depthBits; int stencilBits; - int refreshRate; int accumRedBits; int accumGreenBits; int accumBlueBits; @@ -123,7 +122,6 @@ struct _GLFWhints struct _GLFWwndconfig { const char* title; - int refreshRate; GLboolean resizable; GLboolean visible; int positionX; @@ -182,7 +180,6 @@ struct _GLFWwindow int mode; // GLFW_WINDOWED or GLFW_FULLSCREEN GLboolean resizable; // GL_TRUE if user may resize this window GLboolean visible; // GL_TRUE if this window is visible - int refreshRate; // monitor refresh rate void* userPointer; _GLFWmonitor* monitor; @@ -341,7 +338,6 @@ void _glfwPlatformMakeContextCurrent(_GLFWwindow* window); _GLFWwindow* _glfwPlatformGetCurrentContext(void); void _glfwPlatformSwapBuffers(_GLFWwindow* window); void _glfwPlatformSwapInterval(int interval); -void _glfwPlatformRefreshWindowParams(_GLFWwindow* window); int _glfwPlatformExtensionSupported(const char* extension); GLFWglproc _glfwPlatformGetProcAddress(const char* procname); diff --git a/src/win32_monitor.c b/src/win32_monitor.c index 02b3a487..2a44ea7a 100644 --- a/src/win32_monitor.c +++ b/src/win32_monitor.c @@ -45,19 +45,18 @@ //======================================================================== -// Return closest video mode by dimensions, refresh rate and bits per pixel +// Return closest video mode by dimensions and bits per pixel //======================================================================== static GLboolean getClosestVideoMode(int* width, int* height, - int* bpp, int* refreshRate, - GLboolean exactBPP) + int* bpp, GLboolean exactBPP) { - int mode, bestWidth = 0, bestHeight = 0, bestBPP = 0, bestRate = 0; - unsigned int sizeDiff, rateDiff, leastSizeDiff, leastRateDiff; + int mode, bestWidth = 0, bestHeight = 0, bestBPP = 0; + unsigned int sizeDiff, leastSizeDiff; GLboolean foundMode = GL_FALSE; DEVMODE dm; - leastSizeDiff = leastRateDiff = UINT_MAX; + leastSizeDiff = UINT_MAX; for (mode = 0; ; mode++) { @@ -74,29 +73,15 @@ static GLboolean getClosestVideoMode(int* width, int* height, (dm.dmPelsHeight - *height) * (dm.dmPelsHeight - *height)); - if (*refreshRate > 0) - { - rateDiff = (dm.dmDisplayFrequency - *refreshRate) * - (dm.dmDisplayFrequency - *refreshRate); - } - else - { - // If no refresh rate was specified, then they're all the same - rateDiff = 0; - } + // We match BPP first, then screen area - // We match first BPP, then screen area and last refresh rate - - if ((sizeDiff < leastSizeDiff) || - (sizeDiff == leastSizeDiff && (rateDiff < leastRateDiff))) + if ((sizeDiff < leastSizeDiff) || (sizeDiff == leastSizeDiff)) { bestWidth = dm.dmPelsWidth; bestHeight = dm.dmPelsHeight; bestBPP = dm.dmBitsPerPel; - bestRate = dm.dmDisplayFrequency; leastSizeDiff = sizeDiff; - leastRateDiff = rateDiff; foundMode = GL_TRUE; } @@ -109,11 +94,6 @@ static GLboolean getClosestVideoMode(int* width, int* height, *height = bestHeight; *bpp = bestBPP; - // Only save the found refresh rate if the client requested a specific - // rate; otherwise keep it at zero to let Windows select the best rate - if (*refreshRate > 0) - *refreshRate = bestRate; - return GL_TRUE; } @@ -127,19 +107,17 @@ static GLboolean getClosestVideoMode(int* width, int* height, //======================================================================== void _glfwSetVideoMode(int* width, int* height, - int* bpp, int* refreshRate, - GLboolean exactBPP) + int* bpp, GLboolean exactBPP) { DEVMODE dm; - int closestWidth, closestHeight, closestBPP, closestRate; + int closestWidth, closestHeight, closestBPP; closestWidth = *width; closestHeight = *height; closestBPP = *bpp; - closestRate = *refreshRate; if (getClosestVideoMode(&closestWidth, &closestHeight, - &closestBPP, &closestRate, exactBPP)) + &closestBPP, exactBPP)) { dm.dmSize = sizeof(DEVMODE); dm.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL; @@ -147,18 +125,11 @@ void _glfwSetVideoMode(int* width, int* height, dm.dmPelsHeight = closestHeight; dm.dmBitsPerPel = closestBPP; - if (*refreshRate > 0) - { - dm.dmFields |= DM_DISPLAYFREQUENCY; - dm.dmDisplayFrequency = closestRate; - } - if (ChangeDisplaySettings(&dm, CDS_FULLSCREEN) == DISP_CHANGE_SUCCESSFUL) { - *width = closestWidth; - *height = closestHeight; - *bpp = closestBPP; - *refreshRate = closestRate; + *width = closestWidth; + *height = closestHeight; + *bpp = closestBPP; } } else @@ -166,10 +137,9 @@ void _glfwSetVideoMode(int* width, int* height, dm.dmSize = sizeof(DEVMODE); EnumDisplaySettings(NULL, ENUM_REGISTRY_SETTINGS, &dm); - *width = dm.dmPelsWidth; - *height = dm.dmPelsHeight; - *bpp = dm.dmBitsPerPel; - *refreshRate = dm.dmDisplayFrequency; + *width = dm.dmPelsWidth; + *height = dm.dmPelsHeight; + *bpp = dm.dmBitsPerPel; } } diff --git a/src/win32_platform.h b/src/win32_platform.h index 1487c7dd..68fdfeae 100644 --- a/src/win32_platform.h +++ b/src/win32_platform.h @@ -146,7 +146,6 @@ typedef struct _GLFWwindowWin32 DWORD dwExStyle; // --"-- // Various platform specific internal variables - int desiredRefreshRate; // Desired vertical monitor refresh rate GLboolean cursorCentered; GLboolean cursorInside; int oldCursorX, oldCursorY; @@ -169,7 +168,6 @@ typedef struct _GLFWlibraryWin32 int width; int height; int bitsPerPixel; - int refreshRate; } monitor; // Timer data @@ -227,9 +225,7 @@ int _glfwAnalyzeContext(const _GLFWwindow* window, const _GLFWfbconfig* fbconfig); // Fullscreen support -void _glfwSetVideoMode(int* width, int* height, - int* bpp, int* refreshRate, - GLboolean exactBPP); +void _glfwSetVideoMode(int* width, int* height, int* bpp, GLboolean exactBPP); void _glfwRestoreVideoMode(void); diff --git a/src/win32_window.c b/src/win32_window.c index 23f707ba..6975d3a2 100644 --- a/src/win32_window.c +++ b/src/win32_window.c @@ -377,7 +377,6 @@ static LRESULT CALLBACK windowProc(HWND hWnd, UINT uMsg, _glfwSetVideoMode(&_glfwLibrary.Win32.monitor.width, &_glfwLibrary.Win32.monitor.height, &_glfwLibrary.Win32.monitor.bitsPerPixel, - &_glfwLibrary.Win32.monitor.refreshRate, GL_TRUE); _glfwLibrary.Win32.monitor.modeChanged = GL_TRUE; @@ -868,8 +867,6 @@ int _glfwPlatformCreateWindow(_GLFWwindow* window, { int status; - window->Win32.desiredRefreshRate = wndconfig->refreshRate; - if (!_glfwLibrary.Win32.classAtom) { _glfwLibrary.Win32.classAtom = registerWindowClass(); @@ -885,13 +882,11 @@ int _glfwPlatformCreateWindow(_GLFWwindow* window, _glfwLibrary.Win32.monitor.width = window->width; _glfwLibrary.Win32.monitor.height = window->height; - _glfwLibrary.Win32.monitor.refreshRate = wndconfig->refreshRate; _glfwLibrary.Win32.monitor.bitsPerPixel = bpp; _glfwSetVideoMode(&_glfwLibrary.Win32.monitor.width, &_glfwLibrary.Win32.monitor.height, &_glfwLibrary.Win32.monitor.bitsPerPixel, - &_glfwLibrary.Win32.monitor.refreshRate, GL_FALSE); _glfwLibrary.Win32.monitor.modeChanged = GL_TRUE; @@ -1069,28 +1064,6 @@ void _glfwPlatformHideWindow(_GLFWwindow* window) } -//======================================================================== -// Write back window parameters into GLFW window structure -//======================================================================== - -void _glfwPlatformRefreshWindowParams(_GLFWwindow* window) -{ - DEVMODE dm; - - ZeroMemory(&dm, sizeof(DEVMODE)); - dm.dmSize = sizeof(DEVMODE); - - if (EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm)) - { - window->refreshRate = dm.dmDisplayFrequency; - if (window->refreshRate <= 1) - window->refreshRate = 0; - } - else - window->refreshRate = 0; -} - - //======================================================================== // Poll for new window and input events //======================================================================== diff --git a/src/window.c b/src/window.c index 5f7a9283..1fc83b59 100644 --- a/src/window.c +++ b/src/window.c @@ -241,21 +241,20 @@ GLFWAPI GLFWwindow glfwCreateWindow(int width, int height, fbconfig.sRGB = _glfwLibrary.hints.sRGB ? GL_TRUE : GL_FALSE; // Set up desired window config - wndconfig.title = title; - wndconfig.refreshRate = Max(_glfwLibrary.hints.refreshRate, 0); - wndconfig.resizable = _glfwLibrary.hints.resizable ? GL_TRUE : GL_FALSE; - wndconfig.visible = _glfwLibrary.hints.visible ? GL_TRUE : GL_FALSE; - wndconfig.positionX = _glfwLibrary.hints.positionX; - wndconfig.positionY = _glfwLibrary.hints.positionY; - wndconfig.clientAPI = _glfwLibrary.hints.clientAPI; - wndconfig.glMajor = _glfwLibrary.hints.glMajor; - wndconfig.glMinor = _glfwLibrary.hints.glMinor; - wndconfig.glForward = _glfwLibrary.hints.glForward ? GL_TRUE : GL_FALSE; - wndconfig.glDebug = _glfwLibrary.hints.glDebug ? GL_TRUE : GL_FALSE; - wndconfig.glProfile = _glfwLibrary.hints.glProfile; - wndconfig.glRobustness = _glfwLibrary.hints.glRobustness; - wndconfig.monitor = (_GLFWmonitor*) monitor; - wndconfig.share = (_GLFWwindow*) share; + wndconfig.title = title; + wndconfig.resizable = _glfwLibrary.hints.resizable ? GL_TRUE : GL_FALSE; + wndconfig.visible = _glfwLibrary.hints.visible ? GL_TRUE : GL_FALSE; + wndconfig.positionX = _glfwLibrary.hints.positionX; + wndconfig.positionY = _glfwLibrary.hints.positionY; + wndconfig.clientAPI = _glfwLibrary.hints.clientAPI; + wndconfig.glMajor = _glfwLibrary.hints.glMajor; + wndconfig.glMinor = _glfwLibrary.hints.glMinor; + wndconfig.glForward = _glfwLibrary.hints.glForward ? GL_TRUE : GL_FALSE; + wndconfig.glDebug = _glfwLibrary.hints.glDebug ? GL_TRUE : GL_FALSE; + wndconfig.glProfile = _glfwLibrary.hints.glProfile; + wndconfig.glRobustness = _glfwLibrary.hints.glRobustness; + wndconfig.monitor = (_GLFWmonitor*) monitor; + wndconfig.share = (_GLFWwindow*) share; // Check the OpenGL bits of the window config if (!_glfwIsValidContextConfig(&wndconfig)) @@ -295,9 +294,6 @@ GLFWAPI GLFWwindow glfwCreateWindow(int width, int height, return GL_FALSE; } - // Cache the actual (as opposed to requested) window parameters - _glfwPlatformRefreshWindowParams(window); - glfwMakeContextCurrent(window); // Cache the actual (as opposed to requested) context parameters @@ -404,9 +400,6 @@ GLFWAPI void glfwWindowHint(int target, int hint) case GLFW_STENCIL_BITS: _glfwLibrary.hints.stencilBits = hint; break; - case GLFW_REFRESH_RATE: - _glfwLibrary.hints.refreshRate = hint; - break; case GLFW_ACCUM_RED_BITS: _glfwLibrary.hints.accumRedBits = hint; break; @@ -593,13 +586,6 @@ GLFWAPI void glfwSetWindowSize(GLFWwindow handle, int width, int height) return; _glfwPlatformSetWindowSize(window, width, height); - - if (window->monitor) - { - // Refresh window parameters (may have changed due to changed video - // modes) - _glfwPlatformRefreshWindowParams(window); - } } @@ -642,9 +628,6 @@ GLFWAPI void glfwRestoreWindow(GLFWwindow handle) return; _glfwPlatformRestoreWindow(window); - - if (window->monitor) - _glfwPlatformRefreshWindowParams(window); } @@ -712,8 +695,6 @@ GLFWAPI int glfwGetWindowParam(GLFWwindow handle, int param) return window->iconified; case GLFW_CLOSE_REQUESTED: return window->closeRequested; - case GLFW_REFRESH_RATE: - return window->refreshRate; case GLFW_RESIZABLE: return window->resizable; case GLFW_VISIBLE: diff --git a/src/x11_monitor.c b/src/x11_monitor.c index 20b76e8f..ba502f63 100644 --- a/src/x11_monitor.c +++ b/src/x11_monitor.c @@ -43,7 +43,7 @@ // Finds the video mode closest in size to the specified desired size //======================================================================== -int _glfwGetClosestVideoMode(int* width, int* height, int* rate) +int _glfwGetClosestVideoMode(int* width, int* height) { int i, match, bestmatch; @@ -51,8 +51,6 @@ int _glfwGetClosestVideoMode(int* width, int* height, int* rate) { #if defined(_GLFW_HAS_XRANDR) int sizecount, bestsize; - int ratecount, bestrate; - short* ratelist; XRRScreenConfiguration* sc; XRRScreenSize* sizelist; @@ -81,26 +79,6 @@ int _glfwGetClosestVideoMode(int* width, int* height, int* rate) // Report width & height of best matching mode *width = sizelist[bestsize].width; *height = sizelist[bestsize].height; - - if (*rate > 0) - { - ratelist = XRRConfigRates(sc, bestsize, &ratecount); - - bestrate = -1; - bestmatch = INT_MAX; - for (i = 0; i < ratecount; i++) - { - match = abs(ratelist[i] - *rate); - if (match < bestmatch) - { - bestmatch = match; - bestrate = ratelist[i]; - } - } - - if (bestrate != -1) - *rate = bestrate; - } } XRRFreeScreenConfigInfo(sc); @@ -122,7 +100,7 @@ int _glfwGetClosestVideoMode(int* width, int* height, int* rate) // Change the current video mode //======================================================================== -void _glfwSetVideoModeMODE(int mode, int rate) +void _glfwSetVideoModeMODE(int mode) { if (_glfwLibrary.X11.RandR.available) { @@ -145,27 +123,12 @@ void _glfwSetVideoModeMODE(int mode, int rate) _glfwLibrary.X11.FS.modeChanged = GL_TRUE; } - if (rate > 0) - { - // Set desired configuration - XRRSetScreenConfigAndRate(_glfwLibrary.X11.display, - sc, - root, - mode, - RR_Rotate_0, - (short) rate, - CurrentTime); - } - else - { - // Set desired configuration - XRRSetScreenConfig(_glfwLibrary.X11.display, - sc, - root, - mode, - RR_Rotate_0, - CurrentTime); - } + XRRSetScreenConfig(_glfwLibrary.X11.display, + sc, + root, + mode, + RR_Rotate_0, + CurrentTime); XRRFreeScreenConfigInfo(sc); #endif /*_GLFW_HAS_XRANDR*/ @@ -177,15 +140,15 @@ void _glfwSetVideoModeMODE(int mode, int rate) // Change the current video mode //======================================================================== -void _glfwSetVideoMode(int* width, int* height, int* rate) +void _glfwSetVideoMode(int* width, int* height) { int bestmode; // Find a best match mode - bestmode = _glfwGetClosestVideoMode(width, height, rate); + bestmode = _glfwGetClosestVideoMode(width, height); // Change mode - _glfwSetVideoModeMODE(bestmode, *rate); + _glfwSetVideoModeMODE(bestmode); } diff --git a/src/x11_platform.h b/src/x11_platform.h index 6e94cd52..93663a71 100644 --- a/src/x11_platform.h +++ b/src/x11_platform.h @@ -252,9 +252,9 @@ int _glfwCreateContext(_GLFWwindow* window, void _glfwDestroyContext(_GLFWwindow* window); // Fullscreen support -int _glfwGetClosestVideoMode(int* width, int* height, int* rate); -void _glfwSetVideoModeMODE(int mode, int rate); -void _glfwSetVideoMode(int* width, int* height, int* rate); +int _glfwGetClosestVideoMode(int* width, int* height); +void _glfwSetVideoModeMODE(int mode); +void _glfwSetVideoMode(int* width, int* height); void _glfwRestoreVideoMode(void); // Joystick input diff --git a/src/x11_window.c b/src/x11_window.c index 54436d20..1e2c830c 100644 --- a/src/x11_window.c +++ b/src/x11_window.c @@ -339,8 +339,7 @@ static void enterFullscreenMode(_GLFWwindow* window) _glfwLibrary.X11.saver.changed = GL_TRUE; } - _glfwSetVideoMode(&window->width, &window->height, - &window->refreshRate); + _glfwSetVideoMode(&window->width, &window->height); if (_glfwLibrary.X11.hasEWMH && _glfwLibrary.X11.wmState != None && @@ -855,8 +854,6 @@ int _glfwPlatformCreateWindow(_GLFWwindow* window, const _GLFWwndconfig* wndconfig, const _GLFWfbconfig* fbconfig) { - window->refreshRate = wndconfig->refreshRate; - if (!_glfwCreateContext(window, wndconfig, fbconfig)) return GL_FALSE; @@ -977,14 +974,12 @@ void _glfwPlatformSetWindowTitle(_GLFWwindow* window, const char* title) void _glfwPlatformSetWindowSize(_GLFWwindow* window, int width, int height) { - int mode = 0, rate, sizeChanged = GL_FALSE; - - rate = window->refreshRate; + int mode = 0, sizeChanged = GL_FALSE; if (window->monitor) { // Get the closest matching video mode for the specified window size - mode = _glfwGetClosestVideoMode(&width, &height, &rate); + mode = _glfwGetClosestVideoMode(&width, &height); } if (!window->resizable) @@ -1012,8 +1007,7 @@ void _glfwPlatformSetWindowSize(_GLFWwindow* window, int width, int height) sizeChanged = GL_TRUE; } - // Change video mode, keeping current refresh rate - _glfwSetVideoModeMODE(mode, window->refreshRate); + _glfwSetVideoModeMODE(mode); } // Set window size (if not already changed) @@ -1089,31 +1083,6 @@ void _glfwPlatformHideWindow(_GLFWwindow* window) } -//======================================================================== -// Read back framebuffer parameters from the context -//======================================================================== - -void _glfwPlatformRefreshWindowParams(_GLFWwindow* window) -{ - // Retrieve refresh rate if possible - if (_glfwLibrary.X11.RandR.available) - { -#if defined(_GLFW_HAS_XRANDR) - XRRScreenConfiguration* sc; - - sc = XRRGetScreenInfo(_glfwLibrary.X11.display, _glfwLibrary.X11.root); - window->refreshRate = XRRConfigCurrentRate(sc); - XRRFreeScreenConfigInfo(sc); -#endif /*_GLFW_HAS_XRANDR*/ - } - else - { - // Zero means unknown according to the GLFW spec - window->refreshRate = 0; - } -} - - //======================================================================== // Poll for new window and input events //======================================================================== diff --git a/tests/defaults.c b/tests/defaults.c index 5477d8ba..6fed80e0 100644 --- a/tests/defaults.c +++ b/tests/defaults.c @@ -63,7 +63,6 @@ static ParamGL gl_params[] = static ParamGLFW glfw_params[] = { - { GLFW_REFRESH_RATE, "refresh rate" }, { GLFW_CONTEXT_VERSION_MAJOR, "Context version major" }, { GLFW_CONTEXT_VERSION_MINOR, "Context version minor" }, { GLFW_OPENGL_FORWARD_COMPAT, "OpenGL forward compatible" },