backend/drm: stop using GBM flags

gbm_bo_create_with_modifiers doesn't take GBM flags, so our
wlr_gbm_allocator interface doesn't either. We were still internally
using GBM flags in the DRM backend, leading to awkward back-and-forth
conversions.

The only flag passed to drm_plane_init_surface was GBM_BO_USE_LINEAR, so
turn that into a bool to make sure other flags can't be passed in.

Move the "force linear" logic out of init_drm_surface, because the
supplied wlr_drm_format should already contain that information.
This commit is contained in:
Simon Ser 2020-12-09 12:06:42 +01:00 committed by Ilia Bozhinov
parent 525fa6ada0
commit 93cd3a79b2
3 changed files with 27 additions and 24 deletions

View file

@ -61,7 +61,7 @@ struct gbm_bo *drm_fb_acquire(struct wlr_drm_fb *fb, struct wlr_drm_backend *drm
bool drm_plane_init_surface(struct wlr_drm_plane *plane,
struct wlr_drm_backend *drm, int32_t width, uint32_t height,
uint32_t format, uint32_t flags, bool with_modifiers);
uint32_t format, bool force_linear, bool with_modifiers);
void drm_plane_finish_surface(struct wlr_drm_plane *plane);
#endif