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

This commit is contained in:
IoIxD 2026-09-26 17:35:50 -07:00
commit 33ea649d18
2 changed files with 21 additions and 21 deletions

View file

@ -10,8 +10,8 @@ void MwLLWaylandFramebufferSetup(struct _MwLLWayland* wayland) {
memset(wayland->framebuffer.buf_back, 255, wayland->framebuffer.buf_size);
if(wayland->configured)
wl_surface_attach(wayland->framebuffer.surface, wayland->framebuffer.shm_buffer, 0, 0);
if(wayland->framebuffer.fifo)
wp_fifo_v1_set_barrier(wayland->framebuffer.fifo);
// if(wayland->framebuffer.fifo)
// wp_fifo_v1_set_barrier(wayland->framebuffer.fifo);
wl_surface_commit(wayland->framebuffer.surface);
@ -25,11 +25,13 @@ void MwLLWaylandFramebufferDestroy(struct _MwLLWayland* wayland) {
};
void MwLLWaylandBackbufferSetup(struct _MwLLWayland* wayland) {
MwU32 w = wayland->ww;
MwU32 h = wayland->wh;
if(wayland->type != MwLL_WAYLAND_TOPLEVEL) {
return;
}
MwU32 w = wayland->ww;
MwU32 h = wayland->wh;
if(!wayland->has_decorations && wayland->do_csd) {
w += (CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT);
h += (CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM);
@ -140,8 +142,8 @@ void MwLLWaylandFramebufferResize(struct _MwLLWayland* wayland) {
if(wayland->configured)
wl_surface_attach(wayland->framebuffer.surface, wayland->framebuffer.shm_buffer, 0, 0);
if(wayland->framebuffer.fifo)
wp_fifo_v1_set_barrier(wayland->framebuffer.fifo);
// if(wayland->framebuffer.fifo)
// wp_fifo_v1_set_barrier(wayland->framebuffer.fifo);
wl_surface_commit(wayland->framebuffer.surface);
@ -183,8 +185,8 @@ void MwLLWaylandBufferUpdate(MwLL self, struct _MwLLWaylandShmBuffer* buffer) {
if(self->wayland.configured) {
wl_surface_attach(buffer->surface, buffer->shm_buffer, 0, 0);
}
if(buffer->fifo)
wp_fifo_v1_wait_barrier(buffer->fifo);
// if(buffer->fifo)
// wp_fifo_v1_wait_barrier(buffer->fifo);
wl_surface_commit(buffer->surface);
}
}

View file

@ -202,21 +202,18 @@ static void xdg_toplevel_configure(void* data,
// }
// }
if(self->wayland.resizing == 0) {
xdg_surface_set_window_geometry(self->wayland.toplevel->xdg_surface, 0, 0, self->wayland.ww, self->wayland.wh);
xdg_surface_set_window_geometry(self->wayland.toplevel->xdg_surface, 0, 0, self->wayland.ww, self->wayland.wh);
MwLLWaylandFramebufferResize(&self->wayland);
MwLLWaylandBackbufferResize(&self->wayland);
MwLLWaylandFramebufferResize(&self->wayland);
MwLLWaylandRegionSetup(self);
MwLLDispatch(self, resize, NULL);
MwLLWaylandRegionSetup(self);
MwLLDispatch(self, resize, NULL);
recursive_dispatch_resize(self);
recursive_dispatch_resize(self);
if(self->wayland.pointer_constrained) {
zwp_locked_pointer_v1_set_cursor_position_hint(self->wayland.locked_pointer, 0, CSD_BORDER_FRAME_TOP);
wl_surface_commit(self->wayland.framebuffer.surface);
}
self->wayland.resizing = 1;
if(self->wayland.pointer_constrained) {
zwp_locked_pointer_v1_set_cursor_position_hint(self->wayland.locked_pointer, 0, CSD_BORDER_FRAME_TOP);
wl_surface_commit(self->wayland.framebuffer.surface);
}
};
@ -1414,9 +1411,10 @@ static void MwLLEndDrawImpl(MwLL handle) {
if(handle->wayland.configured) {
if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) {
MwLLWaylandBufferUpdate(handle, &handle->wayland.backbuffer);
MwLLWaylandBackbufferResize(&handle->wayland);
}
MwLLWaylandBufferUpdate(handle, &handle->wayland.framebuffer);
MwLLWaylandFramebufferResize(&handle->wayland);
}
}