Commit Graph

234 Commits

Author SHA1 Message Date
Drakulix efaadb8882 Fix a bunch of warnings 2018-01-07 20:24:40 +01:00
Drakulix c5f475ebb5 Make unbind_egl_display into Drop implementation for EGLDisplay 2018-01-07 13:02:26 +01:00
Drakulix a527456ba6 Fixup drm backends for egl hardware-acceleration
- Decouple DrmBackend and DrmDevice through Weak references
- Move EGL-WlBuffer related functionality into it's own trait
- Impl new trait by every struct that can theoretically bind the display although it is no rendering target (no EGLGraphicsBackend), e.g. DrmDevice
- Move texture binding into own struct `EGLDisplay` created by `bind_wl_display` that can be passed around freely
- Add device num to DrmDevice for HashMap storage
- Fixup and enable acceleration on drm and udev examples made possible by the previous changes.
2018-01-05 20:04:46 +01:00
Drakulix 5d7e96103d Rework EGL module 2017-12-24 14:29:45 +01:00
Drakulix d0046e4c60 Fix rare hot-plugging bug 2017-12-21 16:25:21 +01:00
Drakulix 4207611e6d rustfmt code 2017-12-15 19:22:44 +01:00
Drakulix ae5df5039d Fix drm example and tests 2017-12-03 22:33:21 +01:00
Drakulix bd83bc5b2d Restore drm state correctly 2017-12-02 17:07:52 +01:00
Drakulix 612436e42d Correctly scan for any encoders 2017-12-02 13:51:08 +01:00
Drakulix 13be5b1634 Add documentation 2017-11-29 22:28:14 +01:00
Drakulix 96bb3570ba Get input working 2017-11-29 22:28:14 +01:00
Drakulix c7682e77de Udev backend 2017-11-29 22:28:13 +01:00
Victor Berger c31d966fd4 Upgrade wayland-server to 0.12 2017-11-03 17:31:51 +01:00
Demur Rumed ce844ba9f8 Cargo.toml: include repo, update nix/image 2017-10-09 15:17:19 +02:00
Jonas Platte 4946017c0c Apply a bunch of clippy suggestions 2017-10-07 18:40:59 +02:00
Drakulix 51886fbf00 Update to stable drm-rs version 2017-10-01 22:25:52 +02:00
Drakulix 7f45283759 cargo fmt 2017-09-21 20:50:10 +02:00
Drakulix d2617becbf Fix drm doc test and Deref impl 2017-09-21 19:05:59 +02:00
Drakulix 518f7dbdfc Store DrmBackend in EventLoop state 2017-09-20 19:48:58 +02:00
Drakulix 0758ec98ba Fix the drm backend for wayland-rs 0.10 2017-09-20 17:09:37 +02:00
Drakulix 457d6d1c35 Free framebuffers correctly 2017-09-20 15:56:57 +02:00
Drakulix fa6742fb5f The glory of error-chain 2017-09-20 15:56:11 +02:00
Drakulix a04bfcdd11 Add encoder detection to runtime manipulation 2017-09-20 15:54:16 +02:00
Drakulix 174e4b9d0b Fix encoder detection 2017-09-20 15:53:19 +02:00
Drakulix d3fca34475 Do a better job at finding a crtc in the example 2017-09-20 15:52:47 +02:00
Drakulix bdb91fc1f1 Better explaination of the drm module
- Explain the types involved and their role
- Link to the drm-rs documentation
2017-09-20 15:51:59 +02:00
Drakulix 67b3621be3 drm: reformat 2017-09-20 15:51:59 +02:00
Drakulix ab77a87725 drm: Check for valid encoder 2017-09-20 15:51:59 +02:00
Drakulix 10fd94f963 drm: add more logging 2017-09-20 15:51:39 +02:00
Drakulix 73d262e292 drm: reformat 2017-09-20 15:51:39 +02:00
Drakulix 9c71793b0e drm: Add more inline comments explaining the drm code 2017-09-20 15:51:39 +02:00
Drakulix 7bf4105050 drm: Add error for multi-use of a single crtc 2017-09-20 15:51:39 +02:00
Drakulix f2bff6172b drm: Documentation 2017-09-20 15:51:38 +02:00
Drakulix 0698775153 drm: Introduce the Drm Backend
- new backend rendering via egl via gbm directly on a drm device
- refine EGLContext and EGLSurface dependencies through lifetimes
- fixup the old winit backend to work with these changes
- add new example using the drm backend instead
- change GliumDrawer to be static for the drm example
2017-09-20 15:50:14 +02:00