Commit Graph

25 Commits

Author SHA1 Message Date
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 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 Berger c630bd9086 cargo fmt 2021-06-10 22:01:10 +02:00
Victor Berger 01b5c1a183 anvil: don't release SHM buffers twice 2021-06-09 21:15:27 +02:00
Victor Brekenfeld 5b70ca4206 anvil: dmabuf support 2021-06-08 21:57:35 +02:00
Victor Brekenfeld 969cdda85c renderer: Split Renderer trait into Import sub-traits 2021-06-08 21:47:05 +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 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 5e1128b973 gles2: Link texture in buffer for caching 2021-05-17 00:40:10 +02:00
Victor Brekenfeld 55b4d4b89a shm: Release buffer as soon as possible 2021-05-16 20:08:10 +02:00
Victor Brekenfeld c41cc9828f renderer: Cache textures in SurfaceAttributes 2021-05-16 20:00:45 +02:00
Victor Brekenfeld 149c923876 cargo fmt 2021-05-15 18:17:43 +02:00
Victor Brekenfeld b4f216d7b8 anvil: Update to new renderer changes 2021-05-15 16:12:13 +02:00
Victor Brekenfeld 52c01535d0 rustfmt 2021-05-15 16:12:12 +02:00
Victor Brekenfeld 36bf5618ed clippy fixes 2021-05-15 16:12:12 +02:00
Victor Brekenfeld ccd86cd8c1 anvil: Do not throw rendering errors away 2021-05-15 16:12:12 +02:00
Victor Brekenfeld 0661ebebb8 anvil: Properly free textures 2021-05-15 16:12:12 +02:00
Victor Brekenfeld 30a8693789 anvil: Reintroduce egl buffer support 2021-05-15 16:12:12 +02:00
Victor Brekenfeld 43d3e9cd14 anvil: Fixup udev/tty backend, so that it runs at least 2021-05-15 16:12:12 +02:00
Victor Brekenfeld 2c9c150e5e renderer: Remove `Frame` trait and merge into `Renderer`
Tracking of Frames, so that only one unique one can exist at a time
(gles does not allow multiple frames being rendered in parallel)
lead to very unfriendly lifetime-heavy code. A renderer is already
*unique*, just move the code there and add an error variant to catch
misuses.
2021-05-15 16:12:12 +02:00
Victor Brekenfeld fb30c830d7 Fixup anvil for winit rendering
- Since a lot of functionality is now in smithay's rendering module
  we can get rid of shm_load, shaders and the glium dependency.
- glium_drawer becomes drawing and only features some code to get from surfaces
  to textures for any(!) renderer.
  (Should probably moved into smithay at some point as well.)
- buffer_utils is only necessary to query the buffer size anymore.
- disable egl-buffer support temporarily
2021-05-15 16:12:12 +02:00