Skip to content

Commit

Permalink
Reapply "wayland: Commit viewport resizes (#16419)" (#17026)
Browse files Browse the repository at this point in the history
This reverts commit 3ee3f2a.

Removing roundtrips seems to keep things snappy whilst fixing COSMIC.
  • Loading branch information
ColinKinloch committed Sep 23, 2024
1 parent ee55623 commit eff3468
Showing 1 changed file with 15 additions and 3 deletions.
18 changes: 15 additions & 3 deletions gfx/common/wayland_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,12 @@ void xdg_toplevel_handle_configure_common(gfx_ctx_wayland_data_t *wl,
wl->buffer_height = wl->fractional_scale ?
FRACTIONAL_SCALE_MULT(wl->height, wl->fractional_scale_num) : wl->height * wl->buffer_scale;
wl->resize = true;
if (wl->viewport) /* Update viewport */
if (wl->viewport)
{
/* Stretch old buffer to fill new size, commit/roundtrip to apply */
wp_viewport_set_destination(wl->viewport, wl->width, wl->height);
wl_surface_commit(wl->surface);
}
}

if (floating)
Expand Down Expand Up @@ -198,8 +202,12 @@ void libdecor_frame_handle_configure_common(struct libdecor_frame *frame,
wl->buffer_height = wl->fractional_scale ?
FRACTIONAL_SCALE_MULT(height, wl->fractional_scale_num) : height * wl->buffer_scale;
wl->resize = true;
if (wl->viewport) /* Update viewport */
if (wl->viewport)
{
/* Stretch old buffer to fill new size, commit/roundtrip to apply */
wp_viewport_set_destination(wl->viewport, wl->width, wl->height);
wl_surface_commit(wl->surface);
}
}

state = wl->libdecor_state_new(wl->width, wl->height);
Expand Down Expand Up @@ -842,8 +850,12 @@ bool gfx_ctx_wl_set_video_mode_common_size(gfx_ctx_wayland_data_t *wl,
wl->buffer_height = wl->fractional_scale ?
FRACTIONAL_SCALE_MULT(wl->buffer_height, wl->fractional_scale_num) : wl->buffer_height * wl->buffer_scale;
}
if (wl->viewport) /* Update viewport */
if (wl->viewport)
{
/* Stretch old buffer to fill new size, commit/roundtrip to apply */
wp_viewport_set_destination(wl->viewport, wl->width, wl->height);
wl_surface_commit(wl->surface);
}

#ifdef HAVE_LIBDECOR_H
if (wl->libdecor)
Expand Down

0 comments on commit eff3468

Please sign in to comment.