mirror of
https://github.com/glfw/glfw.git
synced 2024-11-25 22:14:34 +00: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)
|
||||
{
|
||||
XRRScreenResources* sr;
|
||||
|
||||
if (!XRRQueryVersion(_glfw.x11.display,
|
||||
&_glfw.x11.randr.versionMajor,
|
||||
&_glfw.x11.randr.versionMinor))
|
||||
@ -490,6 +492,21 @@ static GLboolean initExtensions(void)
|
||||
{
|
||||
_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,
|
||||
@ -701,7 +718,6 @@ int _glfwPlatformInit(void)
|
||||
|
||||
_glfwInitTimer();
|
||||
_glfwInitJoysticks();
|
||||
_glfwInitGammaRamp();
|
||||
|
||||
return GL_TRUE;
|
||||
}
|
||||
|
@ -95,29 +95,6 @@ static GLFWvidmode vidmodeFromModeInfo(const XRRModeInfo* mi,
|
||||
////// 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
|
||||
//
|
||||
GLboolean _glfwSetVideoMode(_GLFWmonitor* monitor, const GLFWvidmode* desired)
|
||||
|
Loading…
Reference in New Issue
Block a user