wlroots-hyprland/backend/drm
Simon Ser 3c74bd0c91 backend/drm: introduce wlr_drm_connector_state
Previously, we were copying wlr_output_state on the stack and
patching it up to be guaranteed to have a proper drmModeModeInfo
stored in it (and not a custom mode). Also, we had a bunch of
helpers deriving DRM-specific information from the generic
wlr_output_state.

Copying the wlr_output_state worked fine so far, but with output
layers we'll be getting a wl_list in there. An empty wl_list stores
two pointers to itself, copying it on the stack blindly results in
infinite loops in wl_list_for_each.

To fix this, rework our DRM backend to stop copying wlr_output_state,
instead add a new struct wlr_drm_connector_state which holds both
the wlr_output_state and additional DRM-specific information.
2021-09-07 11:18:18 +02:00
..
atomic.c backend/drm: introduce wlr_drm_connector_state 2021-09-07 11:18:18 +02:00
backend.c backend/drm: introduce wlr_drm_bo_handle_table 2021-08-25 10:05:37 -04:00
bo_handle_table.c backend/drm: introduce wlr_drm_bo_handle_table 2021-08-25 10:05:37 -04:00
cvt.c backend/drm: add support for custom modes 2019-10-27 10:46:47 -04:00
drm.c backend/drm: introduce wlr_drm_connector_state 2021-09-07 11:18:18 +02:00
legacy.c backend/drm: introduce wlr_drm_connector_state 2021-09-07 11:18:18 +02:00
meson.build backend/drm: introduce wlr_drm_bo_handle_table 2021-08-25 10:05:37 -04:00
properties.c backend/drm: add support for FB_DAMAGE_CLIPS 2021-08-18 20:59:25 +02:00
renderer.c backend/drm: introduce wlr_drm_bo_handle_table 2021-08-25 10:05:37 -04:00
util.c backend/drm: introduce wlr_drm_bo_handle_table 2021-08-25 10:05:37 -04:00