2406 Commits (c46d3da97685fb5314948f9467d3627671e83738)

Author SHA1 Message Date
Alexander Orzechowski 394accbe4a wlr_compositer: Keep track if surface has committed a buffer before.
2 years ago
Alexander Orzechowski cbe8876050 linux_dmabuf_v1: Use wlr_drm_format_set_union
2 years ago
Simon Ser bf8ae8a036 output/cursor: fix buffer size when nested and scaled
2 years ago
Simon Ser d7fcc1e96f scene: port to wlr_render_pass
2 years ago
Simon Ser 587852056c output: add wlr_output_add_software_cursors_to_render_pass()
2 years ago
Simon Ser 44069dfd5e output-layer: add cropping support
2 years ago
Andri Yngvason 00489b11a0 seat: Provide dummy resources for inert seats
2 years ago
Andri Yngvason 3898bb482d seat: Let client manage its own resources
2 years ago
Andri Yngvason 1689a3503b wlr_seat: Extract seat_client_create() function
2 years ago
Alexander Orzechowski eac2eaa6a9 wlr_scene: Fix potential use-after-free in wlr_scene_buffer_set_buffer
2 years ago
Alexander Orzechowski 39be67df46 wlr_scene: Send presentation event before direct scanout output commit
2 years ago
Simon Ser dae2deb3c9 compositor: add wlr_surface_set_preferred_buffer_transform()
2 years ago
Simon Ser 42edd36785 compositor: add wlr_surface_set_preferred_buffer_scale()
2 years ago
Simon Ser 0bb574239d compositor: pass version in wlr_compositor_create
2 years ago
Kirill Primak 87e7584dd4 compositor: use defunct_role_object error
2 years ago
Kirill Primak fac7a5cc9d subcompositor: use bad_parent error
2 years ago
Kirill Primak 49435cb27b subcompositor: simplify get_subsurface handler
2 years ago
Alexander Orzechowski b1e38fc7ea output: Drop output_is_direct_scanout
2 years ago
Simon Ser 9ef98452a3 output-damage: drop
2 years ago
Simon Ser 7abda952d0 output: drop direct scan-out check in output_basic_test()
2 years ago
Simon Ser ec5135cb09 scene: check wlr_output_is_direct_scanout_allowed()
2 years ago
Simon Ser 079ff9e6fb output: add wlr_output_is_direct_scanout_allowed()
2 years ago
Simon Ser 835208db98 output-layer: add support for scaling buffers
2 years ago
Simon Ser e00c4cd7dc output-layer: cache current state
2 years ago
Kirill Primak a3489f2c64 xdg-shell: improve unmapping logic slightly
2 years ago
Simon Ser 1b6fac4aa6 output-layer: require all layers in wlr_output_state.layers
2 years ago
Isaac Freund 87969c1c7c
xdg-decoration: send missing protocol errors
2 years ago
Alexander Orzechowski 9ac94516b8 wlr_scene: Skip direct scanout if there is no damage
2 years ago
Simon Ser 38839ac536 gamma-control-v1: simplify get_gamma_control error handling
2 years ago
Simon Ser 9108717d5d gamma-control-v1: fix handling of duplicate control
2 years ago
Isaac Freund 5ae17de23f
xdg-shell: improve validation of resize edges
2 years ago
Simon Ser 5079000e49 output: allow modeset with buffer while frame is pending
2 years ago
Simon Ser ab7eabac84 output: leverage wlr_output_configure_primary_swapchain()
2 years ago
Simon Ser fef8ab22e3 output: introduce wlr_output_configure_primary_swapchain()
2 years ago
Simon Ser b33ab26fe7 render/swapchain: make public
2 years ago
Simon Ser 7215bd1e0f output: expose wlr_output_state_set_buffer()
2 years ago
Simon Ser 4629d0ef40 output: expose wlr_output_state_finish()
2 years ago
Simon Ser d25ab03326 screencopy-v1: drop unnecessary pixman_region32_t casts
2 years ago
Alexander Orzechowski 3ef9f91283 wlr_scene: Add dmabuf_feedback helper
2 years ago
Alexander Orzechowski 4ddc20e14c wlr_scene: Extract considering logic for direct scanout
2 years ago
Alexander Orzechowski 323f0b94db wlr_scene: Cleanup header includes
2 years ago
Simon Ser 849c362ffb linux-dmabuf-v1: add helper for output layer feedback events
2 years ago
Simon Ser e1335a792a output-layer: add feedback event
2 years ago
Simon Ser 3e0ce761ad output: add wlr_output_set_layers()
2 years ago
Simon Ser 2f29b0c438 Add wlr_output_layer
2 years ago
Vasyl Vavrychuk 58067a2084 fullscreen-shell: add release request handler
2 years ago
Kenny Levinsen 1225f81a6a scene: Add fractional scale handling
2 years ago
Kenny Levinsen efb8df8b22 wp-fractional-scale-v1: new protocol implementation
2 years ago
Simon Ser c6ecbf09b5 linux-dmabuf-v1: fix missing SCANOUT flag
2 years ago
Simon Ser 8c5713bd7a linux-dmabuf-v1: use wlr_linux_dmabuf_feedback_v1_init_with_options()
2 years ago
Simon Ser 0c966f102c linux-dmabuf-v1: add wlr_linux_dmabuf_feedback_v1_init_with_options()
2 years ago
Simon Ser b264ec7767 linux-dmabuf-v1: add basic helpers for feedback
2 years ago
Simon Ser 5cd14dfc91 linux-dmabuf-v1: stop using const in feedback
2 years ago
Consolatis f6008ffff4 xdg-activation: accept pointer focus for new tokens
2 years ago
Alexander Orzechowski 7b32c25a4f wlr_scene: Rename wlr_scene_surface_from_buffer
2 years ago
Kirill Primak dc7b5ab21e layer-shell: forbid changing the existing popup parent
2 years ago
Simon Ser 92eedb84c1 output: don't attach buffer on first commit if disabled
2 years ago
Kirill Primak 911648f430 subcompositor: fix mapped parent check
2 years ago
Simon Ser eb3e8f08a8 subcompositor: convert to try_from
2 years ago
Simon Ser c5f7f8ab98 ext-session-lock-v1: convert to try_from
2 years ago
Simon Ser f9bd416d41 layer-shell-v1: convert to try_from
2 years ago
Simon Ser 49cb85ad72 input-method-v2: convert to try_from
2 years ago
Simon Ser 711a1a3ed4 xdg-shell: convert to try_from
2 years ago
Simon Ser 0f24d27e0b xdg-shell: rename wlr_xdg_popup.committed to sent_initial_configure
2 years ago
Simon Ser df0c926a7a xdg-shell: rename wlr_xdg_toplevel.added to sent_initial_configure
2 years ago
Simon Ser e1a1dc4be5 xdg-shell: remove unnecessary return
2 years ago
Simon Ser e69dd909f7 xdg-shell: reset added/committed flag on unmap
2 years ago
Simon Ser 0e54b861e9 seat/keyboard: constify wlr_seat_keyboard_notify_enter()
2 years ago
Simon Ser 695d28c250 seat/keyboard: constify wlr_seat_keyboard_notify_modifiers()
2 years ago
Simon Ser e44834595d seat/keyboard: constify args in wlr_seat_keyboard_enter()
2 years ago
Simon Ser 12e04d8f83 seat/keyboard: constify wlr_seat_keyboard_send_modifiers()
2 years ago
Simon Ser f41dcb3a97 seat/keyboard: skip wl_array allocation
2 years ago
Alexander Orzechowski 5007e713b4 wlr_scene: Send intersecting list of scene outputs for outputs_update signal
2 years ago
Kirill Primak 843b874f22 output-layout: improve closest point for no outputs case
2 years ago
Alexander Orzechowski 5f264a7d6c subcompositor: Clean up subsurface_consider_map
2 years ago
Alexander Orzechowski 84aee1d708 subcompositor: Clarify comment on subsurface mapped consideration
2 years ago
Isaac Freund 869af1cfbb
session-lock: send more protocol errors
2 years ago
Kirill Primak b28a9afd4b presentation-time: finish surface addon
2 years ago
bi4k8 790fb93794 cursor: compare to scaled coords
2 years ago
xiliuya 7f6d646e0a keyboard: only update LEDs when changed
2 years ago
Kirill Primak 79248e4961 xdg-shell: use defunct_role_object error
2 years ago
Ronan Pigott f8e70af318 wlr_xdg_activation_v1: add new_token event
2 years ago
Kirill Primak 097ea84cda output-layout: improve API
2 years ago
Kirill Primak 27ea18cc33 output-layout: remove wlr_output_layout_output_state
2 years ago
Simon Ser 512deebd82 compositor: add wlr_surface.events.precommit
2 years ago
Simon Ser d92f92f2d3 wl-drm: only advertise formats supporting implicit modifiers
2 years ago
Simon Ser f36a5915da wl-drm: don't store wlr_renderer
2 years ago
Simon Ser c8eb24d30e output: drop enable/mode events
2 years ago
Simon Ser 4287f70dc3 output-layout: stop listening for output mode events
2 years ago
Simon Ser 19dfe99496 output-damage: stop listening for output mode events
2 years ago
Simon Ser fecbaa2bd6 scene: stop listening for output enable/mode events
2 years ago
Alexander Orzechowski fe891ebd4e output_init_render: Allow re-initialization
2 years ago
Simon Ser f103dc74d8 linux-dmabuf-v1: introduce wlr_linux_dmabuf_v1_create()
2 years ago
Simon Ser 9c04fd2496 linux-dmabuf-v1: drop wlr_renderer field
2 years ago
Simon Ser 88493d1f7c linux-dmabuf-v1: don't use wlr_renderer to send legacy format list
2 years ago
Simon Ser d45cffb865 linux-dmabuf-v1: don't use wlr_renderer to sanity check DMA-BUFs
2 years ago
Simon Ser c99c60090c linux-dmabuf-v1: add version arg to create()
2 years ago
Simon Ser 444d94ef89 linux-dmabuf-v1: add "_with_renderer" suffix to create() function
2 years ago
Simon Zeni 0611c10909 types/wlr_seat: finish keyboard_state during wlr_seat_destroy
2 years ago
Johan Malm 338e0a3976 scene/layer_shell_v1.c: remove redundant comment
2 years ago
Johan Malm 8e80432a72 scene/layer_shell_v1.c: set exclusive zone correctly
2 years ago
Alexander Orzechowski 32d00984e1 wlr_scene: Expand damage cull region with fractional scales
2 years ago
Alexander Orzechowski fe21fc6920 wlr_scene: Don't cull the entire output when entering direct scanout
2 years ago
Kirill Primak 5477ad7d90 scene: fix output damage expansion condition
2 years ago
Simon Ser 35a0d9c85d scene: set output damage during direct scan-out
2 years ago
Simon Ser ce089498cc scene: use wlr_output_state for direct scanout
2 years ago
Simon Ser 76b3687739 shm: add create() function without a wlr_renderer
2 years ago
Kirill Primak 060df4c6c0 scene: introduce wlr_scene_buffer.events.outputs_update
2 years ago
Simon Ser 42016fa262 compositor: make renderer optional
2 years ago
Simon Ser 1978a91717 compositor: release current buffer after commit event
2 years ago
Guido Günther 8a56490229 seat/pointer: Initialize low_res_value
2 years ago
Simon Ser f84f7c7710 wl-drm: use resource interface
2 years ago
Simon Ser 772066a174 linux-dmabuf-v1: use resource interface
2 years ago
Kirill Primak c2fb5289c2 xdg-shell: send invalid_size errors
2 years ago
Simon Ser 6c3d6be74b output: drop wlr_output_damage_whole()
2 years ago
Simon Ser ef5e2cc5e3 output: call wlr_output_update_enabled() after commit
2 years ago
bi4k8 8b12037cad wlr_seat: clear `drag->seat_client` when destroyed
2 years ago
Alexander Orzechowski 265439600e output: Initialize request_state
2 years ago
Simon Ser 270b8dd342 shm: allow accessing multiple shm mapping concurrently
2 years ago
Simon Ser 6c277e3c39 buffer: drop wlr_shm_client_buffer
2 years ago
Simon Ser 0ae3c7b1a2 Introduce wlr_shm
2 years ago
Simon Ser 48541d2f2e scene: check wlr_renderer_begin return value
2 years ago
Simon Ser 45159f8708 output: check wlr_renderer_begin return value
2 years ago
Simon Ser bf623ec782 content-type-v1: add version param to wlr_content_type_manager_v1_create()
2 years ago
Simon Ser ff55663906 output: introduce request_state event
2 years ago
Simon Ser 024627e872 content-type-v1: new protocol implementation
2 years ago
Simon Ser 258bf9be1e compositor: drop wlr_surface.{sx,sy}
2 years ago
Alexander Orzechowski c8a5dfcc87 wlr_scene: Add drag icon helper
2 years ago
Simon Ser 9f793d3503 layer-shell-v1: specify version in constructor
2 years ago
Simon Ser 2b22a10478 scene: constify region APIs
2 years ago
Simon Ser c5d79bfb26 region: constify
2 years ago
Simon Ser fe4225d5de output: constify damage APIs
2 years ago
Simon Ser 9e10e9af7f output-damage: constify wlr_output_damage_add()
2 years ago
Simon Ser fb7bd920a6 damage-ring: constify wlr_damage_ring_add()
2 years ago
Simon Ser 93597952aa buffer: constify wlr_client_buffer_apply_damage()
2 years ago
Alexander Orzechowski c58ad0f171 wlr_scene: Remove duplicate buffer check when submitting a new buffer
2 years ago
Alexander Orzechowski ea40ba4f6a wlr_scene: Fix texture reuse
2 years ago
Simon Ser 440d7fa072 scene: destroy addons before cleaning up internal state
2 years ago
Simon Ser 24c149fefb scene: fix whitespace
2 years ago
Kirill Primak 123a08b448 scene: fix output damage expansion
2 years ago
Kirill Primak 388de59df3 compositor: use the correct input region
2 years ago
Kirill Primak c09d3450d4 compositor: enforce surface destruction order
2 years ago
Kirill Primak 099b9de752 compositor: drop role object NULL checks in handlers
2 years ago
Kirill Primak acd5a64fd1 xdg-shell: use role object destroy handler
2 years ago
Kirill Primak 92fbfda2ca drag-icon: use role object destroy handler
2 years ago
Kirill Primak 75af6a0a39 input-method: use role object destroy handler
2 years ago
Kirill Primak bcf6b2bbf8 session-lock: use role object destroy handler
2 years ago
Kirill Primak 2518ace573 subcompositor: use role object destroy handler
2 years ago
Kirill Primak 3da2cf3eb3 layer-shell: use role object destroy handler
2 years ago
Kirill Primak 756260ac05 compositor: introduce wlr_surface_destroy_role_object()
2 years ago
Kirill Primak 1243a855d4 xdg-shell: fix geometry types
2 years ago
Kirill Primak 92e3c5b798 scene: fix buffer source box transforming
2 years ago
Isaac Freund a773231c42 wlr-output-management: implement adaptive sync
2 years ago
Alexander Orzechowski c2d2773df5 wlr_scene: Handle fractional scaling better
2 years ago
Simon Ser f0ee563416 output: try to use fixed mode in wlr_output_set_custom_mode()
2 years ago
Alexander Orzechowski c07424411a wlr_scene: Destroy the texture when setting a new buffer.
2 years ago
Simon Ser 3a949ea8eb idle-notify-v1: new protocol implementation
2 years ago
Kirill Primak a049d66dd7 xdg-toplevel: send invalid_parent error
2 years ago
Alexander Orzechowski 5ba6cf517b wlr_scene: use wl_container_of() instead of casts
2 years ago
Simon Ser 650f955507 output: fix crash in output_test_with_back_buffer()
2 years ago
Alexander Orzechowski 99f55303aa wlr_scene: Apply source box translation
2 years ago
Alexander Orzechowski ceff381747 wlr_scene: Ignore disabled outputs
2 years ago
Alexander Orzechowski f0e31e806f wlr_scene: Fix not updating the scene node when setting a new buffer
2 years ago
Alexander Orzechowski dd9cfd3e2f wlr_scene: Be resilient against overflow conditions
2 years ago
Simon Ser 5b0719b17c drm-lease-v1: reject the lease request by default
2 years ago
Simon Ser 11d073ab09 drm-lease-v1: send finished event on failure in submit request
2 years ago
Simon Ser 5c382f6344 drm-lease-v1: fix error codepath
2 years ago
Simon Ser 3be6658ee7 output: allocate swapchain on first commit
2 years ago
Simon Ser e92b272616 output/render: make output_ensure_buffer() no-op when missing renderer
2 years ago
Simon Ser 7d8284ec10 output/render: early return in output_ensure_buffer()
2 years ago
Kirill Primak 7eedbde878 tablet-v2: fix event parameters
2 years ago
Kirill Primak ff9c52801f output: add a swapchain NULL check in wlr_output_commit_state()
2 years ago
Kirill Primak dd0665d822 output-damage: drop precommit listener
2 years ago
Kirill Primak b9155c5b80 output-damage: fix setting pending_attach_render
2 years ago
Simon Ser 6832ae14aa render: drop wlr_renderer_read_pixels() flags
2 years ago
Simon Ser 50cc1ef4d3 screencopy-v1: simplify frame_dma_copy() error path
2 years ago
Simon Ser 0af4affd0b screencopy-v1: fix frame_shm_copy() error path
2 years ago
Kirill Primak b7e2a2584e foreign-toplevel-management: fix indentation
2 years ago
Simon Ser e40d492b78 output: fix typo in error message
2 years ago
Simon Ser a0345f2854 output: add wlr_output_state.allow_artifacts
2 years ago
Simon Ser c153ae3c5d screencopy-v1: use wlr_buffer APIs
2 years ago
Simon Ser f03da48491 screencopy-v1: rename wlr_screencopy_frame_v1.stride
2 years ago
Simon Ser 77b829e15f screencopy-v1: use DRM format code for shm buffers
2 years ago
Simon Ser 4885c08f38 screencopy-v1: rename wlr_screencopy_frame_v1.{format,fourcc}
2 years ago
John Lindgren 68c8cef38e cursor: Don't warp to (0,0) when last output is disconnected
2 years ago
John Lindgren 5417a182e5 cursor: Add a more general check for infinite/NaN cursor position
2 years ago
Simon Ser 8e8b9a7217 output: fix back buffer checks
2 years ago
Simon Ser 0556aa0c59 output: rejigger attach/clear for back buffer
2 years ago
Simon Ser 0213da60bb output: drop back_buffer variable in wlr_output_commit_state()
2 years ago
Simon Ser 679d5ba699 output: inline output_attach_render()
2 years ago
Simon Ser 2ad25b1460 output: fix wlr_output_set_gamma() with zero size
2 years ago
Kirill Primak ebd4c83cd6 xdg-toplevel: validate resize_edge
2 years ago
Simon Ser 69c47717c2 buffer: split into multiple files
2 years ago
John Lindgren 1facdeabe5 wlr_drm_lease_v1: Fix use-after-free in backend_destroy()
2 years ago
Simon Ser 7d9c595f19 output/cursor: downgrade error messages
2 years ago
Simon Ser b5a474189e output/render: log human-readable format
2 years ago
Kirill Primak 42ae1e75aa subcompositor: consider mapping after adding
2 years ago
Kirill Primak 3abedaf211 subcompositor: move+rename subsurface_parent_commit()
2 years ago
Kirill Primak 4cc3abb966 xdg-foreign-v2: s/unmap/destroy
2 years ago
Kirill Primak ba7bbab3ab xdg-foreign-v1: s/unmap/destroy
2 years ago
Simon Ser d8ef9a95de xdg-foreign-v2: return wlr_xdg_toplevel in verify_is_toplevel()
2 years ago
Simon Ser 053bb42a6d xdg-foreign-v1: return wlr_xdg_toplevel in verify_is_toplevel()
2 years ago
Consolatis 0cff058f38 wlr_virtual_pointer_v1: fix discrete scrolling
2 years ago
Alexander Orzechowski 2e06ff5688 wlr_scene: Clarify surface commit frame events
2 years ago
Alexander Orzechowski 35d94d779c wlr_scene: Consider screen position when culling background
2 years ago
Kirill Primak 26e1812ab3 output-layout: improve wlr_output_layout_output_in_direction()
2 years ago
Kirill Primak 2ea80eb115 output-layout: avoid uninitialized wlr_box fields
2 years ago
Kirill Primak 4462f5dcb3 cursor: avoid uninitialized wlr_box fields
2 years ago
Alexander Orzechowski 138d21464d wlr_compositor: Don't leak region32 when calculating opaque region
2 years ago
Alexander Orzechowski 78cf39b6bd wlr_scene: Don't leak a region32 when texture failed to upload
2 years ago
Alexander Orzechowski fe9e193ab5 wlr_scene: More sanity checking
2 years ago
Kirill Primak 7333a4602a util/set: overhaul
2 years ago
Kirill Primak 20c208d46a util/array: unclutter
2 years ago
Isaac Freund d94d1bf0ea
output: clean up after modifierless test failure
2 years ago
Alexander Orzechowski fa7d2cb8d6 wlr_scene: Only consider visible parts of the node when culling background
2 years ago
yiqiang 6a11256cd0 scene/wlr_scene:fix judgment of invisible node
2 years ago
Alexander Orzechowski 525506559a wlr_compositor: Use wlr_fbox_equal
2 years ago
Isaac Freund d452a729cb
wlr-output-management: fix broken asserts
2 years ago
Isaac Freund 4c1afb126b wlr-output-management: Implement version 3 release requests
2 years ago
Alexander Orzechowski d3cb6b73a2 wlr_scene: Initialize region32 before trying to use it
2 years ago
Alexander Orzechowski 8bd7170fd9 Use env helpers
2 years ago
Alexander Orzechowski e7477c7114 wlr_scene: Improve awkward code style
2 years ago
Alexander Orzechowski 9bba4284e4 wlr_scene: Cull background
2 years ago
Alexander Orzechowski 6d1b8b376d wlr_scene: Only enable black rect optimization if culling is enabled
2 years ago
Alexander Orzechowski 4d4f823263 wlr_scene: Simplify calculate_visibilty option
2 years ago
Kenny Levinsen 7c575922c0 wlr_scene: Convert render_list to wl_array
2 years ago
Mark Bolhuis 9ab819684d types/wlr_xdg_output_v1: Fix wl_output.done bug.
2 years ago
Alexander Orzechowski ef4baea0e2 Use wl_signal_emit_mutable
2 years ago
yiqiang 3621c14b82 wlr_scene: fix color value when filtering black boxes
2 years ago
Alexander Orzechowski bea4bd43e3 wlr_scene: Use wlr_box_equal
2 years ago
Alexander Orzechowski bcf7a79357 wlr_scene: Use wlr_fbox_equals
2 years ago
Alexander Orzechowski 919e67da7d wlr_scene: Account for occlusion by other scene nodes when calculating visibility
2 years ago
Alexander Orzechowski ce57485e6a wlr_scene: Calculate output intersections based on node visibility
2 years ago
Alexander Orzechowski 342830e99c wlr_scene/surface: Hook through opaque metadata
2 years ago
Alexander Orzechowski 18417026be wlr_scene: Introduce buffer opaque region metadata
2 years ago
Alexander Orzechowski 0a9a941ba3 wlr_scene: Rewrite direct scan out logic to rely on visibility
2 years ago
Alexander Orzechowski 14f4cfffba wlr_scene: Don't render non visible parts of textures/rects
2 years ago
Alexander Orzechowski d16d341381 wlr_scene: Only send frame done events for visible buffers
2 years ago
Alexander Orzechowski 6d62300324 wlr_scene_set_buffer_with_damage: Only damage the visible parts of the node
2 years ago
Alexander Orzechowski c6246272fd wlr_scene: Rework damage handling
2 years ago
Alexander Orzechowski 028606512d wlr_scene: Add per scene node visibility
2 years ago
Alexander Orzechowski f411ca040e wlr_scene: Damage scene on node destroy by disabling node
2 years ago
Alexander Orzechowski 7f17774d18 wlr_scene: Introduce scene_nodes_in_box
2 years ago
Simon Ser c2359d0321 surface: implement wl_surface.offset
2 years ago
Simon Ser 42d68d7532 surface: add WLR_SURFACE_STATE_OFFSET
2 years ago
Simon Ser 98cf38601f render: replace wlr_texture_write_pixels with update_from_buffer
2 years ago
Alexander Orzechowski f72aeacd6e wlr_scene: Add option to disable direct scanout
2 years ago
Kenny Levinsen 3baf2a6bcf scene/layer_shell: Ignore unmapped exclusion zone
2 years ago
Kenny Levinsen 7abe8352db xdg_shell: Destroy popups after unmap event
2 years ago
Kenny Levinsen 668b2740ff Set mapped before firing map/unmap events
2 years ago