summaryrefslogtreecommitdiff
path: root/src/wayland/internal.h
diff options
context:
space:
mode:
authorBerke Güzel <wenekar1@gmail.com>2026-10-12 14:27:51 +0300
committerBerke Güzel <wenekar1@gmail.com>2026-10-12 14:27:51 +0300
commit9ed89c17dee752154c36d71cae93d20cccfc71ef (patch)
treea32cd894643ff6f6ebce83dd745bd24b35eb6520 /src/wayland/internal.h
parentaedd863e6f66fd446227e9b107bc9c1970092634 (diff)
perf: optimize hot-path loops, data structures, and cache locality
Diffstat (limited to 'src/wayland/internal.h')
-rw-r--r--src/wayland/internal.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/wayland/internal.h b/src/wayland/internal.h
index 04142f7..d519abd 100644
--- a/src/wayland/internal.h
+++ b/src/wayland/internal.h
@@ -76,6 +76,7 @@ struct pending_press {
struct press_queue {
struct pending_press ev[8];
+ int head;
int n;
};
@@ -244,6 +245,13 @@ struct wayland_display {
bool lost;
};
+struct latency_feedback {
+ struct wayland_surface *window;
+ struct wp_presentation_feedback *proxy;
+ struct latency_feedback *next;
+ bool in_pool;
+};
+
struct wayland_surface {
struct yasl_surface base;
/* 8-byte pointers & 64-bit values */
@@ -264,6 +272,7 @@ struct wayland_surface {
struct seat *ime_seat;
struct wp_tearing_control_v1 *tearing_control;
struct latency_feedback *latency_feedbacks;
+ struct latency_feedback latency_pool[8];
struct wp_fifo_v1 *fifo;
struct wp_commit_timer_v1 *commit_timer;
struct wl_callback *frame_cb;