Attached is the difference between kernel 4.7 and 4.8 in the Intel graphics driver. It's still a big diff, but at least eliminates my above theories about the cause of the regression. Now the main suspect, I think, would be:
@@ -12095,21 +12181,11 @@ connected_sink_compute_bpp(struct intel_connector *connector, pipe_config->pipe_bpp = connector->base.display_info.bpc*3; }
- /* Clamp bpp to default limit on screens without EDID 1.4 */ - if (connector->base.display_info.bpc == 0) { - int type = connector->base.connector_type; - int clamp_bpp = 24; - - /* Fall back to 18 bpp when DP sink capability is unknown. */ - if (type == DRM_MODE_CONNECTOR_DisplayPort || - type == DRM_MODE_CONNECTOR_eDP) - clamp_bpp = 18; - - if (bpp > clamp_bpp) { - DRM_DEBUG_KMS("clamping display bpp (was %d) to default limit of %d\n", - bpp, clamp_bpp); - pipe_config->pipe_bpp = clamp_bpp; - } + /* Clamp bpp to 8 on screens without EDID 1.4 */ + if (connector->base.display_info.bpc == 0 && bpp > 24) { + DRM_DEBUG_KMS("clamping display bpp (was %d) to default limit of 24\n", + bpp); + pipe_config->pipe_bpp = 24; } }
Attached is the difference between kernel 4.7 and 4.8 in the Intel graphics driver. It's still a big diff, but at least eliminates my above theories about the cause of the regression. Now the main suspect, I think, would be:
@@ -12095,21 +12181,11 @@ connected_ sink_compute_ bpp(struct intel_connector *connector,
pipe_ config- >pipe_bpp = connector- >base.display_ info.bpc* 3;
}
- /* Clamp bpp to default limit on screens without EDID 1.4 */ >base.display_ info.bpc == 0) { >base.connector _type; CONNECTOR_ DisplayPort || CONNECTOR_ eDP) KMS("clamping display bpp (was %d) to default limit of %d\n", >pipe_bpp = clamp_bpp; >base.display_ info.bpc == 0 && bpp > 24) { KMS("clamping display bpp (was %d) to default limit of 24\n", >pipe_bpp = 24;
- if (connector-
- int type = connector-
- int clamp_bpp = 24;
-
- /* Fall back to 18 bpp when DP sink capability is unknown. */
- if (type == DRM_MODE_
- type == DRM_MODE_
- clamp_bpp = 18;
-
- if (bpp > clamp_bpp) {
- DRM_DEBUG_
- bpp, clamp_bpp);
- pipe_config-
- }
+ /* Clamp bpp to 8 on screens without EDID 1.4 */
+ if (connector-
+ DRM_DEBUG_
+ bpp);
+ pipe_config-
}
}