Documentation for <wlr/types/wlr_drm.h>

Back to index

Table of contents

struct wlr_drm

struct wlr_drm {
	struct wl_global *global;
	struct wlr_renderer *renderer;
	char *node_name;
	
	struct {
		struct wl_signal destroy;
	} events;
	
	struct wl_listener display_destroy;
	struct wl_listener renderer_destroy;
};

A stub implementation of Mesa's wl_drm protocol.

It only implements the minimum necessary for modern clients to behave properly. In particular, flink handles are left unimplemented.

struct wlr_drm_buffer

struct wlr_drm_buffer {
	struct wlr_buffer base;
	
	struct wl_resource *resource; // can be NULL if the client destroyed it
	struct wlr_dmabuf_attributes dmabuf;
	
	struct wl_listener release;
};

wlr_drm_buffer_from_resource()

struct wlr_drm_buffer *wlr_drm_buffer_from_resource(​struct wl_resource *resource);

wlr_drm_buffer_is_resource()

bool wlr_drm_buffer_is_resource(​struct wl_resource *resource);

wlr_drm_create()

struct wlr_drm *wlr_drm_create(​struct wl_display *display, struct wlr_renderer *renderer);