wlroots/types
Simon Ser ec3780e6ea scene: try to import buffers as textures before rendering
The wlroots APIs currently don't allow importing/uploading a buffer
during rendering operations. Scene-graph buffer nodes need to turn
their wlr_buffer into a wlr_texture at some point. It's not always
possible to do so at wlr_scene_buffer creation time because the
scene-graph may have zero outputs at this point, thus no way to
grab a wlr_renderer.

Instead, add scene-graph buffers to a pending list and try to import
them in wlr_scene_output_commit.

References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3354
(cherry picked from commit 3db1bcbe641b407b9f5c9e5d0a012b45aa2c6cb7)
2022-02-02 20:28:27 +01:00
..
data_device wlr_drag: emit destroy after wl_data_device.leave 2021-11-22 22:43:39 +01:00
output util/global: remove wl_display arg from wlr_global_destroy_safe 2021-12-14 13:13:50 +00:00
scene scene: try to import buffers as textures before rendering 2022-02-02 20:28:27 +01:00
seat util/global: remove wl_display arg from wlr_global_destroy_safe 2021-12-14 13:13:50 +00:00
tablet_v2 Fix invalid uses of wl_array_for_each 2021-07-08 10:08:47 -04:00
xdg_shell xdg-shell: remove redundant NULL buffer check 2021-10-06 10:15:49 +02:00
meson.build scene: add wlr_scene_xdg_surface_create 2021-11-25 18:53:12 +01:00
wlr_buffer.c types/buffer: make {begin,end}_data_ptr_access part of the public API 2021-09-15 11:50:44 +02:00
wlr_compositor.c surface: make wlr_subsurface_create private 2021-06-29 10:32:17 -04:00
wlr_cursor.c Added whitespace between "output" and "(not" 2021-11-28 16:56:09 +00:00
wlr_data_control_v1.c Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_drm.c drm: add support for DMA-BUFs 2021-07-05 11:13:41 -04:00
wlr_drm_lease_v1.c util/global: remove wl_display arg from wlr_global_destroy_safe 2021-12-14 13:13:50 +00:00
wlr_export_dmabuf_v1.c export-dmabuf-v1: use wlr_output_event_commit.buffer 2021-12-03 14:56:17 +00:00
wlr_foreign_toplevel_management_v1.c toplevel-management: avoid redundant state events 2021-01-05 12:22:20 +01:00
wlr_fullscreen_shell_v1.c Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_gamma_control_v1.c gamma-control-v1: schedule frame when resetting gamma LUT 2021-01-10 18:40:08 +01:00
wlr_idle.c Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_idle_inhibit_v1.c idle-inhibit: Style and naming improvements 2020-02-20 21:40:34 +01:00
wlr_input_device.c Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
wlr_input_inhibitor.c Make implementation function lists static const 2021-02-05 10:04:20 +01:00
wlr_input_method_v2.c input_method_v2: improve mapping detection 2022-02-02 20:25:24 +01:00
wlr_keyboard.c keyboard: add wlr_keyboard.keymap_fd 2021-09-05 22:06:25 +02:00
wlr_keyboard_group.c Replace wlr_key_state with wl_keyboard_key_state 2020-11-11 10:58:38 +01:00
wlr_keyboard_shortcuts_inhibit_v1.c keyboard-shortcuts-inhibit: Implement the protocol 2020-02-20 21:40:34 +01:00
wlr_layer_shell_v1.c layer-shell: don't set committed flag if the property didn't change 2021-12-15 16:24:33 +03:00
wlr_linux_dmabuf_v1.c linux-dmabuf-v1: add per-surface feedback 2021-12-07 15:18:19 +01:00
wlr_matrix.c move wlr_box from /types to /util 2021-07-06 21:43:17 +02:00
wlr_output_damage.c output-damage: fix damage on modeset 2021-09-07 22:27:31 +02:00
wlr_output_layout.c Insert new outputs at the end of the list 2021-11-29 13:14:31 +00:00
wlr_output_management_v1.c output-management: use same types as wlr_output 2021-01-10 16:28:19 +01:00
wlr_output_power_management_v1.c output-power-management-v1: listen to output commit 2020-08-27 13:54:19 -06:00
wlr_pointer.c pointer: add hold pointer event definition 2021-09-27 15:30:31 +02:00
wlr_pointer_constraints_v1.c move wlr_box from /types to /util 2021-07-06 21:43:17 +02:00
wlr_pointer_gestures_v1.c wlr_pointer_gestures: hold gestures (protocol v3) 2021-09-27 15:30:31 +02:00
wlr_presentation_time.c presentation-time: use a surface addon 2021-10-22 11:57:19 +02:00
wlr_primary_selection.c wlr_seat: Fix edge cases with serial validation 2019-06-30 15:01:05 -04:00
wlr_primary_selection_v1.c primary selection: destroy devices before manager 2021-01-05 13:53:58 +01:00
wlr_region.c region: stabilize interface 2021-07-05 09:25:25 -04:00
wlr_relative_pointer_v1.c Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_screencopy_v1.c screencopy-v1: use wlr_output_event_commit.buffer 2021-12-03 14:56:17 +00:00
wlr_server_decoration.c Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_surface.c subsurface: unlock cached state on commit if desynced 2022-02-02 20:27:49 +01:00
wlr_switch.c Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
wlr_tablet_pad.c Fix invalid uses of wl_array_for_each 2021-07-08 10:08:47 -04:00
wlr_tablet_tool.c Fix invalid uses of wl_array_for_each 2021-07-08 10:08:47 -04:00
wlr_text_input_v3.c text-input: fix type of send_preedit_string() args 2021-11-08 19:56:22 +00:00
wlr_touch.c touch: add frame event 2021-07-08 09:12:17 +02:00
wlr_viewporter.c surface: drop wlr_surface_state.buffer_resource 2021-09-06 14:21:23 -04:00
wlr_virtual_keyboard_v1.c virtual_keyboard: Emulate key release events on destroy 2021-05-07 11:18:19 +02:00
wlr_virtual_pointer_v1.c Fix incorrect format parameters 2020-07-27 10:49:19 +02:00
wlr_xcursor_manager.c Make wlr_xcursor_manager_load() return a bool 2020-05-18 16:48:44 +02:00
wlr_xdg_activation_v1.c xdg-activation: Allow to submit tokens 2021-12-14 12:01:46 +01:00
wlr_xdg_decoration_v1.c xdg-decoration: refactor configure/state flow 2021-10-07 07:27:51 -06:00
wlr_xdg_foreign_registry.c util/uuid: replace with util/token, remove libuuid 2021-04-11 19:09:36 +02:00
wlr_xdg_foreign_v1.c xdg-foreign: rename finish_* functions to destroy_* 2021-02-08 18:09:00 +01:00
wlr_xdg_foreign_v2.c xdg-foreign-v2: use error enum 2021-10-25 18:22:11 +03:00
wlr_xdg_output_v1.c xdg-output: destroy outputs before manager 2021-01-19 11:56:31 +01:00