From 6566a7f57d695d888650d43225844f9641414919 Mon Sep 17 00:00:00 2001 From: ArenM Date: Tue, 5 Jul 2022 12:54:33 -0400 Subject: only commit surface when it changed This is based off of a commit in wvkbd Previously wvkbd (and suggpicker) would commit a (usually unchanged) surface at the framerate of the compositor, this only commits the buffer when we render something new. --- drw.c | 18 ------------------ 1 file changed, 18 deletions(-) (limited to 'drw.c') diff --git a/drw.c b/drw.c index a7cfd20..6ea904e 100644 --- a/drw.c +++ b/drw.c @@ -20,30 +20,12 @@ drwsurf_resize(struct drwsurf *ds, uint32_t w, uint32_t h, uint32_t s) { setup_buffer(ds); } -static void surface_frame_callback(void *data, struct wl_callback *cb, - uint32_t time); - -static struct wl_callback_listener frame_listener = {.done = - surface_frame_callback}; - void drwsurf_flip(struct drwsurf *ds) { - ds->cb = wl_surface_frame(ds->surf); - wl_callback_add_listener(ds->cb, &frame_listener, (void *)ds); - wl_surface_attach(ds->surf, ds->buf, 0, 0); wl_surface_commit(ds->surf); } -void -surface_frame_callback(void *data, struct wl_callback *cb, uint32_t time) { - struct drwsurf *ds = (struct drwsurf *)data; - wl_callback_destroy(cb); - ds->cb = NULL; - - drwsurf_flip(ds); -} - void drw_draw_text(struct drwsurf *d, Color color, uint32_t x, uint32_t y, uint32_t w, uint32_t h, const char *label) { -- cgit 1.4.1