summaryrefslogtreecommitdiff
path: root/src/screen
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2025-01-01 16:04:59 -0500
committerAndrew Opalach <andrew@akon.city> 2025-01-01 16:13:22 -0500
commit24b58a516e6bacfdf59aac422411c2f1fcf4ffb2 (patch)
tree834284316a98f829362619eb2174022687df85ea /src/screen
parent20003fd25404ee5fc4cd068fbc4fae1ad6f6ae99 (diff)
downloadcamu-24b58a516e6bacfdf59aac422411c2f1fcf4ffb2.tar.gz
camu-24b58a516e6bacfdf59aac422411c2f1fcf4ffb2.tar.bz2
camu-24b58a516e6bacfdf59aac422411c2f1fcf4ffb2.zip
Optimizations based on video loop performance
- Support nn_packet_stream direct mode - Hook up FFmpeg hardware accelerated decoding - Refactor VCR - Reduce locking when returning packets to a packet pool Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/screen')
-rw-r--r--src/screen/screen.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/screen/screen.c b/src/screen/screen.c
index c323204..de7c8a7 100644
--- a/src/screen/screen.c
+++ b/src/screen/screen.c
@@ -57,7 +57,8 @@ static bool pointer_pos_callback(void *userdata, f64 x, f64 y)
bool queue_refresh = false;
if (view) {
if (scr->flags & CAMU_SCREEN_DRAGGING) {
- if (scr->flags & CAMU_SCREEN_ZOOM_PAN_SIMPLE) {
+ if (!(scr->flags & CAMU_SCREEN_MODIFIER) &&
+ (scr->flags & CAMU_SCREEN_ZOOM_PAN_SIMPLE)) {
f64 dx = x - scr->last_mouse_x;
f64 dy = y - scr->last_mouse_y;
if (camu_view_pan_simple(view, scr->width, scr->height, dx, dy)) {
@@ -329,6 +330,10 @@ bool camu_screen_create_renderer(struct camu_screen *scr, struct camu_renderer *
scr->window->vk_create_surface,
scr->window->vk_get_extensions,
#elif defined CAMU_RENDERER_OPENGL
+#ifdef STELA_USE_EGL
+ scr->window->display,
+ scr->window->context,
+#endif
scr->window->get_gl_proc_address,
scr->window->gl_loader_load,
scr->window->gl_make_current,
@@ -533,6 +538,9 @@ void camu_screen_wake(struct camu_screen *scr)
#else
(void)scr;
#endif
+#ifndef LIANA_LIST_SCUFFED_LOOP
+ scr->force_render = true;
+#endif
}
void camu_screen_close(struct camu_screen *scr)