[Nouveau] [PATCH 6/6] drm/nouveau: Enable stereoscopic 3D output over HDMI
Alastair Bridgewater
alastair.bridgewater at gmail.com
Tue Jan 17 22:42:04 UTC 2017
This is a bit sketchy in terms of implementation, with some rough
edges, but for the most part IT WORKS.
That is to say, I get an obvious 3D output when using the
"testdisplay" program from intel-gpu-tools with the "-3" parameter
and outputting to a 3D-capable HDMI display.
Rough edges include: the criteria for when to enable 3D mode
selection, and the inconsistent support for setting InfoFrames on
HDMI outputs.
Signed-off-by: Alastair Bridgewater <alastair.bridgewater at gmail.com>
---
drivers/gpu/drm/nouveau/nouveau_connector.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index 947c200..11b4977 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -547,6 +547,16 @@ nouveau_connector_set_encoder(struct drm_connector *connector,
DRM_MODE_SUBCONNECTOR_DVID :
DRM_MODE_SUBCONNECTOR_DVIA);
}
+
+ if (nv_encoder->dcb->type == DCB_OUTPUT_TMDS) {
+ /* Can we just ask for the drm connector type? */
+ /*
+ * FIXME: Does this also kick in for DVI or DP->DVI
+ * connectors? It shouldn't.
+ */
+ /* FIXME: Should only allow when we can set InfoFrames */
+ connector->stereo_allowed = true;
+ }
}
static enum drm_connector_status
@@ -1044,6 +1054,9 @@ nouveau_connector_mode_valid(struct drm_connector *connector,
return MODE_BAD;
}
+ if ((mode->flags & DRM_MODE_FLAG_3D_MASK) == DRM_MODE_FLAG_3D_FRAME_PACKING)
+ clock *= 2;
+
if (clock < min_clock)
return MODE_CLOCK_LOW;
--
2.10.2
More information about the Nouveau
mailing list