From 9065d8778e63ea919506fd0d4a0692042fb503fb Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Tue, 16 Jan 2024 21:01:49 -0500 Subject: Improve windows build - Support using libplacebo vulkan backend on windows Signed-off-by: Andrew Opalach --- src/screen/meson.build | 5 +++-- src/screen/screen.c | 9 +++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'src/screen') diff --git a/src/screen/meson.build b/src/screen/meson.build index d0bbd50..063b11a 100644 --- a/src/screen/meson.build +++ b/src/screen/meson.build @@ -1,8 +1,9 @@ screen_src = ['screen.c', 'view.c'] +use_vulkan = false sekihi = subproject('sekihi', default_options: [ - 'api=opengl', - 'window=wayland', + use_vulkan ? 'api=vulkan' : 'api=opengl', + 'window=glfw', 'poll=inline', 'event-buffer=false', 'pause=true' diff --git a/src/screen/screen.c b/src/screen/screen.c index 94b5d8c..0baaef3 100644 --- a/src/screen/screen.c +++ b/src/screen/screen.c @@ -39,6 +39,14 @@ static void resize_callback(void *userdata, s32 width, s32 height) } } +static void refresh_callback(void *userdata) +{ + struct camu_screen *scr = (struct camu_screen *)userdata; + if (scr->renderer) { + scr->renderer->render(scr->renderer, scr); + } +} + static bool pointer_pos_callback(void *userdata, f64 x, f64 y) { struct camu_screen *scr = (struct camu_screen *)userdata; @@ -200,6 +208,7 @@ bool camu_screen_init(struct camu_screen *scr) scr->window->key_callback = key_callback; scr->window->key_immediate_callback = key_immediate_callback; scr->window->resize_callback = resize_callback; + scr->window->refresh_callback = refresh_callback; scr->window->should_close_callback = should_close_callback; scr->window->userdata = scr; #ifdef CAMU_SCREEN_THREADED -- cgit v1.2.3-101-g0448