Remove wlr_create_renderer_func_t

This callback allowed compositors to customize the EGL config used by
the renderer. However with renderer v6 EGL configs aren't used anymore.
Instead, buffers are allocated via GBM and GL FBOs are rendered to. So
customizing the EGL config is a no-op.
This commit is contained in:
Simon Ser 2020-12-19 11:34:28 +01:00
parent bec1e6b149
commit 4b03bdc3ab
20 changed files with 43 additions and 76 deletions

View file

@ -28,20 +28,12 @@ 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,
wlr_renderer_create_func_t create_renderer_func);
struct wlr_backend *wlr_backend_autocreate(struct wl_display *display);
/**
* 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

View file

@ -23,8 +23,7 @@
*/
struct wlr_backend *wlr_drm_backend_create(struct wl_display *display,
struct wlr_session *session, struct wlr_device *dev,
struct wlr_backend *parent,
wlr_renderer_create_func_t create_renderer_func);
struct wlr_backend *parent);
bool wlr_backend_is_drm(struct wlr_backend *backend);
bool wlr_output_is_drm(struct wlr_output *output);

View file

@ -17,8 +17,7 @@
* Creates a headless backend. A headless backend has no outputs or inputs by
* default.
*/
struct wlr_backend *wlr_headless_backend_create(struct wl_display *display,
wlr_renderer_create_func_t create_renderer_func);
struct wlr_backend *wlr_headless_backend_create(struct wl_display *display);
/**
* Creates a headless backend with an existing renderer.
*/

View file

@ -16,7 +16,7 @@
* default)
*/
struct wlr_backend *wlr_wl_backend_create(struct wl_display *display,
const char *remote, wlr_renderer_create_func_t create_renderer_func);
const char *remote);
/**
* Returns the remote wl_display used by the Wayland backend.

View file

@ -17,7 +17,7 @@
* to NULL for the default behaviour of XOpenDisplay.
*/
struct wlr_backend *wlr_x11_backend_create(struct wl_display *display,
const char *x11_display, wlr_renderer_create_func_t create_renderer_func);
const char *x11_display);
/**
* Adds a new output to this backend. You may remove outputs by destroying them.