aboutsummaryrefslogtreecommitdiff
path: root/include/wlr/backend.h
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-05-25 08:38:44 -0400
committerGitHub <noreply@github.com>2018-05-25 08:38:44 -0400
commit35b31dcfb7f54c08301c4eb352325bb852b1bece (patch)
tree93d550e437722bdeabca5605ada5c0b4d41128cf /include/wlr/backend.h
parenta0eb37e2ea4ad96b4f6e98fddbc5c31d0bd0f293 (diff)
parent24cf70ae9691d605e4a1f7e9d8dc59ec72401bd0 (diff)
Merge pull request #1000 from ammen99/custom-renderer-initialization
[RFC] backends: implement custom EGL and renderer initialization
Diffstat (limited to 'include/wlr/backend.h')
-rw-r--r--include/wlr/backend.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/wlr/backend.h b/include/wlr/backend.h
index 2059e3b7..f40f5353 100644
--- a/include/wlr/backend.h
+++ b/include/wlr/backend.h
@@ -20,12 +20,20 @@ struct wlr_backend {
} events;
};
+typedef struct wlr_renderer *(*wlr_renderer_create_func_t)(struct wlr_egl *egl, EGLenum platform,
+ void *remote_display, EGLint *config_attribs, EGLint visual_id);
/**
* Automatically initializes the most suitable backend given the environment.
* Will always return a multibackend. The backend is created but not started.
* Returns NULL on failure.
+ *
+ * The compositor can request to initialize the backend's renderer by setting
+ * the create_render_func. The callback must initialize the given wlr_egl and
+ * return a valid wlr_renderer, or NULL if it has failed to initiaze it.
+ * Pass NULL as create_renderer_func to use the backend's default renderer.
*/
-struct wlr_backend *wlr_backend_autocreate(struct wl_display *display);
+struct wlr_backend *wlr_backend_autocreate(struct wl_display *display,
+ wlr_renderer_create_func_t create_renderer_func);
/**
* Start the backend. This may signal new_input or new_output immediately, but
* may also wait until the display's event loop begins. Returns false on