aboutsummaryrefslogtreecommitdiff
path: root/backend/drm
diff options
context:
space:
mode:
authorMariusz Bialonczyk <manio@skyboo.net>2018-08-02 13:37:23 +0200
committerMariusz Bialonczyk <manio@skyboo.net>2018-08-03 07:43:22 +0200
commit15dacebc36ffa137aefafcfbe723c7b35af5cc2b (patch)
treee6d3646ef45bccb29ae99af34a5446e1a8233594 /backend/drm
parenteb9c9d8852bf3b82d78418796c73142054ffab99 (diff)
multi-backend: do not expose internal renderers
backend_get_renderer() is now returning the renderer of the primary GPU, instead of its own renderer, since that's the thing which actually does all of the "real" rendering wlr_multi_backend_add() is now adding all subbackends (otherwise only one GPU is handled). credits: @ascent12
Diffstat (limited to 'backend/drm')
-rw-r--r--backend/drm/backend.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/backend/drm/backend.c b/backend/drm/backend.c
index 5833d46e..1df5cdd1 100644
--- a/backend/drm/backend.c
+++ b/backend/drm/backend.c
@@ -51,7 +51,12 @@ static void backend_destroy(struct wlr_backend *backend) {
static struct wlr_renderer *backend_get_renderer(
struct wlr_backend *backend) {
struct wlr_drm_backend *drm = (struct wlr_drm_backend *)backend;
- return drm->renderer.wlr_rend;
+
+ if (drm->parent) {
+ return drm->parent->renderer.wlr_rend;
+ } else {
+ return drm->renderer.wlr_rend;
+ }
}
static struct wlr_backend_impl backend_impl = {