xserver: Branch 'master' - 2 commits

Adam Jackson ajax at kemper.freedesktop.org
Mon Jan 8 21:37:27 UTC 2018


 glx/glxdri2.c                    |   29 +++--------------------------
 glx/glxdriswrast.c               |    3 ---
 hw/xfree86/modes/xf86EdidModes.c |   35 +++++++++++++++++++++++++++--------
 3 files changed, 30 insertions(+), 37 deletions(-)

New commits:
commit a09fbe6c82efc674fc3790c7ffad7df70866a7df
Author: Adam Jackson <ajax at redhat.com>
Date:   Wed Dec 13 11:44:38 2017 -0500

    glx: Stop printing messages about what GLX extensions we enable
    
    glxinfo already exists, use it.
    
    Signed-off-by: Adam Jackson <ajax at redhat.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Emil Velikov <emil.velikov at collabora.com>

diff --git a/glx/glxdri2.c b/glx/glxdri2.c
index 2e24b56e6..28d5a3a9c 100644
--- a/glx/glxdri2.c
+++ b/glx/glxdri2.c
@@ -827,10 +827,7 @@ initializeExtensions(__GLXscreen * screen)
     extensions = dri->core->getExtensions(dri->driScreen);
 
     __glXEnableExtension(screen->glx_enable_bits, "GLX_MESA_copy_sub_buffer");
-    LogMessage(X_INFO, "AIGLX: enabled GLX_MESA_copy_sub_buffer\n");
-
     __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_no_config_context");
-    LogMessage(X_INFO, "AIGLX: enabled GLX_EXT_no_config_context\n");
 
     if (dri->dri2->base.version >= 3) {
         __glXEnableExtension(screen->glx_enable_bits,
@@ -841,45 +838,27 @@ initializeExtensions(__GLXscreen * screen)
                              "GLX_EXT_create_context_es_profile");
         __glXEnableExtension(screen->glx_enable_bits,
                              "GLX_EXT_create_context_es2_profile");
-        LogMessage(X_INFO, "AIGLX: enabled GLX_ARB_create_context\n");
-        LogMessage(X_INFO, "AIGLX: enabled GLX_ARB_create_context_profile\n");
-        LogMessage(X_INFO,
-                   "AIGLX: enabled GLX_EXT_create_context_es{,2}_profile\n");
     }
 
     if (DRI2HasSwapControl(pScreen)) {
         __glXEnableExtension(screen->glx_enable_bits, "GLX_INTEL_swap_event");
         __glXEnableExtension(screen->glx_enable_bits, "GLX_SGI_swap_control");
-        LogMessage(X_INFO, "AIGLX: enabled GLX_INTEL_swap_event\n");
-        LogMessage(X_INFO, "AIGLX: enabled GLX_SGI_swap_control\n");
     }
 
     /* enable EXT_framebuffer_sRGB extension (even if there are no sRGB capable fbconfigs) */
-    {
-        __glXEnableExtension(screen->glx_enable_bits,
-                 "GLX_EXT_framebuffer_sRGB");
-        LogMessage(X_INFO, "AIGLX: enabled GLX_EXT_framebuffer_sRGB\n");
-    }
+    __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_framebuffer_sRGB");
 
     /* enable ARB_fbconfig_float extension (even if there are no float fbconfigs) */
-    {
-        __glXEnableExtension(screen->glx_enable_bits, "GLX_ARB_fbconfig_float");
-        LogMessage(X_INFO, "AIGLX: enabled GLX_ARB_fbconfig_float\n");
-    }
+    __glXEnableExtension(screen->glx_enable_bits, "GLX_ARB_fbconfig_float");
 
     /* enable EXT_fbconfig_packed_float (even if there are no packed float fbconfigs) */
-    {
-        __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_fbconfig_packed_float");
-        LogMessage(X_INFO, "AIGLX: enabled GLX_EXT_fbconfig_packed_float\n");
-    }
+    __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_fbconfig_packed_float");
 
     for (i = 0; extensions[i]; i++) {
         if (strcmp(extensions[i]->name, __DRI_TEX_BUFFER) == 0) {
             dri->texBuffer = (const __DRItexBufferExtension *) extensions[i];
             __glXEnableExtension(screen->glx_enable_bits,
                                  "GLX_EXT_texture_from_pixmap");
-            LogMessage(X_INFO,
-                       "AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects\n");
         }
 
         if (strcmp(extensions[i]->name, __DRI2_FLUSH) == 0 &&
@@ -891,8 +870,6 @@ initializeExtensions(__GLXscreen * screen)
             dri->dri2->base.version >= 3) {
             __glXEnableExtension(screen->glx_enable_bits,
                                  "GLX_ARB_create_context_robustness");
-            LogMessage(X_INFO,
-                       "AIGLX: enabled GLX_ARB_create_context_robustness\n");
         }
 
 #ifdef __DRI2_FLUSH_CONTROL
diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c
index adc97df93..caad9a1fe 100644
--- a/glx/glxdriswrast.c
+++ b/glx/glxdriswrast.c
@@ -351,10 +351,7 @@ initializeExtensions(__GLXscreen * screen)
     int i;
 
     __glXEnableExtension(screen->glx_enable_bits, "GLX_MESA_copy_sub_buffer");
-    LogMessage(X_INFO, "IGLX: enabled GLX_MESA_copy_sub_buffer\n");
-
     __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_no_config_context");
-    LogMessage(X_INFO, "IGLX: enabled GLX_EXT_no_config_context\n");
 
     if (dri->swrast->base.version >= 3) {
         __glXEnableExtension(screen->glx_enable_bits,
commit 4ed8d5c9463cbef0693d98eb9faf7f9c2222c383
Author: Adam Jackson <ajax at redhat.com>
Date:   Tue Nov 14 15:33:54 2017 -0500

    ddc: Port some paranoia from drm_edid.c
    
    Avoid adding a "standard" mode timing if we've already got a matching
    detailed timing. To help with that, parse CEA blocks for detailed
    timings before doing standard or established timings.
    
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xfree86/modes/xf86EdidModes.c b/hw/xfree86/modes/xf86EdidModes.c
index ff04eca03..5cb09d600 100644
--- a/hw/xfree86/modes/xf86EdidModes.c
+++ b/hw/xfree86/modes/xf86EdidModes.c
@@ -462,21 +462,38 @@ FindDMTMode(int hsize, int vsize, int refresh, Bool rb)
  * for modes in this section, but does say that CVT is preferred.
  */
 static DisplayModePtr
-DDCModesFromStandardTiming(struct std_timings *timing, ddc_quirk_t quirks,
+DDCModesFromStandardTiming(DisplayModePtr pool, struct std_timings *timing,
+                           ddc_quirk_t quirks,
                            int timing_level, Bool rb)
 {
     DisplayModePtr Modes = NULL, Mode = NULL;
     int i, hsize, vsize, refresh;
 
     for (i = 0; i < STD_TIMINGS; i++) {
+        DisplayModePtr p = NULL;
         hsize = timing[i].hsize;
         vsize = timing[i].vsize;
         refresh = timing[i].refresh;
 
-        /* HDTV hack, because you can't say 1366 */
+        /* HDTV hack, part one */
         if (refresh == 60 &&
             ((hsize == 1360 && vsize == 765) ||
              (hsize == 1368 && vsize == 769))) {
+            hsize = 1366;
+            vsize = 768;
+        }
+
+        /* If we already have a detailed timing for this size, don't add more */
+        for (p = pool; p; p = p->next) {
+            if (p->HDisplay == hsize && p->VDisplay == vsize &&
+                refresh == round(xf86ModeVRefresh(p)))
+                break;
+        }
+        if (p)
+            continue;
+
+        /* HDTV hack, because you can't say 1366 */
+        if (refresh == 60 && hsize == 1366 && vsize == 768) {
             Mode = xf86CVTMode(1366, 768, 60, FALSE, FALSE);
             Mode->HDisplay = 1366;
             Mode->HSyncStart--;
@@ -1013,7 +1030,8 @@ handle_detailed_modes(struct detailed_monitor_section *det_mon, void *data)
         p->Modes = xf86ModesAdd(p->Modes, Mode);
         break;
     case DS_STD_TIMINGS:
-        Mode = DDCModesFromStandardTiming(det_mon->section.std_t,
+        Mode = DDCModesFromStandardTiming(p->Modes,
+                                          det_mon->section.std_t,
                                           p->quirks, p->timing_level, p->rb);
         p->Modes = xf86ModesAdd(p->Modes, Mode);
         break;
@@ -1065,16 +1083,17 @@ xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC)
     xf86ForEachDetailedBlock(DDC, handle_detailed_modes, &p);
     Modes = p.Modes;
 
+    /* Add cea-extension mode timings */
+    Mode = DDCModesFromCEAExtension(scrnIndex, DDC);
+    Modes = xf86ModesAdd(Modes, Mode);
+
     /* Add established timings */
     Mode = DDCModesFromEstablished(scrnIndex, &DDC->timings1, quirks);
     Modes = xf86ModesAdd(Modes, Mode);
 
     /* Add standard timings */
-    Mode = DDCModesFromStandardTiming(DDC->timings2, quirks, timing_level, rb);
-    Modes = xf86ModesAdd(Modes, Mode);
-
-    /* Add cea-extension mode timings */
-    Mode = DDCModesFromCEAExtension(scrnIndex, DDC);
+    Mode = DDCModesFromStandardTiming(Modes, DDC->timings2, quirks,
+                                      timing_level, rb);
     Modes = xf86ModesAdd(Modes, Mode);
 
     if (quirks & DDC_QUIRK_PREFER_LARGE_60)


More information about the xorg-commit mailing list