Victor Brekenfeld
bbf0643272
renderer: import_buffer (sadly) depends on backend_egl
2021-05-18 21:02:27 +02:00
Victor Brekenfeld
918241eb31
gles2: Avoid reference cycle in buffer user_data
2021-05-17 19:17:43 +02:00
Victor Brekenfeld
50b1996d57
gles2: Add a proper logger to the renderer
2021-05-17 19:14:20 +02:00
Victor Brekenfeld
ae6334d376
gles2: Fix `import_bitmap` resulting in black textures
2021-05-17 19:08:20 +02:00
Victor Brekenfeld
5e1128b973
gles2: Link texture in buffer for caching
2021-05-17 00:40:10 +02:00
Victor Brekenfeld
b675b59e3b
gles2: Use buffer damage to partially update texture
2021-05-16 23:07:48 +02:00
Victor Brekenfeld
2019be737f
gles2: Respect shm buffer offset
2021-05-16 23:06:42 +02:00
Victor Brekenfeld
0025f13adc
gles2: Make proper use of formats to avoid unnecessary shaders
2021-05-16 23:05:44 +02:00
Victor Brekenfeld
c41cc9828f
renderer: Cache textures in SurfaceAttributes
2021-05-16 20:00:45 +02:00
Victor Brekenfeld
e4f72f7516
Merge pull request #272 from cmeissl/allow_multiple_egl_platforms
...
Dynamically select the EGL platform display
2021-05-16 15:27:16 +02:00
Christian Meissl
f20ff8a178
reduce severity to error in case...
...
...no suitable egl platform could be selected
2021-05-16 10:58:29 +02:00
Victor Brekenfeld
62fcd84226
Reverse legacy check order
2021-05-15 23:38:24 +02:00
Christian Meissl
8dc94e0817
ignore eglplatform doc examples
2021-05-15 23:34:50 +02:00
Christian Meissl
af66a9c152
add more supported egl platforms
2021-05-15 23:05:26 +02:00
Christian Meissl
2e55501dea
dynamically select the EGL platform display
2021-05-15 23:05:26 +02:00
Victor Brekenfeld
5d6fadcea8
cargo fmt
2021-05-15 22:35:44 +02:00
Victor Brekenfeld
524057418e
drm: Fixup tty switching
2021-05-15 22:28:39 +02:00
Victor Brekenfeld
3012e87e0e
drm: Do support IN_FORMATS on legacy surfaces (mostly for nouveau)
2021-05-15 21:01:44 +02:00
Victor Brekenfeld
4e2afb0f1f
drm render: Don't fallback to linear but implicit modifiers
2021-05-15 21:01:44 +02:00
Victor Brekenfeld
4ffa329fe9
drm render: Log Argb8888 formats of plane and renderer
2021-05-15 21:01:44 +02:00
Victor Brekenfeld
cedc536033
drm: Do not spam ALL supported plane formats
2021-05-15 21:01:44 +02:00
Victor Brekenfeld
beeb810edb
egl display: do not spam ALL supported formats
2021-05-15 21:01:44 +02:00
Christian Meissl
f7b58b146c
fixed formatting in gles2 version.rs
2021-05-15 20:41:48 +02:00
Christian Meissl
3ceff8ec67
check for gl version in gles renderer...
...
...in case the version is greater or equal 3.0 the
check for GL_EXT_unpack_subimage is not needed
2021-05-15 20:41:44 +02:00
Victor Brekenfeld
149c923876
cargo fmt
2021-05-15 18:17:43 +02:00
Victor Brekenfeld
f0e7ff3312
cleanup + docs
2021-05-15 16:12:13 +02:00
Victor Brekenfeld
0b0067a3fd
egl: Make EGLBufferReader clonable
2021-05-15 16:12:13 +02:00
Victor Brekenfeld
75b2a2d801
renderer: allow caching resources on WlBuffer
...
- renderer: Change the renderer api to not import different buffer types directly,
but import any supported wl_buffer
- renderer: Remove destroy_texture call and move responsibility into implementation
- gles2: Cache egl images as well as textures on wl_buffer userdata
- gles2: Implement delayed destruction of textures to avoid leaking or changing global state on drop
2021-05-15 16:12:13 +02:00
Victor Brekenfeld
2200d09841
drm: adjust RenderSurface to swapchain changes and AsDmabuf
2021-05-15 16:12:13 +02:00
Victor Brekenfeld
5cf328a1b8
allocator: Introdce AsDmabuf
2021-05-15 16:12:13 +02:00
Victor Brekenfeld
378f826c26
swapchain: do not convert buffers automatically anymore
2021-05-15 16:12:13 +02:00
Christian Meissl
7016e82bed
replace hardcoded type casts...
...
...with platform types in the gles2 renderer
2021-05-15 16:12:13 +02:00
Victor Brekenfeld
6c25dde36e
Fix some missing Debug implementations
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
7e47d648d4
First pass of adding documentation
2021-05-15 16:12:12 +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
e329adcbd8
fix warnings
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
ca6ed6b684
allocator: Expose dumb buffer handle
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
46462b20b6
drm: Fix unnecessary Clone requirement
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
85bef5fec6
renderer: rename Texture to TextureId to better convey nature of the handle
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
ab6dd61592
renderer: add destroy_texture function
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
cb8d637d38
drm: Fixup missing reexport
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
50b0083269
renderer: Implement import_egl for wl_drm
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
348c63b350
egl: EGLBuffer add accessor for EGLImages, remove old code
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
8e3b0c0b9b
egl: Do not expose multi-planar buffers for now
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
1f70aa6a08
egl: Rename EGLImages to EGLBuffer
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
3d8cf0e458
renderer: Add importing bitmaps as textures
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
243afb1030
drm: Introduce RenderSurface for compatibility/ease-of-use
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
66fbb3eb06
egl: less busy logging
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
cb825910a6
drm: fixup test_buffer
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
93edc842b2
drm: allow commit/page_flip calls to *not* trigger an event
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
c8b370a030
drm: change logger visibility
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
0414417f3c
egl: Allow creation of shared contexts
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
c6df50cb67
egl: Rexport EGLContext on toplevel
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
347507fc92
drm/legacy: Assume Argb8888 is at least supported like we used to
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
1f86faf1e6
drm: re-add device_id() to DrmDevice
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
c05a7aafdf
swapchain: export Error type
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
1bba21bf4f
swapchain: allow slots to contain userdata
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
c107d42ced
drm/renderer: Fixup convertion into SwapBuffersError
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
0180bb6ef5
drm: allow to test if scanning out a buffer would succeed
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
d042609dbd
swapchain: increase cap for additional queuing (e.g. explicit synchronization)
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
bcf6a5c4b9
gbm: allow to import dmabufs
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
58f22afa40
dmabuf's take ownership over their contents -> do not reference original buffer
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
9d021d52a4
drm: expose supported plane formats
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
52d581371c
renderer: Allow Bind implementations to expose supported formats
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
b7aa4c416b
egl: enumerate supported dmabuf formats
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
4d8bd26131
egl: enumerate supported dmabuf formats
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
a74aa728f7
swapchain: handle buffer conversion for the user
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
84439e5400
swapchain: fix borked resize logic
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
3a2e4ddf61
Migrate the winit backend to the new egl and renderer apis.
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
f3f10242e9
Remove the generic "graphics" module.
...
- Cursor is not necessary anymore as rendering hardware vs software
cursors just depends on "where" you render the cursor.
- Format is replaced by drm-fourcc and more related to buffers and
therefor the allocator module anyway.
- GL/Glium are replaced by the renderer module.
- Software was unused and very small anyway and can be implemented
with the new renderer api.
- SwapBuffersError is (for now) just moved into the top-level backend module.
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
4d5d7afb5a
Introduce a new OpenGL renderer
...
This pulls a lot of code from anvil/src/glium_drawer and replaces glium
as glium has too many assumptions about the backend.
(Mostly that a fixed framebuffer exists, see fix bullet point.)
Depending on how picky glium is, we could try to re-introduce glium support
later with a some workarounds, but for now this is actually more
straight-forward to support and test.
- Add a new GL renderer, that only depends on egl as an initialization platform.
In particular do not depend on a surface being available.
Renderers share some basic drawing functions and may bind objects to render upon.
E.g. surfaces or buffers, textures, etc for the gles2 renderer.
- Be explicit about extensions we require and use. Use some very very common ones
to make our lives easier (e.g. BGRA and unpack to read in manditory shm formats).
- Enable GL debug output
- Allow more flexible rendering (e.g. 3D compositors) by allowing user-provided
projection matrices. Also provide helper functions to allow easy-ish handling
of surface and output transformations.
- Add API for renderers to tell the wayland-frontend about supported buffer-types.
- Also incoperate code from anvil/src/shm_load to handle buffer loading in the renderer
(as this is a renderer dependant operation).
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
d99108a8e6
Simplify egl platform code
...
- Remove EGLStream code, nvidia support will re-introduced,
when 470 hopefully lands with GBM support this summer.
- Greately simplify the native code by setting exclusively on
`EGL_EXT_platform_base` and its extensions for initialization.
- Remove generic parameters for the underlying objects on `EGLDisplay`
and `EGLSurface` by using trait objects instead.
- Allow creation of `EGLContext`s without a config for surface-less usage.
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
d606165088
Restructure drm backend
...
- Remove the `Device`, `Surface`, `RawDevice` and `RawSurface` traits.
We are not trying to merge the different responsibilities between...
- Drm-Surfaces: crtcs and planes for displaying buffers
- Gbm-Surfaces: allocating and managing front- and back-buffers
- EGL-Surfaces: Load drawing apis.
..anymore.
- Instead unify the legacy and atomic backends into one `DrmDevice` and
a `DrmSurface`, that under the hood dispatches onto the different modules.
- Do not keep a list of surfaces inside the devices. These are reference-counting
nightmares and a frequent issue due to the read-only nature of `Rc` and `Arc` and
thread-safety related problems.
- Surfaces are mostly doing state-tracking independently of each other
and contain some more helper functions.
- Simplify session code, because we do not need to pass the events
through three layers of devices and surfaces anymore.
- Each surface now represents a plane. Rendering to a plane is just like
any other rendering step, including the Cursor-plane.
(Legacy interfaces only have one to avoid dealing with short-comings of the api).
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
c388a502c4
Add allocator module
...
- Add module that deals with different kinds of buffers (memory and external),
their allocation and usage for rendering. Also try to properly support modifiers this time.
- Describe gbm functionality as an allocator (instead of a rendering device/surface).
- Also create a quick-and-dirty dumb buffer allocator for tesing / simpler tasks.
- Add a (current untested) wrapper for dmabufs and some code for converting from gbm for now.
- (also untested) Swapchain helper to manage front/backbuffers for surfaceless rendering.
2021-05-15 16:12:12 +02:00
Benjamin Lee
5ac7f7c884
replaced usage of slog_or_stdlog with slog_or_fallback
...
I think this was missed on a previous refactoring pass, and never got
tested?
2021-05-04 20:24:28 +02:00
Victor Berger
243d2d8b38
libinput: add missing #[cfg()]
2021-04-11 12:59:54 +02:00
Poly
d2373fdddd
[Debug Trait] Remove unnecessary manual imps
2021-02-23 20:21:20 +01:00
Poly
804a6cb59f
[Debug Trait] Add missing comment
2021-02-23 20:20:12 +01:00
Poly
6d76d1c1a2
[Debug Trait] Comments and Cleanup
...
.
2021-02-22 21:05:00 +01:00
Poly
de3dfacee0
[Debug Trait] General cleanup and small fixes
2021-02-22 21:00:49 +01:00
Poly
f96fcee1fd
[Debug Trait] backend
...
backend/libinput
backend/egl
backend/drm
backend/session
2021-02-22 21:00:49 +01:00
Poly
f6a63d351d
[Debug Trait] input.rs, udev.rs, winit.rs
...
smithay/smithay#258
2021-02-22 21:00:49 +01:00
Victor Berger
991eba216d
Update most dependencies
2021-02-22 20:27:46 +01:00
Uli Schlachter
a7f18e5deb
winit: Allow moving the cursor
...
It is not necessary to set the cursor position on winit since the
windowing system already updates the position on its own. Instead, doing
this makes the cursor (almost) stuck and unmovable. Thus, this commit
just removes that code from the winit backend.
Fixes: https://github.com/Smithay/smithay/issues/241
Signed-off-by: Uli Schlachter <psychon@znc.in>
2021-02-14 21:08:40 +01:00
Uli Schlachter
95fbce096c
Fix clippy::unnecessary-lazy-evaluations warnings
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2020-12-27 12:32:48 +01:00
Victor Berger
36e11284c2
New clippy fixes
2020-11-02 10:24:55 +01:00
Jonas Platte
bcc8f13b2b
Fix most rustc & clippy warnings
2020-09-16 12:56:32 +02:00
Victor Berger
49dda88c63
backend.input: keep sub-pixel precision in events
...
libinput provides sub-pixel precision for pointer motion & touch events.
Keep this precision by switching all coordinates values from input
events to f64 (rather than i32 or u32). Otherwise, values are rounded
and part of the movment is lost.
Potentially fixes #224
2020-07-13 17:56:20 +02:00
Victor Berger
1871b5ddae
Make slog-stdlog into an optional dependency
...
slog-stdlog has a significant dependency tree and is basically unsued if
the downstream crate of Smithay always provides a logger (like anvil),
so it is not really needed.
2020-07-12 16:38:05 +02:00
Victor Brekenfeld
9c3c3d939e
cargo fmt & lint
2020-06-28 00:25:15 +02:00
Victor Brekenfeld
107b18a4c1
logind: do not include dbus code without dbus dependency
2020-06-28 00:23:24 +02:00
Victor Brekenfeld
51b5b39b75
cursor: allow cursor clearing on CursorBackend
2020-06-28 00:23:24 +02:00
Victor Brekenfeld
d603a9ccfb
egl: Do not store and release WlBuffer for EGLImages
2020-06-28 00:23:24 +02:00
Victor Brekenfeld
7b4459f649
drm: Make surfaces `Send`
2020-06-11 18:57:05 +02:00
Victor Brekenfeld
cc67764c23
make clippy happy
2020-06-11 12:16:43 +02:00
Victor Brekenfeld
3c048075f4
docs: Add more explanations to various graphics code
2020-06-07 22:42:33 +02:00
Victor Brekenfeld
a3459cda31
docs: Add more explanations to the eglstream-drm-code
2020-06-07 22:42:33 +02:00
Victor Brekenfeld
978415987f
docs: Add more explanations to the gbm-drm-code
2020-06-07 22:42:33 +02:00
Victor Brekenfeld
dcb3bb79a7
docs: Add more explanations to the atomic-drm-code
2020-06-07 22:42:33 +02:00
Victor Brekenfeld
7e8f6b2955
docs: Add more explanations to the legacy-drm-code
2020-06-07 22:42:33 +02:00
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 Berger
c3859d999b
backend.session: use pkg-config to find logind lib
...
Introduce the `backend_session_elogind` cargo feature which pulls
`backend_session_logind` and makes the logind session backend seek
`libelogind.so` instead of `libsystemd.so`.
Fixes #127
2020-05-23 21:37:22 +02:00
Victor Berger
b05c2ccbba
backend.session: rework as calloop event sources
...
Rework the Session Notifiers so that they are calloop event sources
by themselves, allowing them to be inserted by the user without the
`bind_session` dance.
Also update the logind backend to use the current dbus-rs API, rather
than the deprecated one.
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
53f5753943
udev: Add function to query the loaded driver of a device
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
eb1dc5de4f
egl: do not fail if desired swap interval cannot be selected
2020-05-23 00:17:19 +02:00
Victor Brekenfeld
e8926da56c
graphics: Log underlying error of SwapBuffers
2020-05-23 00:17:19 +02:00
Victor Brekenfeld
d3a60e03c9
egl: differenciate display creation failures
2020-05-23 00:17:19 +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
f9aef43ac2
egl: move loading into separate function
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
4647141770
egl: Allow displays to specify surface_type
2020-05-22 23:19:17 +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
2128f68847
egl: log hidden egl errors
2020-05-12 20:03:03 +02:00
Victor Brekenfeld
bf3e8b4d10
egl: check for surface creation failure
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
12a57f799a
logind: ignore gone events
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
eaa3a0ca87
egl: fix broken egl check
2020-05-12 19:46:18 +02:00
Victor Berger
8f543eb597
backend.input: rework libinput as a calloop source
2020-05-12 08:46:34 +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
31f1f4f9e0
backend.udev: rework as an event source
2020-04-28 11:13:25 +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
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