Commit Graph

227 Commits

Author SHA1 Message Date
Victor Brekenfeld fa42a0a223 docs: Add a more fleshed out backend::drm module documentation 2020-06-07 22:42:33 +02:00
Victor Berger a717fa36cd backend.session: Migrate to using Signaler
Change the session backend to rely on Signaler to propagate its
signals. Also introduce the Linkable trait to allow generic composition
of objects needing to listen for signals.
2020-05-23 21:37:22 +02:00
Victor Brekenfeld 9acd109a04 fallback: support FallbackDevice<GbmDevice, EglStreamDevice> for automatic nvidia support 2020-05-23 00:29:32 +02:00
Victor Brekenfeld 69c1116d82 eglstream: initial backend implementation 2020-05-23 00:29:32 +02:00
Victor Brekenfeld 73447bd668 egl: Pass clonable display handle to native-impls 2020-05-23 00:17:19 +02:00
Victor Brekenfeld cc6e3569f0 gbm: Do not try to use eglGetDisplay 2020-05-23 00:17:19 +02:00
Victor Brekenfeld 997895b3c7 drm: allow crate internal impls to access crtc and plane 2020-05-23 00:17:19 +02:00
Victor Brekenfeld 19ef1ed3c0 egl: move eglSwapBuffers call into NativeSurface 2020-05-23 00:17:19 +02:00
Victor Brekenfeld 0565e5fd79 egl: NativeSurface: replace recreate with create 2020-05-23 00:17:19 +02:00
Victor Brekenfeld 0267703e91 egl: move surface creation into `NativeSurface` 2020-05-22 23:19:19 +02:00
Victor Brekenfeld 726624cbd8 egl: allow display creation to specify attributes 2020-05-22 23:18:49 +02:00
Victor Brekenfeld 64a57a4cc8 downgrade some recoverable errors to warnings 2020-05-12 20:03:03 +02:00
Victor Brekenfeld 9610f31e44 drm: log initial surface parameters 2020-05-12 20:03:03 +02:00
Victor Brekenfeld 7c4ca4e524 atomic: do not revert on failing state 2020-05-12 20:03:03 +02:00
Victor Brekenfeld f1c40f7306 lint: fmt & clippy 2020-05-12 20:03:03 +02:00
Victor Brekenfeld 20b373470f drm: permission denied is also temporary 2020-05-12 19:47:16 +02:00
Victor Brekenfeld 25f2610ea6 gbm: Do not unpack drm-rs errors on conversion 2020-05-12 19:47:16 +02:00
Victor Brekenfeld a0c65114fb drm: Do not unpack drm-rs errors on conversion 2020-05-12 19:47:16 +02:00
Victor Brekenfeld 44ebed3446 gbm: only clear recreation state on successful commits 2020-05-12 19:47:16 +02:00
Victor Brekenfeld a6863af496 egl: force surface creation on resume 2020-05-12 19:47:16 +02:00
Victor Brekenfeld 140185f6f5 atomic: clear invalid cursor buffers 2020-05-12 19:47:16 +02:00
Victor Brekenfeld 163533a72a atomic: avoid too excessive trace logging 2020-05-12 19:47:16 +02:00
Victor Brekenfeld b4cbecd369 atomic: do not set current state if commit fails 2020-05-12 19:47:16 +02:00
Victor Brekenfeld f3dabe2cea atomic: clear broken resources on resume 2020-05-12 19:47:16 +02:00
Victor Brekenfeld 9bbd9edb0c egl: track backends 2020-05-12 19:47:16 +02:00
Victor Brekenfeld 7bca463934 atomic: do not cache cursor fb info 2020-05-12 19:47:16 +02:00
Victor Brekenfeld 1a5cc59983 drm: do not ignore events for inactive devices 2020-05-12 19:46:18 +02:00
Victor Brekenfeld 49215f6a3d gbm: do not implicitly restart rendering loop 2020-05-12 19:46:18 +02:00
Victor Brekenfeld 64fc1aa0da gbm: do not block buffer forever if commit/page_flip fails 2020-05-12 19:46:18 +02:00
Victor Brekenfeld 0a716438e3 gbm: split out clear_framebuffers 2020-05-12 19:46:18 +02:00
Victor Brekenfeld 28166ce002
Merge pull request #206 from Smithay/fix/drm_connector
Fix drm mode and connector handling
2020-05-01 16:46:36 +02:00
Victor Brekenfeld 26cae39598 lint: clippy 2020-05-01 16:30:11 +02:00
Victor Brekenfeld 9300e35093 lint: fmt 2020-04-30 19:03:02 +02:00
Victor Brekenfeld 31b6d84442 WIP: Rework egl and glium errors 2020-04-30 00:24:35 +02:00
Victor Berger b3aae074e4 Update calloop to 0.6 2020-04-28 11:13:25 +02:00
Victor Brekenfeld 6c4a3817d3 atomic: fix set_connector/mode functions 2020-04-27 21:52:30 +02:00
Victor Brekenfeld 91b03f1e37 drm: Make DRM errors print the actual access error 2020-04-27 19:48:42 +02:00
Victor Brekenfeld b9201cd0b5 atomic: Make screen setting less log spamming 2020-04-27 19:48:42 +02:00
Victor Brekenfeld d1ac9c94db atomic: Remove verbose property mapping from log 2020-04-27 19:48:42 +02:00
Victor Brekenfeld 8a040630a0 fallback: Allow forcing legacy modeset via env-variable 2020-04-27 19:48:42 +02:00
Victor Brekenfeld 5fb73a497e gbm: cleanup session rendering loop restart 2020-04-27 19:48:42 +02:00
Victor Brekenfeld 5e530b8263 drm: better describe add_connector usage 2020-04-27 19:48:42 +02:00
Victor Brekenfeld 1a40ed6079 atomic: fixup rendering loop after tty switch 2020-04-27 19:48:41 +02:00
Victor Brekenfeld 378686611c drm: Let swap_buffers return real error 2020-04-27 19:48:41 +02:00
Victor Brekenfeld e486f7b87c legacy: fixup rendering loop after tty switch 2020-04-27 19:48:41 +02:00
Victor Brekenfeld c7a98cee21 atomic: do not allow removal of the last connector 2020-04-27 00:45:58 +02:00
Victor Brekenfeld da18c3a5f3 atomic: honor dev.active 2020-04-27 00:45:58 +02:00
Victor Brekenfeld 33149b17e2 atomic: disable connectors on surface drop 2020-04-27 00:45:58 +02:00
Victor Brekenfeld c560aef666 legacy: do not allow removal of the last connector 2020-04-27 00:45:58 +02:00
Victor Brekenfeld 4786db633b legacy: disable/enable connectors on remove/add 2020-04-27 00:45:58 +02:00
Victor Brekenfeld 7199640ad9 legacy: honor dev.active 2020-04-27 00:45:58 +02:00
Victor Brekenfeld 3d2e9aeff2 legacy: disable connectors on surface drop 2020-04-27 00:45:58 +02:00
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
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 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 Berger 6a7d933553 Replace `failure` and `error-chain` by `thiserror` 2020-04-13 13:20:59 +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
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
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
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 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 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 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