wayland flickering/ghosting fix
All checks were successful
pyrite-dev/milsko/pipeline/head This commit looks good

This commit is contained in:
IoIxD 2026-09-17 07:25:52 +09:00 committed by IoI_xD
commit 1dda7934ce
8 changed files with 82 additions and 46 deletions

View file

@ -196,6 +196,9 @@ struct _MwLLCairo {
/* The cairo to actually use for draw operations. Typically is front_cairo, but wayland's MwLLBeginDraw can change this to the back_cairo so it can be used to draw window decorations. */
cairo_t* selected_cairo;
cairo_surface_t* frontbuffer_cs;
cairo_t* frontbuffer_cairo;
int x;
int y;
int width;

View file

@ -207,6 +207,7 @@ MwInline int wayland_load_funcs() {
#include "Wayland/relative-pointer-client-protocol.h"
#include "Wayland/xdg-toplevel-icon-client-protocol.h"
#include "Wayland/wlr-layer-shell-client-protocol.h"
#include "Wayland/fifo-client-protocol.h"
#endif
typedef struct wayland_protocol {
@ -265,6 +266,7 @@ struct _MwLLWaylandShmBuffer {
struct wl_buffer* shm_buffer_back;
struct wl_surface* surface;
struct wl_output* output;
struct wp_fifo_v1* fifo;
MwU8* buf;
MwU8* buf_back;
@ -426,9 +428,13 @@ struct _MwLLWayland {
MwBool force_render;
MwBool did_event_loop_early;
MwBool do_cascading_draw;
int cascading_child_num;
MwBool dispatching_resize;
MwBool is_toplevel_menu;
struct _MwLLWaylandShmBuffer framebuffer;
struct _MwLLWaylandShmBuffer backbuffer;
struct _MwLLWaylandShmBuffer cursor;