summaryrefslogtreecommitdiff
path: root/hw/xwayland/xwayland.h
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xwayland/xwayland.h')
-rw-r--r--hw/xwayland/xwayland.h37
1 files changed, 20 insertions, 17 deletions
diff --git a/hw/xwayland/xwayland.h b/hw/xwayland/xwayland.h
index 985ba9d64..ce290d490 100644
--- a/hw/xwayland/xwayland.h
+++ b/hw/xwayland/xwayland.h
@@ -77,6 +77,7 @@ struct xwl_screen {
CloseScreenProcPtr CloseScreen;
RealizeWindowProcPtr RealizeWindow;
UnrealizeWindowProcPtr UnrealizeWindow;
+ DestroyWindowProcPtr DestroyWindow;
XYToWindowProcPtr XYToWindow;
struct xorg_list output_list;
@@ -172,26 +173,29 @@ struct xwl_window {
struct xorg_list link_damage;
struct wl_callback *frame_callback;
Bool allow_commits;
-#ifdef GLAMOR_HAS_GBM
- /* present */
- RRCrtcPtr present_crtc_fake;
- struct xorg_list present_link;
WindowPtr present_window;
- uint64_t present_msc;
- uint64_t present_ust;
+};
+
+#ifdef GLAMOR_HAS_GBM
+struct xwl_present_window {
+ struct xwl_screen *xwl_screen;
+ WindowPtr window;
+ struct xorg_list link;
- OsTimerPtr present_timer;
- Bool present_timer_firing;
+ RRCrtcPtr crtc_fake;
+ uint64_t msc;
+ uint64_t ust;
- struct wl_callback *present_frame_callback;
- struct wl_callback *present_sync_callback;
+ OsTimerPtr frame_timer;
+ Bool frame_timer_firing;
- struct xorg_list present_event_list;
- struct xorg_list present_release_queue;
-#endif
+ struct wl_callback *frame_callback;
+ struct wl_callback *sync_callback;
+
+ struct xorg_list event_list;
+ struct xorg_list release_queue;
};
-#ifdef GLAMOR_HAS_GBM
struct xwl_present_event {
uint64_t event_id;
uint64_t target_msc;
@@ -200,8 +204,7 @@ struct xwl_present_event {
Bool pending;
Bool buffer_released;
- WindowPtr present_window;
- struct xwl_window *xwl_window;
+ struct xwl_present_window *xwl_present_window;
struct wl_buffer *buffer;
struct xorg_list list;
@@ -433,7 +436,7 @@ Bool xwl_glamor_allow_commits(struct xwl_window *xwl_window);
#ifdef GLAMOR_HAS_GBM
Bool xwl_present_init(ScreenPtr screen);
-void xwl_present_cleanup(struct xwl_window *xwl_window, WindowPtr window);
+void xwl_present_cleanup(WindowPtr window);
#endif
void xwl_screen_release_tablet_manager(struct xwl_screen *xwl_screen);