aboutsummaryrefslogtreecommitdiff
path: root/backend/drm/renderer.c
diff options
context:
space:
mode:
Diffstat (limited to 'backend/drm/renderer.c')
-rw-r--r--backend/drm/renderer.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/backend/drm/renderer.c b/backend/drm/renderer.c
index f25ce247..a3bcc943 100644
--- a/backend/drm/renderer.c
+++ b/backend/drm/renderer.c
@@ -287,10 +287,13 @@ struct gbm_bo *copy_drm_surface_mgpu(struct wlr_drm_surface *dest,
bool init_drm_plane_surfaces(struct wlr_drm_plane *plane,
struct wlr_drm_backend *drm, int32_t width, uint32_t height,
- uint32_t format) {
+ uint32_t format, bool with_modifiers) {
+ struct wlr_drm_format_set *format_set =
+ with_modifiers ? &plane->formats : NULL;
+
if (!drm->parent) {
return init_drm_surface(&plane->surf, &drm->renderer, width, height,
- format, &plane->formats, GBM_BO_USE_SCANOUT);
+ format, format_set, GBM_BO_USE_SCANOUT);
}
if (!init_drm_surface(&plane->surf, &drm->parent->renderer,
@@ -299,7 +302,7 @@ bool init_drm_plane_surfaces(struct wlr_drm_plane *plane,
}
if (!init_drm_surface(&plane->mgpu_surf, &drm->renderer,
- width, height, format, &plane->formats, GBM_BO_USE_SCANOUT)) {
+ width, height, format, format_set, GBM_BO_USE_SCANOUT)) {
finish_drm_surface(&plane->surf);
return false;
}