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