weston/libweston
Leandro Ribeiro d3fee82090 gl-renderer: do not skip output color effect for solid color buffers
When repainting a paint node, if the buffer is a solid color buffer we
may skip the rendering pipeline and directly call glClear() with the
solid color, for optimization purposes.

Currently there's a bug where if the output has an output color effect
set, it is skipped when we have a solid color buffer (as we don't go
through the rendering pipeline, where the effects are implemented).

When we have color-management and the paint node contains a color xform,
we've opted for skipping this optimization and going through the
rendering pipeline for now. However, output color effects are simple,
so let's add the logic to apply them on CPU when we have a solid color
buffer.

Reported-by: Christopher Healy <healych@amazon.com>
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
2026-01-12 12:55:49 +00:00
..
backend-drm backend-drm: Set coefficients and range plane properties 2025-12-19 17:08:39 +01:00
backend-headless backend-headless: fix undeclared FALSE identifier 2025-12-09 09:41:52 +01:00
backend-pipewire output-capture: Support writeback connector formats 2025-09-25 12:39:23 +02:00
backend-rdp backend-rdp: Add keyboard mapping for alternate Dvorak layouts 2025-10-21 23:21:55 +01:00
backend-vnc vulkan-renderer: rename output options to surface/surfaceless 2025-09-12 18:04:57 +01:00
backend-wayland vulkan-renderer: rename output options to surface/surfaceless 2025-09-12 18:04:57 +01:00
backend-x11 vulkan-renderer: rename output options to surface/surfaceless 2025-09-12 18:04:57 +01:00
color-lcms color-lcms: implement media white point scaling 2025-12-02 11:46:44 +02:00
desktop xdg-shell: Gate all configure events behind first commit 2026-01-06 12:21:29 +02:00
perfetto libweston: Add support for perfetto profiling 2025-01-24 12:22:13 +00:00
renderer-gl gl-renderer: do not skip output color effect for solid color buffers 2026-01-12 12:55:49 +00:00
renderer-vulkan vulkan-renderer: fix VkMemoryDedicatedRequirements usage 2025-11-07 14:30:29 +01:00
shell-utils shell-utils: Ensure committed_private is set 2025-12-04 11:41:52 -06:00
animation.c animation: Change how we seed the initial time 2025-11-24 12:29:15 -06:00
auth.c libweston: Add user authentication support via PAM 2022-11-23 16:58:48 +01:00
backend.h core: Remove flush_damage_for_plane return 2025-10-17 13:49:21 -05: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 shared: rename a few weston assert 2025-09-15 19:13:04 -03:00
color-management.h color: update color-management protocol to wp-v1 2025-02-26 10:09:43 -03:00
color-noop.c libweston: make use of some of the new weston assert 2025-09-15 19:16:17 -03:00
color-operations.c color: run vec3 through weston_color_curve_sample() 2025-10-21 14:23:37 +03:00
color-operations.h color: run vec3 through weston_color_curve_sample() 2025-10-21 14:23:37 +03:00
color-profile-param-builder.c color: add weston_color_profile_param_builder_set_target_primaries_named() 2025-10-09 16:17:57 +00:00
color-properties.c color: shorten the named of primaries 2025-06-17 10:40:03 +03:00
color-properties.h color: fix count_parameters type 2025-06-17 10:40:03 +03:00
color-representation.c libweston: Implement color-representation protocol 2025-12-19 17:08:29 +01:00
color-representation.h libweston: Implement color-representation protocol 2025-12-19 17:08:29 +01:00
color.c color: export weston_CIExy_to_XYZ() 2025-12-02 11:46:44 +02:00
color.h color: export weston_CIExy_to_XYZ() 2025-12-02 11:46:44 +02:00
commit-timing.c compositor: Support the commit-timing protocol 2025-12-16 10:58:01 -06:00
commit-timing.h compositor: Support the commit-timing protocol 2025-12-16 10:58:01 -06:00
compositor.c compositor: Add paint_node_changes for paint node removal 2026-01-07 10:44:27 -06:00
content-protection.c cp: Correctly format debug scope for content protection 2025-06-04 17:38:16 +03: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
fifo.c compositor: Add the fifo-v1 protocol 2025-12-04 14:03:13 -06:00
fifo.h compositor: Add the fifo-v1 protocol 2025-12-04 14:03:13 -06:00
git-version.h.meson Add Meson build system 2018-12-09 14:50:54 +02:00
id-number-allocator.c shared: rename a few weston assert 2025-09-15 19:13:04 -03:00
id-number-allocator.h libweston: add unique id generator 2024-02-13 14:08:38 -03:00
input.c libweston: fix false-positive uninitialized variables sx, sy 2025-12-16 15:19:02 +00:00
launcher-impl.h launcher: Remove launcher-logind 2023-09-29 09:55:32 -05:00
launcher-libseat.c launcher-libseat: Don't hard-stop on libseat-debug 2025-06-04 17:38:16 +03: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 libweston: Rename LED_* to WESTON_LED* 2025-03-07 14:30:20 +00:00
libinput-device.h libinput: hook up tablet events 2023-03-31 12:10:26 +00:00
libinput-seat.c libinput: support ignoring all libinput-based input devices by configuration 2025-10-21 12:54:42 +03:00
libinput-seat.h Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
libweston-internal.h core: rename and internally share output_repaint_timer_arm 2025-12-16 10:58:01 -06:00
linux-dmabuf.c libweston: rename get_supported_formats to get_supported_dmabuf_formats 2025-09-02 13:34:00 +00: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 libweston: Implement color-representation protocol 2025-12-19 17:08:29 +01:00
noop-renderer.c libweston: Use explicit renderbuffer destruction 2025-01-21 14:21:40 +01:00
output-capture.c output-capture: Fix assertions in pull_capture_task() 2025-09-25 17:51:22 +02:00
output-capture.h output-capture: Support writeback connector formats 2025-09-25 12:39:23 +02:00
pixel-formats.c pixel-formats: Update Vulkan formats 2025-09-08 12:02:11 +01:00
pixel-formats.h pixel-formats: Move FOURCC defines to weston-drm-fourcc.h 2025-06-23 15:03:06 +02:00
pixman-renderer.c output-capture: Support writeback connector formats 2025-09-25 12:39:23 +02: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
renderer-borders.c libweston: move gl-borders up to weston_renderer 2025-05-18 18:00:08 +02:00
renderer-borders.h libweston: move gl-borders up to weston_renderer 2025-05-18 18:00:08 +02:00
screenshooter.c screenshooter: Emit warning for output recording 2025-10-28 07:55:43 +00:00
spring-tool.c Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
surface-state.c libweston: Implement color-representation protocol 2025-12-19 17:08:29 +01:00
timeline-perfetto.c timeline-perfetto: Store disambiguator globally 2025-03-06 15:14:12 +02:00
timeline.c timeline: Check for timelog scope being enabled 2025-06-04 17:38:16 +03: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 weston-log: Add a advertised list of debug scopes 2025-06-04 17:43:33 +03:00
weston-log.c weston-log: Fix warning on 32-bit architectures 2025-10-09 13:29:01 +01:00
weston-trace.h libweston: Add support for perfetto profiling 2025-01-24 12:22:13 +00:00