mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-25 22:25:58 +01:00
0ae3c7b1a2
This is a re-implementation of wl_shm. The motivations for using this over the one shipped in libwayland are: - Properly handle SIGBUS when accessing a wl_buffer's underlying data after the wl_buffer protocol object has been destroyed. With the current code, we just crash if the client does that and then shrinks the backing file. - No need to fight the wl_shm_buffer API anymore. This was awkward because we weren't notified when clients created a wl_shm buffer, and this doesn't play well with our wlr_buffer abstraction. - Access to the underlying FD. This makes it possible to forward the wl_shm buffer to a parent compositor with the Wayland/X11 backends. - Better stride checks. We can use our format table to ensure that the stride is consistent with the bpp and width.
98 lines
2.4 KiB
Meson
98 lines
2.4 KiB
Meson
wlr_files += files(
|
|
'data_device/wlr_data_device.c',
|
|
'data_device/wlr_data_offer.c',
|
|
'data_device/wlr_data_source.c',
|
|
'data_device/wlr_drag.c',
|
|
'output/cursor.c',
|
|
'output/output.c',
|
|
'output/render.c',
|
|
'output/state.c',
|
|
'output/transform.c',
|
|
'scene/drag_icon.c',
|
|
'scene/subsurface_tree.c',
|
|
'scene/surface.c',
|
|
'scene/wlr_scene.c',
|
|
'scene/output_layout.c',
|
|
'scene/xdg_shell.c',
|
|
'scene/layer_shell_v1.c',
|
|
'seat/wlr_seat_keyboard.c',
|
|
'seat/wlr_seat_pointer.c',
|
|
'seat/wlr_seat_touch.c',
|
|
'seat/wlr_seat.c',
|
|
'tablet_v2/wlr_tablet_v2_pad.c',
|
|
'tablet_v2/wlr_tablet_v2_tablet.c',
|
|
'tablet_v2/wlr_tablet_v2_tool.c',
|
|
'tablet_v2/wlr_tablet_v2.c',
|
|
'xdg_shell/wlr_xdg_popup.c',
|
|
'xdg_shell/wlr_xdg_positioner.c',
|
|
'xdg_shell/wlr_xdg_shell.c',
|
|
'xdg_shell/wlr_xdg_surface.c',
|
|
'xdg_shell/wlr_xdg_toplevel.c',
|
|
'buffer/buffer.c',
|
|
'buffer/client.c',
|
|
'buffer/dmabuf.c',
|
|
'buffer/readonly_data.c',
|
|
'buffer/resource.c',
|
|
'buffer/shm_client.c',
|
|
'wlr_compositor.c',
|
|
'wlr_content_type_v1.c',
|
|
'wlr_cursor.c',
|
|
'wlr_damage_ring.c',
|
|
'wlr_data_control_v1.c',
|
|
'wlr_drm.c',
|
|
'wlr_export_dmabuf_v1.c',
|
|
'wlr_foreign_toplevel_management_v1.c',
|
|
'wlr_fullscreen_shell_v1.c',
|
|
'wlr_gamma_control_v1.c',
|
|
'wlr_idle_inhibit_v1.c',
|
|
'wlr_idle.c',
|
|
'wlr_idle_notify_v1.c',
|
|
'wlr_input_device.c',
|
|
'wlr_input_inhibitor.c',
|
|
'wlr_input_method_v2.c',
|
|
'wlr_keyboard.c',
|
|
'wlr_keyboard_group.c',
|
|
'wlr_keyboard_shortcuts_inhibit_v1.c',
|
|
'wlr_layer_shell_v1.c',
|
|
'wlr_linux_dmabuf_v1.c',
|
|
'wlr_matrix.c',
|
|
'wlr_output_damage.c',
|
|
'wlr_output_layout.c',
|
|
'wlr_output_management_v1.c',
|
|
'wlr_output_power_management_v1.c',
|
|
'wlr_pointer_constraints_v1.c',
|
|
'wlr_pointer_gestures_v1.c',
|
|
'wlr_pointer.c',
|
|
'wlr_presentation_time.c',
|
|
'wlr_primary_selection_v1.c',
|
|
'wlr_primary_selection.c',
|
|
'wlr_region.c',
|
|
'wlr_relative_pointer_v1.c',
|
|
'wlr_screencopy_v1.c',
|
|
'wlr_server_decoration.c',
|
|
'wlr_session_lock_v1.c',
|
|
'wlr_shm.c',
|
|
'wlr_single_pixel_buffer_v1.c',
|
|
'wlr_subcompositor.c',
|
|
'wlr_switch.c',
|
|
'wlr_tablet_pad.c',
|
|
'wlr_tablet_tool.c',
|
|
'wlr_text_input_v3.c',
|
|
'wlr_touch.c',
|
|
'wlr_viewporter.c',
|
|
'wlr_virtual_keyboard_v1.c',
|
|
'wlr_virtual_pointer_v1.c',
|
|
'wlr_xcursor_manager.c',
|
|
'wlr_xdg_activation_v1.c',
|
|
'wlr_xdg_decoration_v1.c',
|
|
'wlr_xdg_foreign_v1.c',
|
|
'wlr_xdg_foreign_v2.c',
|
|
'wlr_xdg_foreign_registry.c',
|
|
'wlr_xdg_output_v1.c',
|
|
)
|
|
|
|
if features.get('drm-backend')
|
|
wlr_files += files(
|
|
'wlr_drm_lease_v1.c',
|
|
)
|
|
endif
|