Commit Graph

1282 Commits

Author SHA1 Message Date
Victor Brekenfeld eccdd5221c renderer: Make Transform::transform_size use a Size instead of u32 2022-01-04 12:50:39 +01:00
Victor Brekenfeld 57f45d9941 renderer: Allow clear calls on specific regions 2022-01-04 12:50:39 +01:00
Victor Brekenfeld 55ec6dc7cb output: Add userdata to wayland output object
Anvil's output map has a wrapper type `Output`, that largely stores
information of the wayland `Output` type, that is just not accessible.
Lets change that and make it possible to associate userdata with the
output to remove the need to use another wrapper type.
2022-01-04 12:50:39 +01:00
Victoria Brekenfeld 569783655a
Merge pull request #445 from Smithay/fix/keysym_handle
seat: Export KeysymHandle
2022-01-02 00:00:22 +01:00
Victoria Brekenfeld 06704fb3be seat: Export KeysymHandle 2022-01-01 23:45:42 +01:00
Victor Berger c232b5c108 backend: Make SwapBuffersError Send+Sync
This makes using anyhow with Smithay easier.
2021-12-29 16:34:53 +01:00
Victoria Brekenfeld 35c9e02b0d
Merge pull request #442 from dragonnn/fix-use_mode
Fix use_mode when trying to apply higher resolution then the current one
2021-12-23 22:04:35 +01:00
dragonn 5ce5a8abcc call resize after applying new pending model 2021-12-23 17:49:39 +01:00
dragonn 9a7cd23093 make use_mode use the new mode size on test_buffer 2021-12-23 17:47:12 +01:00
Victoria Brekenfeld f8014568de
Merge pull request #441 from Smithay/fix/x11_no_modifiers
x11: Don't use modifiers on old dri3 versions
2021-12-22 21:25:34 +01:00
Victor Brekenfeld 6d51d1dea0 x11: Don't use modifiers on old dri3 versions
Older dri3 versions (< 1.2) do only support dmabufs with one plane.
Lets limit the modifiers early, if we detect that, so we do not end
up allocating buffers the interface does not accept.
2021-12-22 21:08:44 +01:00
Victoria Brekenfeld 9bf4dc5f3c
Merge pull request #440 from Smithay/fix/x11_device_events
x11: add virtual device events
2021-12-22 20:04:51 +01:00
Victor Brekenfeld 94b3ce8e6f x11: Add virtual Device{Added, Removed} events 2021-12-22 19:33:33 +01:00
Victor Brekenfeld cc6225ce21 x11: Move window from Metadata into events
Some events (especially from xinput) cannot be cleanly mapped to a window.
Instead of requiring every event to come with a `Window` reference, move
the window into those events, that have one.
2021-12-22 19:33:33 +01:00
Victoria Brekenfeld 0afebf5fdb
Merge pull request #437 from i509VCB/x11/fix-error-drop 2021-12-21 02:18:59 +01:00
Victoria Brekenfeld 1528562813
Merge pull request #439 from Smithay/fixup/intersection 2021-12-20 20:36:59 +01:00
Victor Brekenfeld 5d8ac82688 geometry: Don't compute intersection for non-overlapping rects 2021-12-20 20:10:09 +01:00
i509VCB ed105528de
x11: emit errors when presentation fails 2021-12-17 19:14:14 -06:00
i509VCB d6051a873f
x11: move X11Surface to submodule to reexport and reorganize internal functions 2021-12-17 16:54:18 -06:00
Victoria Brekenfeld c0b9ecbcdf
Merge pull request #434 from Smithay/feature/geometry_additions
Geometry additions
2021-12-17 22:35:44 +01:00
Victoria Brekenfeld 4faacfdc7c
Merge pull request #436 from i509VCB/x11-poll-unblocker 2021-12-17 19:32:49 +01:00
i509VCB 22204f2845
x11: internal window to send close backend event to 2021-12-17 12:06:30 -06:00
Victor Brekenfeld 8022a60089 utils: documentation fixup 2021-12-17 14:47:53 +01:00
Victor Brekenfeld 7ad5edd6a3 utils: make all geometry operations saturating 2021-12-17 14:47:53 +01:00
Victor Brekenfeld 4628fc6bcc utils: Add intersection to Rectangle 2021-12-17 14:47:53 +01:00
Victor Brekenfeld 1a7027eefc utils: overlap support on-the-fly rect conversion 2021-12-17 14:47:43 +01:00
Victor Brekenfeld ee5c14e673 utils: use stable memory layout for Point/Size/Rectangle 2021-12-17 14:47:43 +01:00
Victor Brekenfeld 2f683112a7 utils: Add min/max to Coordinate 2021-12-17 14:47:43 +01:00
Victor Brekenfeld 95b915d429 utils: Make Coordinate public 2021-12-17 14:47:43 +01:00
Victor Brekenfeld 37adc1174c utils: Add Rectangle::contains_rect 2021-12-17 14:47:43 +01:00
Victor Brekenfeld 3c7bbf65c4 utils: Add Rectangle::to_i32_* variants 2021-12-17 14:47:43 +01:00
Victoria Brekenfeld 82f2e2def6
Merge pull request #433 from i509VCB/x11/invert-window-inner
x11: fix window drop not destroying
2021-12-16 13:41:57 +01:00
i509VCB b80281dcc8
x11: fix window drop not destroying 2021-12-15 20:04:53 -06:00
Victoria Brekenfeld e6ed93beb1
Merge pull request #429 from i509VCB/x11/fix-reentrance
x11: Do not hold lock when dispatching events
2021-12-11 16:29:22 +01:00
i509VCB 09ce3da742 x11: Do not hold lock when dispatching events 2021-12-06 16:39:02 -06:00
Christian Meissl 6b1788d002 rewind the keymap file before
passing it to clients
2021-12-05 17:40:47 +01:00
Victoria Brekenfeld 1088e62a6f
Merge pull request #426 from i509VCB/x11/multi-window 2021-12-03 20:05:32 +01:00
i509VCB e4e964c869 x11: rework impl to allow multiple windows 2021-12-03 11:03:51 -06:00
i509VCB 4f26641f8c x11: require wrapping gbm device in an Arc<Mutex<_>> 2021-12-03 11:03:51 -06:00
i509VCB 210ab8fb21 allocator: general impls for Arc<Mutex<_>> and Rc<RefCell<_>> 2021-12-03 11:03:51 -06:00
Victoria Brekenfeld 769fc8cfd2
Merge pull request #427 from i509VCB/clippy-1.57
resolve new clippy lints
2021-12-03 14:32:32 +01:00
i509VCB 7358d8c9cb resolve new clippy lints 2021-12-02 18:18:39 -06:00
Victoria Brekenfeld f3ae4581c7
Merge pull request #425 from Smithay/fixup/buffer_age
Fixup for #419 and #421
2021-11-29 18:27:27 +01:00
Victor Brekenfeld bd305dc7ee x11: fixup buffer age
The current code always acquires the buffer it just submitted,
which results in always rendering to a buffer with age "1", although
its contents are older, because the currently held buffer is already
submitted, just not to the swapchain. When it finally is submitted
its age is again set to 1, the other gets its correct age (but too late)
and the circle is repeated again. So lets fix that.
2021-11-29 15:55:27 +01:00
Victor Brekenfeld 485aa2a9c7 swapchain: Do not increase the age of 0-age slots
Slots with an age of 0 were never rendered to. This means
we should not increase their age, when others are submitted
or the renderer might wrongfully assume usuable contents are
available in the buffer.
2021-11-29 15:36:53 +01:00
Victoria Brekenfeld a8bc2f4a50
Merge pull request #421 from Smithay/x11/swapchain
x11: use swapchain and expose age
2021-11-27 19:53:12 +01:00
Victoria Brekenfeld 8a5d030a98 x11: Use swapchain and expose age
Refactors the `X11Surface` to use the `Swapchain` internally,
which gives us a buffer age implemenation, which we can then use
to change the `Present` struct of the X11 backend to provide age
values to the user.

This change also merged the `Present` struct into the surface
because submits should now happen explicitly via a new `submit`-call
instead of being submitted implicitly on drop.
This allows the buffer to be discarded if rendering fails.
2021-11-26 22:24:12 +01:00
Victoria Brekenfeld 9ba03c7675
Merge pull request #422 from LoipesMas/patch-1
[Anvil] Fix ScaleDown scaling up
2021-11-26 22:09:52 +01:00
LoipesMas 4c514156b7
Fix ScaleDown scaling up 2021-11-26 20:57:16 +01:00
Victoria Brekenfeld 6b3a00fc06
Merge pull request #420 from i509VCB/x11/egl-drm
Rework X11 backend to use EGL for finding gbm device and associated commits
2021-11-26 13:43:49 +01:00