Victor Brekenfeld
eb5e4bcf92
Fix wl_drm on winit backend
2021-06-27 22:19:12 +02:00
Victor Berger
ad55ab71c9
compositor: Introduce transaction state tracking
...
This changes the state handling logic of wl_surface to automatically
track subsurface pending in the form of transactions. The role enum
(and the associated type parameter) is no more, and replaced by a
general-purpose typemap-like container on surfaces.
The new logic is introduced in the files:
- `src/wayland/compositor/cache.rs`
- `src/wayland/compositor/transaction.rs`
The rest of the PR is the fallout of these changes, as well as a few
trivial clippy fixes.
2021-06-26 21:52:38 +02:00
Victor Brekenfeld
736e4e8bec
Merge pull request #303 from Smithay/feature/import_egl_buffer_reader
...
Move `EGLBufferReader` management into `ImportEgl`
2021-06-24 22:54:58 +02:00
Victor Brekenfeld
d17cd5326d
Remove EGLBufferReader from buffer_type and buffer_dimensions api
2021-06-24 22:17:08 +02:00
Victor Brekenfeld
c578a9e16c
Move EGLBufferReader management into ImportEgl
2021-06-24 22:12:08 +02:00
Victor Brekenfeld
268ad95767
gles2: Fixup cleanup of unused dmabuf-bindings
2021-06-23 18:36:06 +02:00
Victor Brekenfeld
ce3b2d1eab
Rework `DrmRenderSurface` into `GbmBufferedSurface`.
...
Removes the renderer from the `DrmRenderSurface` allowing anvil
to use just one renderer per backend.
Since the old `DrmRenderSurface` was dependant on gbm anyway to import
buffers, the new `GbmBufferedSurface` does now only supports gbm as an allocator,
which hugely simplifies the code and also skips some unnecessary imports/exports.
2021-06-23 18:36:06 +02:00
Christian Meissl
6bd0d71ebc
do not remove the surface focus during ungrap
...
fixes #163
2021-06-22 13:15:30 +02:00
Christian Meissl
c4f2d34647
fix clippy unknown lint
2021-06-20 12:08:04 +02:00
Christian Meissl
4cb03a1d0d
track suppressed keys and...
...
...forward non suppressed keys on release
fixes #242
2021-06-20 12:07:47 +02:00
Poly
69543c0cfa
Fix Anvil panic when resizing dead window
2021-06-18 11:39:33 +02:00
Poly
f9f77288c8
libseat support ( #292 )
2021-06-15 23:35:16 +02:00
cmeissl
e9aef7caad
rework xdg_shell ( #286 )
...
* rework xdg_shell
use distinct surface roles for xdg_toplevel and
xdg_popup using a xdg_role! macro
* fix clippy warnings in shell
* added a generic DeadResource error and...
...added a result to xdg with_pending_state
Renamed the ToplevelState to ToplevelStateSet
2021-06-15 23:32:02 +02:00
Victor Berger
41c7b22cc4
doc: fix ci upload & broken links
2021-06-11 17:46:32 +02:00
Victor Berger
9ad0edd2a3
Fix several clippy lints
2021-06-10 22:01:10 +02:00
Victor Berger
c630bd9086
cargo fmt
2021-06-10 22:01:10 +02:00
Victor Berger
671e2053e9
xwayland: rework as an EventSource
...
Reorganize the XWayland abstraction into a calloop EventLoop.
Fixes #245
Fixes #203
2021-06-10 21:52:08 +02:00
Victor Berger
01b5c1a183
anvil: don't release SHM buffers twice
2021-06-09 21:15:27 +02:00
Victor Berger
484f2cd14f
Update IRC reference
2021-06-08 22:05:40 +02:00
Stefan Schick
b17b40c2bb
Use Default derive for ModifiersState and remove new() ( #285 )
2021-06-08 21:58:21 +02:00
Victor Berger
ad444ead75
wayland.dmabuf: fix doctest
2021-06-08 21:57:35 +02:00
Victor Brekenfeld
5b70ca4206
anvil: dmabuf support
2021-06-08 21:57:35 +02:00
Victor Brekenfeld
a38592bc92
dmabuf: Unify types of `wayland::dmabuf` and `allocator::dmabuf`
2021-06-08 21:57:35 +02:00
Victor Brekenfeld
b6822becf6
egl: expose supported dmabuf formats
2021-06-08 21:57:35 +02:00
Victor Brekenfeld
7cdafcca34
ci: Test specific features without default set
2021-06-08 21:49:21 +02:00
Victor Brekenfeld
969cdda85c
renderer: Split Renderer trait into Import sub-traits
2021-06-08 21:47:05 +02:00
Victor Brekenfeld
2661b86019
renderer: Add a way to query the buffer *type*
2021-06-08 21:47:05 +02:00
Victor Berger
327321612d
anvil: remove several Rc and RefCell
2021-06-03 11:45:22 +02:00
Victor Berger
85440840c8
anvil: flatten DrmRenderer into AnvilState
2021-06-03 11:45:22 +02:00
Victor Berger
4bf6bfa08d
anvil: reorganize platform-specific values
2021-06-03 11:45:22 +02:00
Victor Berger
3f01f978f8
wayland.compositor: DispatchData available in the callback
2021-06-03 11:45:22 +02:00
Victor Berger
aaa6e625e9
Update to calloop 0.8, DrmDevice as an EventSource
2021-06-03 11:45:22 +02:00
Victor Brekenfeld
e008360bde
allocator: Let the allocator select the best modifier out of a given set.
...
This change fixes modifier selection by delegating this to the allocators
and thus to libgbm, which can ask the driver for an appropriate modifier
for scanout, that results in the best possible performance.
We do not have this information, the order in which modifiers are returned
by EGL has no meaning and this is far better then testing modifiers
non-deterministically at random and choosing the first one, that does
not error out...
2021-06-03 11:19:22 +02:00
Christian Meissl
4f0161658f
make the frame_callback a list
2021-05-30 15:40:35 +02:00
Victor Brekenfeld
9d16e7d8bb
Merge pull request #261 from Smithay/renderer/v4
...
Rework backend/rendering code... again (v4)
2021-05-29 18:10:38 +02:00
Victor Brekenfeld
87d33fc42e
renderer: Document `Frame` Associated Type and Trait
2021-05-29 17:57:34 +02:00
Victor Brekenfeld
7aa0c43396
drm/atomic: workaround possible amdgpu bug
2021-05-29 17:53:08 +02:00
Victor Brekenfeld
3e984d5cf3
Remove unused imports
2021-05-27 17:35:28 +02:00
Victor Brekenfeld
25c61c7a73
Fixup import_buffer definition to account for subsurface damage
2021-05-27 17:35:28 +02:00
Victor Brekenfeld
12e80ca2c6
cargo fmt
2021-05-26 19:12:45 +02:00
Victor Brekenfeld
890a17189b
Merge pull request #279 from cmeissl/renderer/v4-fix-egl-y-invert
...
handle egl query with EGL_WAYLAND_Y_INVERTED_WL returning EGL_FALSE
2021-05-26 19:10:50 +02:00
Christian Meissl
730dbc896a
handle egl query with EGL_WAYLAND_Y_INVERTED_WL...
...
...returning EGL_FALSE
2021-05-25 12:28:35 +02:00
Victor Brekenfeld
67a9478293
renderer: Properly cache shm-resource surface-global
2021-05-25 00:40:55 +02:00
Victor Berger
6bfe6e1f25
Fix damage handling to support multiple rectangles
2021-05-24 23:50:14 +02:00
Victor Brekenfeld
978ef1b393
renderer: Closure-based api
2021-05-24 23:46:03 +02:00
Victor Brekenfeld
73420b75bc
renderer: Implementation comments
2021-05-24 19:28:21 +02:00
Victor Brekenfeld
e696ce4c35
fix intra-doc links
2021-05-24 19:15:46 +02:00
Victor Brekenfeld
e5a1afd306
Merge pull request #276 from cmeissl/renderer/v4-fix-egl-drm-rendering
...
disable texture cache for egl imports
2021-05-23 21:58:01 +02:00
Christian Meissl
0493215c8e
disable texture cache for egl imports and...
...
...fix format in gles2 renderer
2021-05-23 17:54:12 +02:00
Victor Brekenfeld
2843c5c374
Address some review comments
2021-05-23 15:13:04 +02:00