Calvin Lee
901c14c409
Prevent alloc errors from crashing in `list_t`
...
This commit changes the `list_t` api so that alloc errors can be
detected and worked around. Also fixes errors not found in 5cc7342
2017-08-16 09:23:21 +02:00
Dominique Martinet
f9b55dfa95
Make wlr_wl_shell_create work like xdg
...
Also:
- rename wlr_xdg_shell_v6_init to create as that is what it does
- free wlr_xdg_shell on failure to create wl_global, the struct
is not initialized enough to call destroy at that point
2017-08-15 15:36:02 +02:00
Dominique Martinet
5dae8e1be8
example compositor: only iterate over wl_shell and xdg_shell surfaces
2017-08-15 15:34:26 +02:00
Dominique Martinet
f4e6b138fb
Move wl_shell into wlroots
2017-08-15 15:13:23 +02:00
Drew DeVault
f60b53c6e3
Change how surface matricies are calculated
2017-08-15 08:52:30 -04:00
Tony Crisci
d5f98dbf61
refactor getting surface size into a function
2017-08-15 08:22:22 -04:00
Tony Crisci
5b1ce84350
implement buffer transform
2017-08-15 07:36:51 -04:00
Tony Crisci
84c6dbd58d
remove unused dimension from buffer calculations
2017-08-15 07:36:51 -04:00
Tony Crisci
e46ec57b43
implement surface sizing
2017-08-15 07:36:51 -04:00
Tony Crisci
72a33b736f
implement texture get buffer size
2017-08-15 07:36:50 -04:00
Tony Crisci
f0f190bfa5
implement buffer scale
...
Keep track of the scale of the buffer set by surface.set_buffer_scale.
Calculate the height and width of the texture from the buffer depending on the
scale when it is attached.
Use buffer damage to determine the damage of the buffer when flushing damage.
Convert surface damage to buffer damage and union to the surface buffer_damage
prior to flushing damage.
2017-08-15 07:36:50 -04:00
Drew DeVault
d2e796edb7
Merge pull request #86 from nyorain/master
...
Fix style issues
2017-08-15 07:18:22 -04:00
nyorain
d7dcbbc175
Add wayland backend cursor support
2017-08-14 18:02:05 -04:00
nyorain
f998bb8299
Fix style issues
2017-08-14 17:09:56 +02:00
Dominique Martinet
ba20d5b3ca
Refactor out wlr_touch_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
bd67849c03
Refactor out wlr_tablet_tool_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
a289940bff
Refactor out wlr_tablet_pad_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
53e7bebd23
Refactor out wlr_pointer_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
0a3246ad97
Refactor out wlr_keyboard_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
e6ad67911b
Refactor out wlr_input_device_state
2017-08-14 16:22:31 +02:00
Drew DeVault
de6f32c84e
Refactor away wlr_renderer_state
2017-08-14 08:37:50 -04:00
Drew DeVault
94e6e6334b
Refactor out wlr_texture_state
2017-08-14 08:25:26 -04:00
Drew DeVault
c8c6619146
Refactor out wlr_output_mode_state
2017-08-14 08:03:51 -04:00
Calvin Lee
de66bdb867
Add backend detection functions
...
Resolves #80
2017-08-13 23:08:33 +02:00
Drew DeVault
41e735242d
Remove wlr_output_state, update backends
2017-08-13 11:38:03 -04:00
Drew DeVault
4386816889
wlr_backend_init -> wlr_backend_start
...
Also renames create to init. We'll use create for anything that
allocates and init for anything that takes a pointer and initializes it.
2017-08-13 10:19:57 -04:00
Dominique Martinet
5c82d2f5c3
libinput backend: massive renaming
...
- 'libinput' (backend's) to libinput_context
- 'device' (libinput_device) to libinput_dev
- 'dev' (wlr_device) to wlr_dev
- 'devices' lists tangling of libinput devices to wlr_devices
- 'devices' list of wlr_devices in backend state to wlr_device_lists
2017-08-13 08:18:05 +02:00
Drew DeVault
234b2104e4
Refactor wlr_backend_state out of DRM backend
2017-08-12 19:52:22 -04:00
Drew DeVault
c95a108d2f
Update libinput backend with new state design
2017-08-12 13:51:47 -04:00
Drew DeVault
81cd90297d
Refactor out wlr_backend_state from wl/multi
2017-08-12 11:43:36 -04:00
Dominique Martinet
3ea878b76e
wayland backend: free seatName
2017-08-12 01:19:45 +02:00
Dominique Martinet
8427749dd0
wayland backend: emit signal for input/output removal
2017-08-12 01:16:12 +02:00
Drew DeVault
ce65a0c138
Merge pull request #69 from 4e554c4c/user_data
...
Add user data to wlr_* structs
2017-08-11 14:59:15 -04:00
Calvin Lee
a8c1e8ce69
Add user data to wlr_* structs
...
Resolves #68
2017-08-11 20:44:17 +02:00
nyorain
ed2fc30625
Fix wlr_surface invalid values
2017-08-11 20:30:42 +02:00
Drew DeVault
62d8b252c0
Refactor meson and move xdg-shell into wlroots
2017-08-11 09:37:09 -04:00
Drew DeVault
c24351681f
Refactor EGL handling
2017-08-10 22:15:37 -04:00
Drew DeVault
7095274a9e
Merge branch 'master' into drm_buffer
2017-08-10 13:19:39 -04:00
Drew DeVault
7da43ff8b0
Implement wlr_surface_flush_damage
2017-08-10 08:26:16 -04:00
nyorain
31d78ff497
Fix wlr_surface destruction bug
2017-08-10 12:42:35 +02:00
Tony Crisci
14654ecb77
implement compositor create region
...
Complete the implementation of wlr_region_create and put it in the compositor.
2017-08-10 05:59:43 -04:00
nyorain
1901c3e1b6
Fix example for updated gles
2017-08-10 11:03:58 +02:00
nyorain
67369173aa
Implement drm (egl) buffer attaching
2017-08-10 10:59:58 +02:00
Drew DeVault
750d0ad458
Flesh out wlr_surface state lifecycle a bit
...
Sprinked some TODOs around for future work
2017-08-09 23:34:50 -04:00
Drew DeVault
4de930542f
Implement partial texture uploads
2017-08-09 22:17:40 -04:00
Tony Crisci
8306f46dfb
implement surface frame
...
The surface frame callback lets a window know when it is a good time to show the
next frame if it is animating. In particular, this callback is used by
weston-simple-shm to throttle drawing.
2017-08-09 17:31:38 -04:00
nyorain
cf9ee6ce3f
Move wlr_surface into wlr
2017-08-09 17:27:12 +02:00
nyorain
1bea754521
Implement wlr_region using pixman
2017-08-09 17:05:55 +02:00
Scott Anderson
af67966d92
Atomic modesetting
2017-08-09 08:07:00 -04:00
nyorain
e167f41fde
Rename wlr_surface -> wlr_texture; attach -> upload
2017-08-08 18:25:16 +02:00
Drew DeVault
7486263f7e
Add xcursor sublibrary
2017-08-07 21:13:04 -04:00
Scott Anderson
d09ca20a4d
Use gbm_bo_map for cursor
2017-08-07 21:07:42 +12:00
Scott Anderson
5a636b21ba
Remove old fields
2017-08-06 21:51:34 +12:00
Scott Anderson
5f7042a1f2
Moved headers
2017-08-06 21:49:04 +12:00
Scott Anderson
1db97a9af9
Updated DRM cursor rendering
2017-08-06 21:38:40 +12:00
Scott Anderson
7b772e1a4b
DRM resource initalisation
2017-08-06 15:49:02 +12:00
Drew DeVault
5bf61ca7ed
Check for multi backend before using it
2017-08-05 23:08:35 -04:00
Scott Anderson
4d4da18437
Fixed VT switching
2017-08-06 13:37:49 +12:00
Scott Anderson
cb4d50e22c
Changed header paths.
2017-08-06 13:25:26 +12:00
Scott Anderson
2ae5cd6539
Moved session/ into backend/
2017-08-06 13:25:26 +12:00
Scott Anderson
ae4478e17f
Changed ownership of wlr_session to the multi backend.
...
Currently breaks VT switching for examples.
2017-08-06 13:25:26 +12:00
Tony Crisci
effea557bb
Implement destroying surfaces
...
Add a signal for wlr_surface destruction on the wlr_surface that compositors
can listen to to remove the surface from their state.
Implement a listener for this in the example wl_compositor to remove the
surface from its internal list of surfaces.
Destroy the surface in the compositor destroy_surface callback given when the
surface resource was created.
Add a reference to the surface resource to the wlr_surface so a compositor can
find it in its list of resources upon wlr_resource destruction.
2017-08-04 11:53:55 -04:00
Drew DeVault
e92a65fee8
Remove use of missing header
2017-07-12 09:49:26 -04:00
Scott Anderson
8189c64d7f
Fixed that warnings that showed up with optimisations.
2017-07-11 00:14:55 +12:00
Scott Anderson
5b8ec107b9
Session documentation.
2017-07-09 23:02:41 +12:00
Scott Anderson
3779ef802d
Stop remembering the drm fd in child.
2017-07-09 22:23:54 +12:00
Scott Anderson
2f2c8205d8
Moved IPC to its own file.
2017-07-09 22:12:50 +12:00
Scott Anderson
bd5bca5283
Added public fields to wlr_session
2017-07-09 17:53:13 +12:00
Drew DeVault
8920b5d607
Merge branch 'wlcore'
2017-06-29 16:00:24 -04:00
Drew DeVault
18e6ddc1c5
Remove wlr_compositor
2017-06-28 17:25:01 -04:00
Drew DeVault
f5b7bc033e
Add wlr_wl_compositor and remove wlr_wl_shm
2017-06-26 10:26:55 -04:00
Scott Anderson
0cd94f0cf0
Added software cursor fallback
2017-06-26 17:34:15 +12:00
Drew DeVault
8a18cf456a
Remove endian.h
...
Fuck big endian systems anyway
2017-06-23 14:46:18 -04:00
Drew DeVault
5a2796266f
Support wl_shm pixel formats in gles2 renderer
2017-06-23 14:25:55 -04:00
Drew DeVault
2aafb5dd19
Add wlcore/wl_shm (WIP)
2017-06-23 13:41:07 -04:00
Drew DeVault
b18209c904
Switch to GLES2
...
Closes #13
2017-06-23 11:38:45 -04:00
Drew DeVault
168f0955ab
Add wl_output globals for wlr_outputs
2017-06-22 14:27:35 -04:00
nyorain
dbde1f7340
Store wayland backend axis source
2017-06-22 17:58:53 +02:00
nyorain
272030652a
Implement absolute motion events for wayland
2017-06-22 17:55:00 +02:00
nyorain
c1520077b6
Implement wayland backend input events
2017-06-22 16:53:48 +02:00
Drew DeVault
3d71969b2a
Make event names consistent
2017-06-21 14:07:09 -04:00
Drew DeVault
f4453d104d
Reorganize wlr-common
2017-06-21 12:10:07 -04:00
Drew DeVault
fd91244e83
Update everyone to use new headers
2017-06-21 10:27:45 -04:00
Drew DeVault
53a8b4f127
Split out types.h and wlr/types.h
...
TODO: Update the code accordingly and move other types into the same
paradigm
2017-06-21 10:10:04 -04:00
Scott Anderson
55854565dc
Fixed VT switching
2017-06-21 13:31:29 +12:00
Scott Anderson
091de12bf4
Changed session signal to only emit on DRM changes
2017-06-21 12:47:53 +12:00
Drew DeVault
c2d0090ad7
Support multiple wl backend outputs
2017-06-20 18:22:21 -04:00
Drew DeVault
b9d36c8149
Add dynamic output resizing for Wayland backend
...
This allows outputs to:
- Not support modesetting
- Resize themselves
2017-06-20 17:51:45 -04:00
nyorain
50ce35e9da
Implement wayland backend output
2017-06-20 18:27:05 +02:00
nyorain
62b1421635
Make egl_error function part of the egl interface
...
The function may be useful for backends using egl.
2017-06-20 18:26:29 +02:00
nyorain
792d535225
Rework wayland backend output implementation
2017-06-19 22:36:40 +02:00
nyorain
e65ca967f9
Merge branch 'master' into wayland-backend
2017-06-19 21:22:42 +02:00
Drew DeVault
41b5294013
Merge pull request #16 from nyorain/master
...
Make logging ninja friendly
2017-06-19 15:18:48 -04:00
Drew DeVault
632a04f1b7
Implement keyboard LEDs
2017-06-19 15:15:37 -04:00
Drew DeVault
ecb04afcad
Implement tablet pads
2017-06-19 14:49:07 -04:00
nyorain
acbc0a019a
Make logging ninja friendly
...
When building with ninja instead of make __FILE__ will be relative
and logging therefore break. This moves stripping the path
from __FILE__ to runtime and handles a relative filepath as
well as a full one.
2017-06-19 20:01:35 +02:00
nyorain
8fbf1ca3ff
Continue wayland backend update
...
Update wayland backend to new api.
Start to use the input interfaces.
Compiling now, not tested.
2017-06-19 19:05:10 +02:00
nyorain
41a477375c
Merge branch 'libinput' into wayland-backend
2017-06-19 17:49:26 +02:00
nyorain
904739c405
Start to fix wayland backend
...
Starts to update the wayland backend to the new backend api.
Not yet updated to libinput branch (not yet compiling).
2017-06-19 17:46:50 +02:00
Drew DeVault
7e038a6110
Add (broken) DRM hardware cursors
2017-06-16 15:38:34 -04:00