Bug 1420170: Don't duplicate code for choosing a GLX context between ATI and WR. r?kats
MozReview-Commit-ID: DLvI8Zz7obD
--- a/gfx/gl/GLContextProviderGLX.cpp
+++ b/gfx/gl/GLContextProviderGLX.cpp
@@ -932,57 +932,37 @@ GLContextGLX::FindFBConfigForWindow(Disp
NS_WARNING("[GLX] XGetWindowAttributes() failed");
return false;
}
const VisualID windowVisualID = XVisualIDFromVisual(windowAttrs.visual);
#ifdef DEBUG
printf("[GLX] window %lx has VisualID 0x%lx\n", window, windowVisualID);
#endif
- if (aWebRender) {
- for (int i = 0; i < numConfigs; i++) {
- int visid = X11None;
- sGLXLibrary.fGetFBConfigAttrib(display, cfgs[i], LOCAL_GLX_VISUAL_ID, &visid);
- if (!visid) {
- continue;
- }
-
+ for (int i = 0; i < numConfigs; i++) {
+ int visid = X11None;
+ sGLXLibrary.fGetFBConfigAttrib(display, cfgs[i], LOCAL_GLX_VISUAL_ID, &visid);
+ if (!visid) {
+ continue;
+ }
+ if (aWebRender || sGLXLibrary.IsATI()) {
int depth;
Visual* visual;
FindVisualAndDepth(display, visid, &visual, &depth);
if (depth == windowAttrs.depth &&
AreCompatibleVisuals(windowAttrs.visual, visual)) {
*out_config = cfgs[i];
*out_visid = visid;
return true;
}
- }
- } else {
- for (int i = 0; i < numConfigs; i++) {
- int visid = X11None;
- sGLXLibrary.fGetFBConfigAttrib(display, cfgs[i], LOCAL_GLX_VISUAL_ID, &visid);
- if (!visid) {
- continue;
- }
- if (sGLXLibrary.IsATI()) {
- int depth;
- Visual* visual;
- FindVisualAndDepth(display, visid, &visual, &depth);
- if (depth == windowAttrs.depth &&
- AreCompatibleVisuals(windowAttrs.visual, visual)) {
- *out_config = cfgs[i];
- *out_visid = visid;
- return true;
- }
- } else {
- if (windowVisualID == static_cast<VisualID>(visid)) {
- *out_config = cfgs[i];
- *out_visid = visid;
- return true;
- }
+ } else {
+ if (windowVisualID == static_cast<VisualID>(visid)) {
+ *out_config = cfgs[i];
+ *out_visid = visid;
+ return true;
}
}
}
NS_WARNING("[GLX] Couldn't find a FBConfig matching window visual");
return false;
}