Timidger
f56ce11aa0
Fixes #535 send mode info on DRM refresh once
...
When DRM refreshed, wlr_output_set_mode is called. It would then call
the DRM set_mode callback which sends the updated matrix and mode info.
However once that call completed it would then immediantly send the
information again. This is handled poorly by xwayland, causing it to
scale up the clients twice.
2017-12-28 11:12:44 -06:00
emersion
e737f65e38
Fix cursor on transformed output with DRM backend
2017-12-26 18:16:37 +01:00
emersion
01cefbb868
Output fixes
...
Fixes setting a hardware cursor image twice (used to fallback to
software cursor) and destroy handlers.
2017-12-19 11:06:09 +01:00
Tony Crisci
d654a12b2e
remove display_destroy unlisten before output free
2017-12-18 16:24:56 -05:00
Tony Crisci
c59210ad17
remove display destroy when output is destroyed
2017-12-18 15:10:32 -05:00
emersion
0256de0002
Add full refresh rate support to custom modes
2017-12-17 18:02:55 +01:00
Drew DeVault
95fddf2fa8
s/L_INFO/L_DEBUG/ @ software cursor fallback
2017-12-16 09:56:30 -05:00
emersion
80b0b327de
Remove fractional output PR artifact
2017-12-15 17:14:30 +01:00
emersion
51db087210
Introduce fractional scaling
2017-12-15 01:00:03 +01:00
Drew DeVault
23fb663ea4
Merge pull request #453 from emersion/surface-transform
...
Add surface transforms support
2017-12-14 14:43:04 -05:00
emersion
466e86b7b2
Merge branch 'master' into surface-transform
2017-12-14 20:31:18 +01:00
emersion
75ef7860bb
Merge branch 'master' into display-destroy
2017-12-14 20:29:30 +01:00
emersion
257559d890
Remove output instead of terminating display when a wayland backend view closed
2017-12-13 21:48:59 +01:00
emersion
3b4b8953d9
Update output layout when scale or transform changes
2017-12-12 21:58:00 +01:00
emersion
c67a5824b8
Merge branch 'master' into display-destroy
2017-12-11 16:14:03 +01:00
emersion
529675b7b0
Add wlr_output_set_custom_mode
2017-12-11 12:14:23 +01:00
emersion
15bb9a53b4
Fix unscaled cursor sx, sy
2017-12-08 14:40:57 +01:00
emersion
5dc303fc26
Fix client cursors hotspot on scaled outputs
2017-12-08 14:33:02 +01:00
emersion
c5fa415a03
Send wl_surface.{enter,leave} to cursor surfaces
2017-12-08 14:23:33 +01:00
emersion
0e066f0d76
Listen to display destroy in output
2017-12-07 01:12:04 +01:00
emersion
dac0233804
Send new output to clients when changing transform
2017-12-06 16:54:08 +01:00
emersion
bf2b58eb6d
Add wlr_output_set_scale
...
Fixes #465
2017-12-06 16:36:46 +01:00
emersion
6a69b4419f
Make wlr_output_transform_* functions public, refactoring
2017-12-01 09:15:33 +01:00
Tony Crisci
5d7eb438d9
Merge pull request #437 from emersion/fullscreen
...
Fullscreen support
2017-11-30 03:25:05 -05:00
emersion
0781f6e483
Fix initial hardware cursor position
2017-11-29 00:26:55 +01:00
emersion
cc2468923b
Fix non-HiDPI-aware fullscreen surface rendering in wlr_output
2017-11-21 21:12:12 +01:00
emersion
3262661e1e
Fix HiDPI support
2017-11-21 20:58:15 +01:00
emersion
5a664e1e46
Fix messed up outputs after fullscreen
2017-11-21 18:43:22 +01:00
emersion
dcb168914e
Merge branch 'master' into fullscreen
2017-11-21 18:34:12 +01:00
emersion
a268f57ed5
Forgot a call to glClear
2017-11-20 21:05:05 +01:00
emersion
54f1135c05
Fix fullscreen in xdg-shell
2017-11-20 20:53:13 +01:00
emersion
80998cdf57
Add support for fullscreen xwayland views
2017-11-20 17:58:26 +01:00
emersion
b04a9a248d
Initial fullscreen support
2017-11-20 17:27:36 +01:00
emersion
016744ef4d
Refactor wlr_list inside wlroots
2017-11-19 00:17:40 +01:00
emersion
bf1f461eba
Call wl_output_send_done when current mode is updated
2017-11-15 22:35:16 +01:00
Drew DeVault
2f6cfe4057
Fix software cursors on scaled outputs
...
There was an issue where it would only work within the boundaries of the
unscaled resolution.
2017-11-04 11:47:34 -04:00
Drew DeVault
6d8e1abfc0
Improve input sensitivity
...
We now use doubles until the last minute, which makes it so we can move
the pointer more precisely. This also includes a fix for tablet tools,
which move absolutely and sometimes do not update the X or Y axis.
2017-11-04 01:35:12 -04:00
Drew DeVault
86b8729998
Merge remote-tracking branch 'origin/master' into hidpi
2017-11-02 23:34:02 -04:00
Drew DeVault
ca8cf7d48d
Rethink HiDPI output layouts, fixes everything
...
Except for subsurfaces not rendering at the right scale. But that part
is (somewhat) easy.
2017-11-02 23:17:39 -04:00
emersion
f8de7aa0fd
Add checks for wl_resource_create
2017-11-02 23:14:24 +01:00
emersion
0384c9c094
Process surface position for software cursor hotspots
2017-11-02 19:24:48 +01:00
emersion
b46d2a8b33
Fix wlr_output_cursor_destroy
2017-11-02 11:42:42 +01:00
emersion
d11973ed7d
Fix disabled cursors
2017-11-02 11:37:43 +01:00
emersion
e18460c981
Add wlr_output.needs_swap
2017-11-01 20:08:15 +01:00
emersion
a15b35aa10
Remove mysterious hotspot switch in DRM backend
2017-11-01 14:36:58 +01:00
emersion
60c018c017
Fix hidden software cursors, fix cursor transformations on DRM backend
2017-11-01 14:25:41 +01:00
Drew DeVault
ed74f473d6
Fix various rebase-related bugs
2017-11-01 08:57:30 -04:00
Drew DeVault
8c0929cfb3
Fix backwards bit banging
2017-11-01 08:51:59 -04:00
Drew DeVault
c8f97a3a2c
Use surface matrix for software cursors
...
A similar change should probably be applied to hardware cursors, though
more complicated. Also, this doesn't actually fix the issue where the
cursor is too small when over a scale=2 surface. Apparently they don't
set their cursor scales to 2. Seems like a client bug? idk
2017-11-01 08:51:59 -04:00
Drew DeVault
a6930cd8ea
Handle output enter/leave correctly
2017-11-01 08:51:59 -04:00
Drew DeVault
9861add146
Send surface enter output events to clients
2017-11-01 08:50:33 -04:00
Drew DeVault
a7446792a1
Consider scale factor when rendering views
2017-11-01 08:44:07 -04:00
emersion
510ce27fb7
Re-enable hardware cursors
2017-11-01 11:01:18 +01:00
emersion
0beae99188
Apply output transformation to pointer events in Wayland backend
2017-11-01 11:00:27 +01:00
emersion
ec22fe7134
Make wlr_output_interface.enable optional
2017-10-31 15:19:55 +01:00
emersion
d2581eadbc
Assert mandatory impl fields in wlr_output_init
2017-10-31 15:08:45 +01:00
emersion
c97b5ac4ce
Fix output_cursor_render bounds check
2017-10-31 13:48:09 +01:00
emersion
9142def292
Do not render off-screen software cursors
2017-10-31 12:57:20 +01:00
emersion
ae9a46fc9b
Remove outdated TODOs, use wlr_surface_has_buffer
2017-10-31 12:30:57 +01:00
emersion
c3b09f73da
Fix cursor hotspot with rotated outputs on DRM backend
2017-10-31 12:30:57 +01:00
emersion
95566c6bdf
Transform cursor hotspot, fix wayland cursor hotspot
2017-10-31 12:30:56 +01:00
emersion
6656e25fd4
Transform cursor hotspot
2017-10-31 12:30:56 +01:00
emersion
1b6c729360
Add wlr_output_cursor
2017-10-31 12:30:03 +01:00
emersion
eea532911a
Send output current mode when changed
2017-10-23 21:03:00 +02:00
emersion
1cc8f21d8e
Cleanup wlr_gamma_control
2017-10-22 23:11:26 +02:00
emersion
e1d213fccd
Create globals only for enabled outputs in DRM backend
2017-10-22 22:21:23 +02:00
emersion
4952a633ca
Remove interface version checks
2017-10-22 11:18:27 +02:00
Drew DeVault
16f35ecbea
Merge branch 'master' into heghe/wl_list
2017-10-21 22:03:48 -04:00
Drew DeVault
169b68b17c
Rename remaining refs to wlr_list
2017-10-21 22:02:36 -04:00
Scott Anderson
37b8a096a9
Pass backend to render
2017-10-22 10:39:23 +13:00
Scott Anderson
822a9f65a4
Add pointer to backend inside wlr_output
2017-10-22 10:36:07 +13:00
Tony Crisci
eaed6b6d29
wl-output: send layout position
2017-10-20 07:29:01 -04:00
Heghedus Razvan
1d716241af
Replace list_t with wl_list in wlr_output
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:46:09 +03:00
emersion
a7d7659a93
Fix render errors with gnome-terminal
2017-10-18 20:13:59 +02:00
Drew DeVault
62371a9974
Merge pull request #257 from emersion/fix-client-cursors
...
[WIP] Fix client cursors
2017-10-17 09:22:43 -04:00
emersion
786f4bdd4d
Disable hardware cursors for now
2017-10-17 00:04:33 +02:00
emersion
08720db01d
Release buffer in wlr_surface_flush_damage
2017-10-14 13:33:34 +02:00
emersion
6dc0517bb1
Fix software cursor when setting committed cursor surface
2017-10-14 13:24:29 +02:00
emersion
dd5114a514
Fix client cursors when software cursors are used
2017-10-14 12:44:25 +02:00
emersion
8fd4ae5de8
Fix cursor role name, fix segfault when surface->resource is NULL
2017-10-14 12:21:36 +02:00
emersion
19860c03f7
Better handling of hidden cursors in wayland backend, add TODOs
2017-10-12 13:25:29 +02:00
emersion
92daa790bb
Allow to update the cursor hotspot without its pixels
2017-10-12 09:40:51 +02:00
emersion
5c6a933890
Do not call wlr_surface_state_release_buffer anymore
2017-10-11 20:29:21 +02:00
Greg V
a5fe9aa736
Add FreeBSD compatibility
2017-10-11 00:07:21 +03:00
emersion
b1cba36aeb
Call frame_callback_list after rendering the cursor
2017-10-09 19:34:56 +02:00
emersion
8f7962ed44
Do not commit surface on set_cursor, breaks GTK+ apps
2017-10-09 15:45:46 +02:00
emersion
b76e64e7bf
Fix cleanup old cursor surface in wlr_output_set_cursor_surface
2017-10-09 15:23:58 +02:00
emersion
c4c948c5d9
Use attach x,y when computing hotspot, set sx,sy in surface_attach
2017-10-09 00:08:54 +02:00
emersion
008e1d596d
Fix cursor stride
2017-10-09 00:02:21 +02:00
emersion
c7a4346bfc
Hide cursor when surface == NULL
2017-10-08 23:39:38 +02:00
emersion
bceaee6eb7
Stop listening to cursor surface when manually setting cursor data
2017-10-08 23:29:04 +02:00
emersion
cebb202f7d
Set and check cursor surface role
2017-10-08 23:24:57 +02:00
emersion
8a77d1b6a2
Listen to cursor surface commit & destroy events
2017-10-08 23:11:59 +02:00
emersion
17354b630a
Read surface buffer to set output cursor
2017-10-08 22:30:31 +02:00
emersion
9b83caa658
Add wlr_output_set_cursor_surface
2017-10-08 21:21:06 +02:00
emersion
0ce3135304
Move read_pixels from output to renderer
2017-10-08 02:11:56 +02:00
emersion
a87f016017
Remove cairo dependency, write raw pixels
2017-10-07 19:01:11 +02:00
emersion
d4cc82f11a
Call glReadPixels right before swapping buffers
2017-10-07 16:22:03 +02:00
emersion
d0db6a80ab
Add post_frame event to wlr_output, use wlr_drm_plane_make_current in wlr_drm_output_read_pixels
2017-10-07 16:22:02 +02:00
emersion
35f9700251
First attempt to implement screenshooter
2017-10-07 16:22:02 +02:00
emersion
2ffa4f3fce
When output has no modes, send one anyway
2017-10-07 14:01:25 +02:00
Versus Void
641d08ce7e
Transform hotspot with cursor
...
Fix #188
2017-10-06 09:07:08 +03:00
emersion
6f98b5a337
Add set_gamma and get_gamma_size to wlr_output_impl
2017-09-06 18:53:08 +02:00
emersion
cd125377fc
Add wlr_output_{set_gamma,get_gamma_size}
2017-09-06 17:34:09 +02:00
Tony Crisci
d84deb0742
add wlr_output destroy event
2017-08-31 07:47:44 -04:00
Dominique Martinet
f24b3df980
wlr renderer/texture: rename init to create when it does alloc
2017-08-19 08:33:31 +02:00
Dominique Martinet
978f935947
output: default scale to 1
...
This prevents us from telling application our scale is 0, when it has no
reason to be.
2017-08-18 16:01:40 +02:00
Dominique Martinet
4bbf718e7d
impl->destroy cleanup:
...
- remove trivial destroy() function
- make sure we check impl and impl->destroy before calling
- always call free if not implemented
2017-08-14 16:22:31 +02:00
Dominique Martinet
db77530a35
Fix output destory: impl->destroy must be called last + obvious double-free
2017-08-14 15:05:45 +02:00
Drew DeVault
2facf1df65
Fix software cursors
2017-08-14 08:43:17 -04:00
Drew DeVault
0de5eed048
Fix double free on wlr_outputs
2017-08-14 08:37:44 -04:00
Drew DeVault
41e735242d
Remove wlr_output_state, update backends
2017-08-13 11:38:03 -04:00
Dominique Martinet
0354aaeff2
Complete a few destroy functions
...
This adds missing free calls for:
- drm outputs
- libinput backend in general
- final udev free
- output mode state
2017-08-11 19:17:03 +02:00
Drew DeVault
6569c2b626
Merge pull request #53 from nyorain/drm_buffer
...
Implement drm (egl) buffer attaching
2017-08-10 22:20:21 -04:00
Scott Anderson
5465621d0a
Update rotation matrix correctly. Fixes #60 .
2017-08-11 09:29:28 +12:00
nyorain
67369173aa
Implement drm (egl) buffer attaching
2017-08-10 10:59:58 +02:00
nyorain
e167f41fde
Rename wlr_surface -> wlr_texture; attach -> upload
2017-08-08 18:25:16 +02:00
Scott Anderson
afd058b754
Fix software cursor. Fixes #45
2017-08-08 20:22:26 +12:00
Scott Anderson
1db97a9af9
Updated DRM cursor rendering
2017-08-06 21:38:40 +12:00
Scott Anderson
aedfa27d3a
Clean up resources when plane is reassigned
2017-08-06 15:54:38 +12:00
nyorain
fdab81e1c9
Use meson build system
2017-08-05 22:34:24 +02:00
Tony Crisci
a43016b8e2
bugfix: fix cursor software rendering fallback
...
wlr_surface_attach_pixels() expects a wl_shm_format but a GL format was
given. This caused a bug where software rendering of the cursor would
fail when no pixel format can be found.
2017-07-24 16:34:40 -04:00
Drew DeVault
8920b5d607
Merge branch 'wlcore'
2017-06-29 16:00:24 -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
168f0955ab
Add wl_output globals for wlr_outputs
2017-06-22 14:27:35 -04:00
Drew DeVault
bb16025318
Fix issues with projection on drm backend
2017-06-22 11:19:46 -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
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
Drew DeVault
7e038a6110
Add (broken) DRM hardware cursors
2017-06-16 15:38:34 -04:00
Drew DeVault
fc1dc1b5b0
Use constant VBO for quad, add matrix stuff
2017-06-07 21:35:07 -04:00
Drew DeVault
cda12a3eda
Add texture, use index buffer, tweak matricies
2017-06-07 11:06:14 -04:00
Scott Anderson
382f712792
Merge remote-tracking branch 'upstream/master' into rotation
2017-06-08 00:52:33 +12:00
Scott Anderson
632a7acb03
Filled out more wlr_output fields.
2017-06-08 00:39:40 +12:00
Scott Anderson
53dd622263
Provide user with transformation matrix
2017-06-07 16:43:57 +12:00
Drew DeVault
6f5c70ac69
Let backend track transform state
...
This will be necessary to provide it to clients via wl_output.
2017-06-06 11:48:30 -04:00
Drew DeVault
e2ee67125e
s/wayland.h/types.h/g
2017-05-31 16:24:32 -04:00
Drew DeVault
c7f6981d9c
Clean up outputs on exit
2017-05-31 16:17:04 -04:00
Drew DeVault
579909a368
Promote types to a standalone subproject
2017-05-31 15:43:13 -04:00