Dominique Martinet
1940c6bbd9
wayland backend: fix width/height == 0 check
...
We cannot handle just one of the two being NULL later down the road
(e.g. divide by zero in matrix projection code),
just ignore any such configure request.
Found through static analysis
2018-06-30 11:38:21 +09:00
Dominique Martinet
266898ca1f
direct session backend: fix closing -1 on error
...
Found through static analysis
2018-06-30 11:38:21 +09:00
Dominique Martinet
bcc2c64c1e
x11 backend init: fix leak on failed XOpenDisplay
...
Found through static analysis
2018-06-30 11:38:21 +09:00
Dominique Martinet
4f7b1382d4
wayland backend seat: fix NULL output check
...
The test was done after dereferencing output in pointer_handle_enter,
just move it up one line.
No reason pointer_handle_leave would not need the check if enter needs
it, add it there.
Found through static analysis.
2018-06-30 11:38:21 +09:00
Dominique Martinet
f0d455f088
drm backend: overflow fixes
...
These operations are done in 32-bit arithmetics before being casted to 64-bit,
thus can overflow before the cast.
Casting early fixes the issue.
Found through static analysis
2018-06-30 11:21:22 +09:00
Drew DeVault
e459fe0ec7
Merge pull request #992 from emersion/screencontent
...
Implement wlr_export_dmabuf_unstable_v1 protocol
2018-06-22 05:37:07 -07:00
Tobias Blass
482fc48c74
FIX: Suprocess loops endlessly when the control socket closes.
...
recvmsg(3) returns 0 if the connection partner has shut down its socket.
The communicate function considered 0 a successful message, though, and
keeps calling recvmsg(3) again and again.
2018-06-20 22:00:45 +02:00
emersion
57548b557a
Merge branch 'master' into screencontent
2018-06-17 14:49:18 +01:00
Scott Anderson
964e0a50be
Check for seat0 properly
2018-06-14 21:02:32 +12:00
Scott Anderson
47985d2dc5
Multiseat fixes
2018-06-14 20:46:16 +12:00
emersion
551700e887
backend/wayland: fix keyboard keys not pressed/released when focus changes
2018-06-03 13:18:57 +01:00
emersion
21928cbe61
Merge branch 'master' into screencontent
2018-05-31 12:33:27 +01:00
emersion
28020ff577
Only allow one modifier per DMA-BUF, split attributes struct in render/
2018-05-30 09:29:12 +01:00
emersion
bd430b8620
backend/drm: support multi-planar DMA-BUFs when exporting
2018-05-29 18:47:17 +01:00
emersion
9e26808c28
output, backend/drm: add wlr_output_export_dmabuf
2018-05-29 18:45:45 +01:00
emersion
79683ee497
backend/drm: better connector cleanup, add more logs
2018-05-27 13:21:41 +01:00
emersion
6eb4b5b54d
Merge pull request #993 from emersion/bind-wl-drm-in-renderer
...
render: bind wl_drm in renderer
2018-05-25 13:54:16 +01:00
Ilia Bozhinov
24cf70ae96
backends: implement custom EGL and renderer initialization
...
Compositors now have more control over how the backend creates its
renderer. Currently all backends create an EGL/GLES2 renderer, so
the necessary attributes for creating the context are passed to a
user-provided callback function. It is responsible for initializing
provided wlr_egl and to return a renderer. On fail, return 0.
Fixes #987
2018-05-25 14:56:52 +03:00
emersion
41130fe54b
render: bind wl_drm in renderer
2018-05-21 19:07:08 +01:00
emersion
9e3dd6b560
backend/wayland: fix segfault when destroying backend before starting it
2018-05-19 09:34:16 +01:00
emersion
75b10cd621
backend: support creating DRM and libinput via WLR_BACKENDS
2018-05-19 09:32:08 +01:00
emersion
007d83c6ee
backend: allow multiple backends in WLR_BACKENDS
2018-05-19 09:09:03 +01:00
emersion
52bd8aa716
backend/multi: disallow multiple renderers at the same time
2018-05-19 09:09:03 +01:00
emersion
a1631dd9ee
backend: add WLR_BACKEND env variable
2018-05-19 09:08:59 +01:00
Markus Ongyerth
6a46fcc6f2
recalculate cursor projection matrix on set_cursor
...
Updates the projection matrix for the cursor plane in the DRM backend,
when the cursor is set, so new cursor are uploaded with the correct
transformation.
2018-05-16 15:44:41 +02:00
emersion
198ad27bd5
backend/wayland: print output name in window title
2018-05-15 00:16:18 +01:00
emersion
0b58579564
Add support for discrete axis values
2018-05-12 13:34:58 +01:00
emersion
13098a18ea
Fix hardware cursors scale & transform
2018-05-09 19:58:18 +01:00
emersion
caf9f9022c
Merge pull request #936 from emersion/full-hardware-cursors
...
output: always use hardware cursors if available
2018-05-04 19:00:45 +01:00
morganamilo
6305e6327f
Fix typos in comments and strings
2018-05-03 21:59:43 +01:00
Guido Günther
1637053ef8
drm: only disable atomic modesetting when WLR_DRM_NO_ATOMIC == 1
...
Don't allow any value of the env var to disable atomic mode setting.
2018-05-03 15:37:37 +02:00
Guido Günther
545d54439d
backend/wayland: don't transform pointer events
...
We do this in a backend independent way in wlr_cursor now.
2018-05-03 11:09:14 +02:00
Guido Günther
6f01c12b40
backend/x11: don't transform pointer events
...
We do this in a backend independent way in wlr_cursor now.
2018-05-03 11:09:14 +02:00
emersion
225d182765
output: always use hardware cursors if available
...
This changes the `wlr_output_impl.set_cursor` function to take a
`wlr_texture` instead of a byte buffer. This simplifies the
DRM and Wayland backends since they were creating textures from
the byte buffer anyway.
With this commit, performance should be improved when moving the
cursor since outputs don't need to be re-rendered anymore.
2018-05-01 21:38:04 +01:00
emersion
178ac8bffe
backend/{wayland,x11}: fix pointer coords for transformed outputs
2018-04-30 10:48:35 +01:00
emersion
62d7337d00
backend/x11: add one pointer per output
2018-04-29 14:46:29 +01:00
emersion
ddac792b61
backend/wayland: only set one pointer listener
2018-04-29 14:30:13 +01:00
emersion
9f8a7c8fc4
backend/wayland: create one virtual pointer per output
2018-04-29 14:30:13 +01:00
emersion
2551ef8871
input-device: add output_name field, populate it from libinput
2018-04-29 14:30:09 +01:00
emersion
f8e0a03451
backend/x11: correctly destroy input devices
2018-04-28 12:55:36 +01:00
emersion
79da4c175e
backend/headless: remove useless destructor
2018-04-28 12:48:05 +01:00
emersion
57c36ddcb3
backend/wayland: add proper error handling to wlr_wl_backend_create
2018-04-28 12:38:03 +01:00
Drew DeVault
fecb971518
Merge pull request #902 from emersion/various-memory-leaks
...
Various memory leaks
2018-04-26 11:34:49 +02:00
emersion
cd9f25711c
backend: destroy renderer when destroying backend
2018-04-25 23:53:43 +01:00
emersion
625a7a48dc
Don't use the wlr_ prefix for static functions
2018-04-25 23:51:00 +01:00
emersion
71ca45e2c0
Make sure we don't use others' prefixes
2018-04-25 23:24:58 +01:00
emersion
b0d99f5c67
Remove wlr_ prefix from local symbols
2018-04-25 23:00:46 +01:00
emersion
018b82c01e
render/egl: allow passing NULL to surface and image destructors
2018-04-25 08:28:48 +01:00
emersion
eaed6bd03b
render/egl: add wlr_egl_destroy_surface
2018-04-24 23:44:43 +01:00
Drew DeVault
dbdc63ddde
Merge pull request #873 from emersion/output-dont-emit-mode-twice
...
output: don't emit the mode event if it hasn't changed
2018-04-17 21:08:27 -04:00