Victor Brekenfeld
d6fa2e96cf
drm: Require all surfaces to always have a mode set
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
b6087bf2d2
legacy: move create_surface into Surface constructor
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
77875f71c6
fallback: add disable_connectors to `FallbackDevice` initialization
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
50f94d013a
legacy: disable connectors on device creation
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
8c8f5e0d59
atomic: disable connectors on device creation
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
260bfd9f86
clippy fixes
2020-04-21 20:18:35 +02:00
Victor Brekenfeld
dcd6934d08
legacy: remove outdated comment
2020-04-21 20:18:35 +02:00
Victor Brekenfeld
11bb910224
atomic: flesh out trace logs
2020-04-21 20:18:35 +02:00
Victor Brekenfeld
ef05dacc0d
atomic: Move out `add/map_props` to `Dev`
2020-04-21 20:18:35 +02:00
Victor Brekenfeld
df951b5de7
common: add fallback device/surface types
2020-04-21 20:18:35 +02:00
Victor Brekenfeld
35943fc56a
typo: ctrc -> crtc in drm/mod.rs
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
57e5494941
legacy: bugfix, add null-commit to free pipeline
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
ea44343315
drm: add set_connectors to Surface
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
d3b8563f65
gbm: Try to re-create resources and commit if restarting the rendering loop fails
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
d30bd4555e
anvil: use atomic modesetting
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
365b7e6496
drm: Add atomic modesetting support
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
e8cb940aab
drm legacy: small cleanups + additional logging
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
1b259e2deb
typo: priviledged -> privileged
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
41696f5364
drm: trigger vblank on commit
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
ed257e8991
drm: move legacy::Error into common module
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
df27224372
gbm: implement CursorBackend generically
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
cde06eb99a
cursor: simplify trait by removing barely utilized lifetimes
2020-04-21 20:18:34 +02:00
Sergey Smirnykh
ce1b7ae8e4
Fix clippy::cognitive-complexity warning ( #198 )
...
Use helper functions in <LibinputInputBackend as InputBackend>::dipatch_new_events
to simplify the code
Move said helper functions to libinput/helpers.rs
Move libinput.rs to libinput/mod.rs
2020-04-21 14:53:59 +02:00
Sergey Smirnykh
a5cd2978b3
Fix clippy::unnecessary::filter-map warning
2020-04-21 11:15:26 +02:00
Victor Brekenfeld
2101f17b7b
Merge pull request #192 from Smithay/fix/primary_gpu
...
Fix primary_gpu
2020-04-18 18:26:49 +02:00
Victor Brekenfeld
bcb2aa3864
Fix egl_to_texture check
2020-04-18 15:03:20 +02:00
Victor Brekenfeld
39500f1d05
Fix primary_gpu
2020-04-18 13:41:54 +02:00
Chandler Newman
28eb4dd943
Fix vsync attribute
2020-04-16 16:03:10 +01:00
Chandler Newman
4b97ed8eba
Reduce choose_config complexity
2020-04-16 16:02:36 +01:00
Chandler Newman
f8c97baf1d
Prevent display being destroyed until all resources have been dropped
2020-04-16 13:44:32 +01:00
Chandler Newman
c4016af67b
Add default settings for surface creation
2020-04-16 12:33:28 +01:00
Chandler Newman
f7c05fa064
Rename WaylandEGLDisplay to EGLBufferReader
2020-04-15 21:19:20 +01:00
Chandler Newman
a4d2043b7e
Fix clippy warnings
2020-04-15 12:27:01 +01:00
Chandler Newman
3c6877f094
Fix formatting
2020-04-15 12:24:31 +01:00
Chandler Newman
b8df85e744
Mark get_proc_address as safe
2020-04-15 12:16:02 +01:00
Chandler Newman
a684f5d8d6
Refactor EGL backend
2020-04-15 12:01:01 +01:00
Victor Berger
b54d95c15d
Fix most clippy warnings ( #185 )
...
* Add missing documentation
* Fix most clippy warnings
2020-04-15 09:28:22 +02:00
Victor Brekenfeld
b43c0db115
Update to udev 0.4
2020-04-13 17:07:08 +02:00
Victor Berger
6a7d933553
Replace `failure` and `error-chain` by `thiserror`
2020-04-13 13:20:59 +02:00
Chandler Newman
d92aa6dafe
Only listen to removal signal for own session ( #182 )
2020-04-12 17:00:19 +02:00
Sergey Smirnykh
f966e28fe5
Update wayland-client & wayland-egl ( #181 )
...
Update wayland-client to 0.25.0
Add wayland-egl 0.25.0
2020-04-12 13:11:10 +02:00
Victor Brekenfeld
f6b3d630ce
rustfmt
2020-04-10 19:18:58 +02:00
Victor Brekenfeld
e8e8667d89
Upgrade to the upcoming drm-rs 0.4
2020-04-10 16:58:49 +02:00
Sergey Smirnykh
e798259be9
Calculate pointer location correctly
2020-04-08 15:21:21 +02:00
Sergey Smirnykh
3bc1c728a8
Remove excess type conversions
2020-04-08 15:21:21 +02:00
Sergey Smirnykh
9e1bce7c66
Unhide cursor for now
2020-04-08 15:21:21 +02:00
Sergey Smirnykh
73345375ac
Update winit dependency to version 22.0
2020-04-08 15:21:17 +02:00
Dorota Czaplejewicz
178a447394
winit: Don't resize in resize handler
...
The resize handler with a window resize request causes oscillations between two window sizes (presumably the inner and the outer). While it's not clear what part of the stack causes it, checking `window.get_inner_size()` already presents the correct size.
Either way, changing the same property in its change handler is a recipe for feedback loops as this one and should be avoided whenever possible, and then carefully fortified too.
2020-04-06 10:35:27 +02:00
Jonas Platte
b8c20ebf30
Update wayland-rs to 0.25 ( #171 )
...
Update wayland-rs to 0.25 and calloop to 0.5
Co-authored-by: Victor Berger <victor.berger@m4x.org>
2020-04-05 19:01:08 +02:00
Victor Berger
63702a308a
backend.libinput: fix tracking of removed devices
2020-04-01 11:03:54 +02:00
Ivan Molodetskikh
46348367b1
backend.egl: add egl_buffer_dimensions
...
Allows to retrieve just the dimensions, without creating images and
whatnot.
2020-02-03 12:41:35 +03:00
nycex
0140de89fb
fix some clippy warnings ( #147 )
...
This commit removes some clippy warnings (to advance #45 ) by doing the following:
- replace usage of `mem::uninitialized()` with `MaybeUninit`
- replace usage of `nix::libc::{uint64_t, int32_t}` with `{u64, i32}`
- replace functions inside of `Option::ok_or` with `Option::ok_or_else`
- replace functions inside of `Result::unwrap_or` with `Result::unwrap_or_else`
- replace occurrences of pass-by-reference with pass-by-value when
appropriate
- replace unused variables in pattern-matching with wildcards
- replace `match` expressions that have only one case with `if let`
expressions
- replace UpperCamelCase names of consts with SCREAMING_SNAKE_CASE
- remove `clone()` on types that implement Copy
- remove redundant imports
- remove `fn main()` from doctests
- remove let binding for variables that are returned afterwards
2020-01-01 11:43:16 +01:00
Christophe Biocca
834f3d2e65
Upgrade to dbus 0.8, change imports to match.
2020-01-01 11:42:28 +01:00
Pierre Chevalier
0b2e4b42db
Fix clippy warnings with cargo fix
...
Simply ran:
```
rustup run nightly cargo fix --clippy -Z unstable-options
```
followed by
```
cargo fmt
```
No manual change in this commit.
2019-10-23 14:13:10 +02:00
Victor Berger
c604a48dce
wayland.compositor: user UserDataMap to store per-surface data
2019-04-27 21:38:24 +02:00
Victor Berger
9f9e6d4329
wayland.compositor: rework the subsurface tree
...
Rework the subsurface tree by:
- forbidding subsurface loops
- storing the relative depth of a parent to its children,
finally respecting the wl_subsurface specification.
closes #23
2019-04-22 17:20:46 +02:00
Jonas Platte
f34cf4b068
Upgrade anvil to wayland-server 0.23
2019-02-24 08:23:51 +01:00
Victor Berger
3f2857fbf3
Update smithay to wayland-server 0.23
2019-02-24 08:23:51 +01:00
Victor Berger
89dce178c8
Make wayland support optional
2019-02-06 09:29:56 +01:00
Victor Brekenfeld
e5f8c351c7
Check for rust_2018_idioms
2018-12-16 19:31:38 +01:00
Victor Brekenfeld
71bd64a6bf
Fix source code for 2018 edition
2018-12-16 19:31:38 +01:00
Victor Brekenfeld
dc97e0ad03
Add reexports module
2018-12-14 14:26:50 +01:00
Victor Brekenfeld
04aee7cbc9
Replace documentation links with intra rustdoc links
2018-12-13 15:14:25 +01:00
Victor Brekenfeld
a3acd48cc3
fmt: rust 1.31
2018-12-08 18:31:08 +01:00
Victor Brekenfeld
a1b8d2bf47
docs: clarify get_framebuffer_dimensions
2018-12-08 17:26:05 +01:00
Victor Brekenfeld
c24619861e
egl: style: move constraints into where clause
2018-12-08 17:26:05 +01:00
Victor Berger
7dc3d64b6e
docs: typo fixes
...
Co-Authored-By: Drakulix <github@drakulix.de>
2018-12-08 13:47:22 +01:00
Victor Brekenfeld
a8343edbd7
legacy: add legacy drm example
2018-12-05 22:51:41 +01:00
Victor Brekenfeld
bbe767002d
comments: add more explainations to new code
2018-12-05 22:48:10 +01:00
Victor Brekenfeld
a3734da9da
gbm: update to gbm 0.5
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
8fbce616a6
libinput: update to 0.4.1
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
aa2090c079
docs: add session/multi
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
2bc45d4053
docs: fix backend_session_logind
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
36b265400a
docs: add graphics/gl
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
6609754d13
docs: add drm/egl
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
1f8a7e7335
docs: add drm/gbm
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
3b92e351b1
docs: added drm/legacy
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
174c150887
docs: added drm
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
b160a91f8a
drm: remove mode & connector arguments of create_surface
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
f8a5e8bfde
anvil: allow for non-egl builds
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
f2466c5c50
drm: Fix drop order
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
2c73651327
logind: fix dbus spamming the event queue
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
51f0050d68
drm: fix dropping master when killed from another tty
2018-12-02 22:01:45 +01:00
Victor Brekenfeld
8abcc145d7
egl: EGLContext borrow native to circumvent RefCell runtime error
2018-12-02 22:01:45 +01:00
Victor Brekenfeld
0ed69bf2da
session: Add multiplexer
2018-12-02 22:01:45 +01:00
Victor Brekenfeld
5741ccdd46
gbm: fix EGLSurface recreation
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
d6e7fb591e
direct: fix udev feature name
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
e7575d08b8
gbm: fix calling lock_front_buffer without eglSwapBuffers
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
9a82de6fae
graphics: Move PixelFormat out of gl module
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
d07c66985f
gbm: CursorBackend depends on backend_drm_legacy
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
59e0ad87f9
gbm: do not expose egl support, if backend_egl is not enabled
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
de526f4b23
drm: Add functions to query device state
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
2675cf94dc
egl_surface: fix CursorBackend implementation
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
f17e37465b
drm: Remove associated Return type from Device
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
f8499e533a
libinput: fix warning when not building backend_session
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
9e5dad4c23
session: export OFlag
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
f74af7ba18
udev: use same order for bind arguments
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
9ee44672a0
cargo fmt
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
bd5690bd77
Refactor drm backend
...
- Split `DrmDevice` into `LegacyDrmDevice`, `GbmDevice` and `EglDevice`
- Provide common `Device` and `RawDevice` traits
- Change `DrmBackend` into `Surface` (and `RawSurface`) implementations of each `Device` (or `RawDevice`)
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
b537237a74
Refactor udev backend
...
- Do not open devices for `UdevHandler` anymore
- `UdevBackend` does not require `LoopHandle` or `Session` anymore
- Type of the created device can be choosed freely by the handler
- `UdevBackendObserver` is not needed anymore
2018-11-29 16:13:07 +01:00