weston/libweston
Théo Maillart 2b69bc0811 gl-renderer: clip subimage dimensions to its buffer ones
A window freeze can occur in specific use cases like when using a kiosk
shell. It scales surfaces to fit the compositor size and the transformation
to buffer space can, in some cases, round the size one pixel higher than
the texture size, making glTexSubImage2D() refuse the size argument and
generate a GL_INVALID_VALUE without updating the texture.
This commit ensures the GL renderer doesn't exceed the texture size.

Here is how the issue was reproduced:
	$ weston --renderer=gl --backend=wayland --width=1920 --height=1080 --shell=kiosk
	$ gst-launch-1.0 videotestsrc ! video/x-raw,height=590,width=500 ! waylandsink display=wayland-1

Signed-off-by: Théo Maillart <tmaillart@freebox.fr>
2025-02-21 07:03:56 +00:00
..
backend-drm drm-backend: Set VRR_ENABLED property based on output configuration 2025-02-21 06:49:42 +00:00
backend-headless backend-headless: use weston_output_arm_frame_timer() 2025-02-06 11:20:14 +00:00
backend-pipewire libweston: Enforce renderbuffer size 2025-01-21 14:34:31 +01:00
backend-rdp meson.build: Bump to C11 with GNU extensions 2025-01-21 19:20:06 +00:00
backend-vnc libweston: Enforce renderbuffer size 2025-01-21 14:34:31 +01:00
backend-wayland libweston: Enforce renderbuffer size 2025-01-21 14:34:31 +01:00
backend-x11 pixman-renderer: Remove renderbuffer_get_image() function 2025-01-21 14:34:31 +01:00
color-lcms tests: add color-management tests for the parametric interface 2025-01-20 09:30:46 +00:00
desktop libweston-desktop: don't try to move child surfaces to not existing layer 2025-02-12 13:51:11 +00:00
perfetto libweston: Add support for perfetto profiling 2025-01-24 12:22:13 +00:00
renderer-gl gl-renderer: clip subimage dimensions to its buffer ones 2025-02-21 07:03:56 +00:00
shell-utils Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
animation.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
auth.c libweston: Add user authentication support via PAM 2022-11-23 16:58:48 +01:00
backend.h drm-backend: Add Variable Refresh Rate modes 2025-02-21 06:49:42 +00:00
bindings.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
clipboard.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
color-management.c color: cosmetic changes to the CM&HDR protocol implementation 2025-01-20 09:30:46 +00:00
color-management.h color: declare cm_image_desc_info 2024-02-23 16:46:39 +02:00
color-noop.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
color-profile-param-builder.c color: change has_parameters to count_parameters 2025-01-20 09:30:46 +00:00
color-properties.c color: change has_parameters to count_parameters 2025-01-20 09:30:46 +00:00
color-properties.h color: change has_parameters to count_parameters 2025-01-20 09:30:46 +00:00
color.c color-lcms: print params from parametric color profiles 2025-01-20 09:30:46 +00:00
color.h color-lcms: print params from parametric color profiles 2025-01-20 09:30:46 +00:00
compositor.c compositor: Try an immediate repaint if VRR enabled 2025-02-21 06:49:42 +00:00
content-protection.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
data-device.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
drm-formats.c drm-formats: add weston_drm_format_array_count_pairs() 2021-11-25 10:47:45 -03:00
git-version.h.meson Add Meson build system 2018-12-09 14:50:54 +02:00
gl-borders.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
gl-borders.h libweston, backends: move GL renderer interface into weston_renderer 2023-01-16 20:40:34 +01:00
id-number-allocator.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
id-number-allocator.h libweston: add unique id generator 2024-02-13 14:08:38 -03:00
input.c input: Add support for LED_COMPOSE and LED_KANA USB HID LEDs 2025-02-12 17:04:06 +02:00
launcher-impl.h launcher: Remove launcher-logind 2023-09-29 09:55:32 -05:00
launcher-libseat.c launcher-libseat: Don't depend on dbus 2023-09-29 09:47:43 -05:00
launcher-util.c launcher: Remove launcher-logind 2023-09-29 09:55:32 -05:00
launcher-util.h launchers: Remove --tty option 2022-03-03 17:00:15 -06:00
libinput-device.c input: Add support for LED_COMPOSE and LED_KANA USB HID LEDs 2025-02-12 17:04:06 +02:00
libinput-device.h libinput: hook up tablet events 2023-03-31 12:10:26 +00:00
libinput-seat.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
libinput-seat.h Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
libweston-internal.h libweston: Fix doc string 2025-01-21 14:34:31 +01:00
linux-dmabuf.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
linux-dmabuf.h linux-dmabuf: Add support for protocol version 5 2024-01-19 18:59:22 +01:00
linux-explicit-synchronization.c libweston: Advertise minor version 2 of zwp_linux_explicit_synchronization_v1 2019-08-02 15:00:08 +00:00
linux-explicit-synchronization.h libweston: Support zwp_surface_synchronization_v1.set_acquire_fence 2019-02-06 12:21:56 +00:00
linux-sync-file-uapi.h libweston: Introduce an internal linux sync file API 2019-02-06 12:21:56 +00:00
linux-sync-file.c libweston: export weston_linux_sync_file_read_timestamp() 2019-04-18 12:50:55 +03:00
linux-sync-file.h libweston: export weston_linux_sync_file_read_timestamp() 2019-04-18 12:50:55 +03:00
log.c libweston: Add weston_log_paced() 2022-11-08 08:32:26 -06:00
meson.build timeline: Add the TL_POINTs into perfetto data 2025-01-24 12:22:13 +00:00
noop-renderer.c libweston: Use explicit renderbuffer destruction 2025-01-21 14:21:40 +01:00
output-capture.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
output-capture.h drm: allow to skip composition if pending capture is writeback 2023-03-31 10:36:31 +00:00
pixel-formats.c libweston: Replace pixel format's sampler_type with color_model enum 2025-02-17 15:54:52 +00:00
pixel-formats.h libweston: Replace pixel format's sampler_type with color_model enum 2025-02-17 15:54:52 +00:00
pixman-renderer.c renderers: Catch backend programming errors with asserts 2025-01-21 14:34:31 +01:00
pixman-renderer.h pixman-renderer: Remove renderbuffer_get_image() function 2025-01-21 14:34:31 +01:00
plugin-registry.c Rename plugin-registry.h to libweston/plugin-registry.h 2019-04-18 12:31:46 +03:00
screenshooter.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
spring-tool.c Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
timeline-perfetto.c timeline: Add flow ids for surfaces 2025-01-24 12:22:13 +00:00
timeline.c timeline: Add weston_timeline_profiling() and use it 2025-01-24 12:22:13 +00:00
timeline.h timeline: Add the TL_POINTs into perfetto data 2025-01-24 12:22:13 +00:00
touch-calibration.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
vertex-clipping.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
vertex-clipping.h gl-renderer: Do not expose clipper_clip() in header 2024-05-30 09:09:45 +00:00
weston-direct-display.c libweston: Add weston-direct-display server side implementation 2019-11-18 19:33:09 +02:00
weston-log-file.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
weston-log-flight-rec.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
weston-log-internal.h weston-log-wayland: make stream_destroy() use weston_log_subscriber_release() 2020-02-10 10:53:50 +00:00
weston-log-wayland.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
weston-log.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
weston-trace.h libweston: Add support for perfetto profiling 2025-01-24 12:22:13 +00:00