Bug 1420170: Don't duplicate code for choosing a GLX context between ATI and WR. r?kats draft
authorEmilio Cobos Álvarez <emilio@crisal.io>
Thu, 23 Nov 2017 15:46:59 +0100
changeset 702654 0adf2619af305e0f5cf7d041938ff2bc749d595e
parent 702653 97fa6acf611ef2f338b54e4f9785954f4276e3d6
child 741547 85482bf78cf00beed9ee2ef4c6e8d58fdfcb711d
push id90571
push userbmo:emilio@crisal.io
push dateThu, 23 Nov 2017 15:02:48 +0000
reviewerskats
bugs1420170
milestone59.0a1
Bug 1420170: Don't duplicate code for choosing a GLX context between ATI and WR. r?kats MozReview-Commit-ID: DLvI8Zz7obD
gfx/gl/GLContextProviderGLX.cpp
--- 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;
 }