Victor Brekenfeld
d7350d18ee
desktop: fix negative damage values
2022-01-04 12:50:39 +01:00
Victor Brekenfeld
94968e2d0f
desktop: track damage per space/output
2022-01-04 12:50:39 +01:00
Victor Brekenfeld
3b39d780fe
desktop: layer-shell support
2022-01-04 12:50:39 +01:00
Victor Brekenfeld
cea88fdde0
desktop: Various cleanups
2022-01-04 12:50:39 +01:00
Victor Brekenfeld
31b308836f
renderer: Use fine grained damage for rendering
...
Up until now we always redrew the whole windows, which worked
fine - except for some transparency issues - but left performance
on the table.
So now we use instancing to render only the actually damaged regions
inside the window, which also fixes our few rendering issues.
We also use a shader now for clearing the screen to use instancing as
well and lower the amount of draw calls at the begin of a frame for
clearing parts of it.
And while we are add it we remove the last rendering artifacts
by optimizing the damage vector by deduplicating and merging rectangles.
2022-01-04 12:50:39 +01:00
Victor Brekenfeld
f55f1bbbe0
desktop: handle xdg-popups
2022-01-04 12:50:39 +01:00
Victor Brekenfeld
90f7d53a3a
space: fixup miscalculations
2022-01-04 12:50:39 +01:00
Victor Brekenfeld
25b74e2eaa
space: change output_for_window to return Vec
2022-01-04 12:50:39 +01:00
Victor Brekenfeld
7578fab9cf
desktop: map_window remove unnecessary Result and activate
2022-01-04 12:50:39 +01:00
Victor Brekenfeld
2c0ae025de
desktop: Track surface enter/leave for outputs
2022-01-04 12:50:39 +01:00
Victor Brekenfeld
44829d8fba
desktop: Only render surface damage, if window was not moved
2022-01-04 12:50:39 +01:00
Victor Brekenfeld
98906555f5
desktop: Add new desktop abstractions module
...
Adds a new `Window` and `Space` abstraction to make it easier
to handle windows of various shells and their positions in a
compositor space.
2022-01-04 12:50:39 +01:00
Victor Brekenfeld
76787fb7df
renderer: Account for OpenGLs coordinate system in the Gles2Renderer
2022-01-04 12:50:39 +01:00
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