You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.
Right now we have a single DRM backend using both the legacy API and the atomic API. Both are abstracted behind wlr_drm_interface, which mostly mimicks the legacy API. However, using the atomic API in the backend doesn't provide any benefit and costs us an interface and two different implementations.
To really take advantage of the atomic API, we need to either add a new atomic backend or completely rework wlr_drm_interface. I'm not sure it's a good idea to go down the wlr_drm_interface route, because a whole lot of logic will diverge between legacy and atomic, and a lot of features will be atomic-only.
Also note that the kernel automatically adds legacy support to atomic drivers. So it's not like we'd support less hardware by using only the legacy API.
The text was updated successfully, but these errors were encountered:
I'll agree that wlr_drm_interface is crap, and is just atomic bolted on top of legacy. Most of the functions in it can be chucked out, and basically become test_state (no-op on legacy) and apply_state, instead of throwing atomic out altogether.
I actually started some work doing this, but lost motivation. I really should pick that back up.
Most of the functions in it can be chucked out, and basically become test_state (no-op on legacy) and apply_state, instead of throwing atomic out altogether.
That would be the "rework wlr_drm_interface" route. I'd be interested to see how that plays out, especially when we start adding more atomic-only features.
I really should pick that back up.
Please do :)
emersion
changed the title
backend/drm: remove atomic support
backend/drm: remove/rework atomic support
Apr 2, 2020
emersion
changed the title
backend/drm: remove/rework atomic support
backend/drm: rework atomic support
May 18, 2020
This one is probably going to be controversial.
Right now we have a single DRM backend using both the legacy API and the atomic API. Both are abstracted behind
wlr_drm_interface
, which mostly mimicks the legacy API. However, using the atomic API in the backend doesn't provide any benefit and costs us an interface and two different implementations.To really take advantage of the atomic API, we need to either add a new atomic backend or completely rework
wlr_drm_interface
. I'm not sure it's a good idea to go down thewlr_drm_interface
route, because a whole lot of logic will diverge between legacy and atomic, and a lot of features will be atomic-only.Also note that the kernel automatically adds legacy support to atomic drivers. So it's not like we'd support less hardware by using only the legacy API.
The text was updated successfully, but these errors were encountered: