aboutsummaryrefslogtreecommitdiff
path: root/include/backend
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2022-06-07 15:03:39 +0200
committerIsaac Freund <mail@isaacfreund.com>2022-06-19 16:55:36 +0000
commit1d581656c756fd17a6cf55474d32586f6769663f (patch)
tree61300f6bbaa3b7f93520e38ee16ec8cb5b1b0154 /include/backend
parent1f1c0275be21f02a430b3a9fd51bba9ba5be57d1 (diff)
backend/drm: set "max bpc" to the max
"max bpc" is a maximum value, the driver is free to choose a smaller value depending on the bandwidth available. Some faulty monitors misbehave with higher bpc values. We'll add a workaround if users get hit by these in practice. References: https://gitlab.freedesktop.org/wayland/weston/-/issues/612
Diffstat (limited to 'include/backend')
-rw-r--r--include/backend/drm/drm.h1
-rw-r--r--include/backend/drm/properties.h4
2 files changed, 5 insertions, 0 deletions
diff --git a/include/backend/drm/drm.h b/include/backend/drm/drm.h
index dbc47364..700ed654 100644
--- a/include/backend/drm/drm.h
+++ b/include/backend/drm/drm.h
@@ -119,6 +119,7 @@ struct wlr_drm_connector {
enum wlr_drm_connector_status status;
bool desired_enabled;
uint32_t id;
+ uint64_t max_bpc;
struct wlr_drm_lease *lease;
struct wlr_drm_crtc *crtc;
diff --git a/include/backend/drm/properties.h b/include/backend/drm/properties.h
index f6c6023a..b6ca14f1 100644
--- a/include/backend/drm/properties.h
+++ b/include/backend/drm/properties.h
@@ -21,6 +21,7 @@ union wlr_drm_connector_props {
uint32_t non_desktop;
uint32_t panel_orientation; // not guaranteed to exist
uint32_t content_type; // not guaranteed to exist
+ uint32_t max_bpc; // not guaranteed to exist
// atomic-modesetting only
@@ -76,4 +77,7 @@ bool get_drm_prop(int fd, uint32_t obj, uint32_t prop, uint64_t *ret);
void *get_drm_prop_blob(int fd, uint32_t obj, uint32_t prop, size_t *ret_len);
char *get_drm_prop_enum(int fd, uint32_t obj, uint32_t prop);
+bool introspect_drm_prop_range(int fd, uint32_t prop_id,
+ uint64_t *min, uint64_t *max);
+
#endif