diff options
| author | 2024-01-16 21:01:49 -0500 | |
|---|---|---|
| committer | 2024-01-16 21:01:49 -0500 | |
| commit | 9065d8778e63ea919506fd0d4a0692042fb503fb (patch) | |
| tree | 09de40e56ac924e60c4f3c080ac74a5064049e90 /src/screen | |
| parent | 863eda6c45a0ed0bf5f460dde6177c257d57cff8 (diff) | |
| download | camu-9065d8778e63ea919506fd0d4a0692042fb503fb.tar.gz camu-9065d8778e63ea919506fd0d4a0692042fb503fb.tar.bz2 camu-9065d8778e63ea919506fd0d4a0692042fb503fb.zip | |
Improve windows build
- Support using libplacebo vulkan backend on windows
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/screen')
| -rw-r--r-- | src/screen/meson.build | 5 | ||||
| -rw-r--r-- | src/screen/screen.c | 9 |
2 files changed, 12 insertions, 2 deletions
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 |