backend/drm: unconditionally set "content type" to graphics

CTA-861-G says that "graphics" is used to indicate non-analog (ie,
digital) content. With that bit set, the sink should turn off analog
reconstruction and other related filtering.
This commit is contained in:
Simon Ser 2022-06-03 16:02:40 +02:00 committed by Isaac Freund
parent bd7b42eb9f
commit 1b27d537d1
3 changed files with 6 additions and 0 deletions

View file

@ -280,6 +280,10 @@ static bool atomic_crtc_commit(struct wlr_drm_connector *conn,
atomic_add(&atom, conn->id, conn->props.link_status, atomic_add(&atom, conn->id, conn->props.link_status,
DRM_MODE_LINK_STATUS_GOOD); DRM_MODE_LINK_STATUS_GOOD);
} }
if (active && conn->props.content_type != 0) {
atomic_add(&atom, conn->id, conn->props.content_type,
DRM_MODE_CONTENT_TYPE_GRAPHICS);
}
atomic_add(&atom, crtc->id, crtc->props.mode_id, mode_id); atomic_add(&atom, crtc->id, crtc->props.mode_id, mode_id);
atomic_add(&atom, crtc->id, crtc->props.active, active); atomic_add(&atom, crtc->id, crtc->props.active, active);
if (active) { if (active) {

View file

@ -24,6 +24,7 @@ static const struct prop_info connector_info[] = {
{ "DPMS", INDEX(dpms) }, { "DPMS", INDEX(dpms) },
{ "EDID", INDEX(edid) }, { "EDID", INDEX(edid) },
{ "PATH", INDEX(path) }, { "PATH", INDEX(path) },
{ "content type", INDEX(content_type) },
{ "link-status", INDEX(link_status) }, { "link-status", INDEX(link_status) },
{ "non-desktop", INDEX(non_desktop) }, { "non-desktop", INDEX(non_desktop) },
{ "panel orientation", INDEX(panel_orientation) }, { "panel orientation", INDEX(panel_orientation) },

View file

@ -20,6 +20,7 @@ union wlr_drm_connector_props {
uint32_t subconnector; // not guaranteed to exist uint32_t subconnector; // not guaranteed to exist
uint32_t non_desktop; uint32_t non_desktop;
uint32_t panel_orientation; // not guaranteed to exist uint32_t panel_orientation; // not guaranteed to exist
uint32_t content_type; // not guaranteed to exist
// atomic-modesetting only // atomic-modesetting only