mirror of
https://github.com/gwm17/glfw.git
synced 2025-01-31 03:18:50 -05:00
Moved RandR gamma probe to init.
This commit is contained in:
parent
59d1aa52f2
commit
a5281df501
|
@ -475,6 +475,8 @@ static GLboolean initExtensions(void)
|
||||||
|
|
||||||
if (_glfw.x11.randr.available)
|
if (_glfw.x11.randr.available)
|
||||||
{
|
{
|
||||||
|
XRRScreenResources* sr;
|
||||||
|
|
||||||
if (!XRRQueryVersion(_glfw.x11.display,
|
if (!XRRQueryVersion(_glfw.x11.display,
|
||||||
&_glfw.x11.randr.versionMajor,
|
&_glfw.x11.randr.versionMajor,
|
||||||
&_glfw.x11.randr.versionMinor))
|
&_glfw.x11.randr.versionMinor))
|
||||||
|
@ -490,6 +492,21 @@ static GLboolean initExtensions(void)
|
||||||
{
|
{
|
||||||
_glfw.x11.randr.available = GL_FALSE;
|
_glfw.x11.randr.available = GL_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sr = XRRGetScreenResources(_glfw.x11.display, _glfw.x11.root);
|
||||||
|
|
||||||
|
if (!sr->ncrtc || !XRRGetCrtcGammaSize(_glfw.x11.display, sr->crtcs[0]))
|
||||||
|
{
|
||||||
|
// This is either a headless system or an older Nvidia binary driver
|
||||||
|
// with broken gamma support
|
||||||
|
// Flag it as useless and fall back to Xf86VidMode gamma, if
|
||||||
|
// available
|
||||||
|
_glfwInputError(GLFW_PLATFORM_ERROR,
|
||||||
|
"X11: RandR gamma ramp support seems broken");
|
||||||
|
_glfw.x11.randr.gammaBroken = GL_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
XRRFreeScreenResources(sr);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (XQueryExtension(_glfw.x11.display,
|
if (XQueryExtension(_glfw.x11.display,
|
||||||
|
@ -701,7 +718,6 @@ int _glfwPlatformInit(void)
|
||||||
|
|
||||||
_glfwInitTimer();
|
_glfwInitTimer();
|
||||||
_glfwInitJoysticks();
|
_glfwInitJoysticks();
|
||||||
_glfwInitGammaRamp();
|
|
||||||
|
|
||||||
return GL_TRUE;
|
return GL_TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,29 +95,6 @@ static GLFWvidmode vidmodeFromModeInfo(const XRRModeInfo* mi,
|
||||||
////// GLFW internal API //////
|
////// GLFW internal API //////
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// Detect gamma ramp support
|
|
||||||
//
|
|
||||||
void _glfwInitGammaRamp(void)
|
|
||||||
{
|
|
||||||
if (_glfw.x11.randr.available)
|
|
||||||
{
|
|
||||||
XRRScreenResources* sr = XRRGetScreenResources(_glfw.x11.display,
|
|
||||||
_glfw.x11.root);
|
|
||||||
|
|
||||||
if (!sr->ncrtc || !XRRGetCrtcGammaSize(_glfw.x11.display, sr->crtcs[0]))
|
|
||||||
{
|
|
||||||
// This is either a headless system or an older Nvidia binary driver
|
|
||||||
// with broken gamma support
|
|
||||||
// Flag it as useless and fall back to Xf86VidMode, if available
|
|
||||||
_glfwInputError(GLFW_PLATFORM_ERROR,
|
|
||||||
"X11: RandR gamma ramp support seems broken");
|
|
||||||
_glfw.x11.randr.gammaBroken = GL_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
XRRFreeScreenResources(sr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the current video mode for the specified monitor
|
// Set the current video mode for the specified monitor
|
||||||
//
|
//
|
||||||
GLboolean _glfwSetVideoMode(_GLFWmonitor* monitor, const GLFWvidmode* desired)
|
GLboolean _glfwSetVideoMode(_GLFWmonitor* monitor, const GLFWvidmode* desired)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user