This commit is contained in:
parent
647b86fd7d
commit
33ea649d18
2 changed files with 21 additions and 21 deletions
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -202,10 +202,9 @@ 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);
|
||||
|
||||
MwLLWaylandFramebufferResize(&self->wayland);
|
||||
MwLLWaylandBackbufferResize(&self->wayland);
|
||||
|
||||
MwLLWaylandRegionSetup(self);
|
||||
MwLLDispatch(self, resize, NULL);
|
||||
|
|
@ -216,8 +215,6 @@ static void xdg_toplevel_configure(void* data,
|
|||
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;
|
||||
}
|
||||
};
|
||||
|
||||
/* `xdg_surface.close` callback */
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue