Drew DeVault
1e70b4cea2
Revert "Prevent excessive frame events when compositor doesn't swap buffers"
2018-10-05 07:37:41 -04:00
Ryan Dwyer
b7b781ff44
Prevent excessive frame events when compositor doesn't swap buffers
...
When we send an output frame event, we should not assume that the
compositor is going to call wlr_output_swap_buffers in response to it.
If the compositor does not swap the buffers, the idle event source still
exists and is executed every time the Wayland event loop becomes idle,
which means we send frame events repeatedly until the buffers are
swapped.
This moves the removal of the idle event source out of
wlr_output_swap_buffers and into wlr_output_send_frame, where it is
guaranteed to be removed.
2018-10-05 20:14:34 +10:00
emersion
eac7c2ad2f
output: add presentation refresh prediction
2018-10-04 22:00:24 +02:00
emersion
b0635bf3e7
Rename get_present_clock to get_presentation clock, use it
2018-10-04 22:00:22 +02:00
emersion
abddfc99f2
output: fix clock_gettime return value handling
2018-10-04 21:58:17 +02:00
emersion
54e1287f30
backend: add get_present_clock
2018-10-04 21:58:17 +02:00
emersion
26b9d6dbb1
output: send present event from all backends
2018-10-04 21:56:38 +02:00
emersion
78389fe722
output: add present event
2018-10-04 21:56:38 +02:00
emersion
2beb68007e
output: make gamma size a size_t and gamma table const
2018-10-03 10:36:33 +02:00
emersion
928572c14d
output: add wlr_output_set_hardware_cursors_enabled
...
And use it in screencopy.
2018-09-18 11:37:37 +02:00
Drew DeVault
df991a55ab
Merge pull request #1241 from emersion/output-enable-error-checking
...
output: make wlr_output_enable return a bool
2018-09-14 21:14:18 -04:00
emersion
cb293f09e7
output: make wlr_output_enable return a bool
2018-09-14 18:18:07 +02:00
emersion
524702eb16
output: introduce WLR_NO_HARDWARE_CURSORS
2018-09-14 18:07:21 +02:00
emersion
017cfb0b86
backend/drm: log when de-allocating CRTC
2018-09-04 19:44:44 +02:00
emersion
a149c2370a
Implement wlr-gamma-control-unstable-v1
2018-08-02 23:33:04 +01:00
Markus Ongyerth
9a6f77fc2c
tablet-v2: fix merge commits and test again
...
There were a few issues after rebase, that the merge algorithm didn't
throw at my face:
wlr_output did a check on the actual role, not a string anymore, so that
had to go to allow tablet-v2 to set cursor surfaces.
A few L_DEBUG/L_ERRORs were still around
There was a user-after-free in tablet-group free()ing, probably after
insufficient testing from a previous feedback pass
2018-07-14 10:29:22 +02:00
Drew DeVault
e226e2c011
Missed some old wlr_log calls
2018-07-11 18:36:31 -04:00
Drew DeVault
c0b4217fce
Merge pull request #1116 from emersion/surface-role
...
surface: replace wlr_surface_set_role_committed with wlr_surface_role
2018-07-11 15:27:42 -07:00
emersion
7cbef15206
util: add wlr_ prefix to log symbols
2018-07-09 22:49:54 +01:00
emersion
deeca53e33
Rename wl_resources to resource, wl_global to global
2018-07-08 19:21:31 +01:00
emersion
5fe50b9a28
output: make wl_output resources inert
2018-07-07 23:02:08 +01:00
emersion
33db4263a0
surface: replace wlr_surface_set_role_committed with wlr_surface_role
2018-07-07 22:45:16 +01:00
emersion
f440708274
output: fix cursor attach coords handling
2018-07-04 19:12:18 +01:00
emersion
78555abba3
surface: move position and scale out of wlr_surface_state
2018-07-04 19:12:17 +01:00
emersion
3c0d672ebd
surface: make pending and current embedded structs
2018-07-04 19:12:17 +01:00
Dominique Martinet
b3313b7f39
wlr_output: fix scope for 'now'
...
'when' points to now that was defined in the if, so compiler could reuse
that memory area by the time 'when' is called
Found through static analysis.
2018-06-30 11:38:21 +09:00
emersion
57548b557a
Merge branch 'master' into screencontent
2018-06-17 14:49:18 +01:00
emersion
0378d143d9
surface: remove wlr_surface.texture
...
The texture is managed by the surface's wlr_buffer now. In
particular, the buffer can destroy the texture early if it becomes
invalid.
2018-06-13 19:38:10 +01:00
emersion
21928cbe61
Merge branch 'master' into screencontent
2018-05-31 12:33:27 +01:00
emersion
e26f4dff98
export-dmabuf: wait for the frame to be ready, send timestamp
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
e849a68e6e
output: correctly clear screen when fullscreened
2018-05-20 13:44:18 +01:00
emersion
dbba1311b7
output: fix lingering hardware cursors
2018-05-15 18:13:26 +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
emersion
7843a48432
output: simplify and update code style
2018-05-03 18:46:17 +01:00
emersion
6b3eac37f1
output: assert move_cursor if set_cursor is available
2018-05-02 15:04:35 +01: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
625a7a48dc
Don't use the wlr_ prefix for static functions
2018-04-25 23:51:00 +01:00
emersion
94fa6c88f4
output: don't emit the mode event if it hasn't changed
...
This also fixes #535 .
2018-04-18 00:15:25 +01:00
emersion
1b802d9251
Make wlr_renderer_scissor take normal coords instead of upside-down ones
2018-04-12 19:38:33 -04:00
emersion
31c8bdc277
Fix wlr_output_transform_compose
2018-04-12 19:05:05 -04:00
emersion
c63d94483b
Redesign wlr_texture
...
- Textures are now immutable (apart from those created from raw
pixels), no more invalid textures
- Move all wl_drm stuff in wlr_renderer
- Most of wlr_texture fields are now private
- Remove some duplicated DMA-BUF code in the DRM backend
- Add more assertions
- Stride is now always given as bytes rather than pixels
- Drop wl_shm functions
Fun fact: this patch has been written 10,000 meters up in the air.
2018-03-24 23:48:32 -04:00
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
2018-03-19 23:16:29 +01:00
emersion
7894fca224
matrix: rename wlr_matrix_texture to wlr_matrix_projection
2018-03-15 21:26:45 +01:00
emersion
824a95ad19
matrix: use 2D matrices
2018-03-15 15:33:58 +01:00
emersion
d26b67cb06
matrix: unify API, don't use array pointers
2018-03-15 11:10:56 +01:00
emersion
b6a3f240c7
matrix: move to types/
2018-03-15 09:11:27 +01:00
emersion
8e3d294d6a
output: fix trailing cursor at (0, 0) on startup
2018-03-11 11:21:40 +01:00
emersion
a951fbb264
output: don't move hidden cursors
...
When using the DRM backend and multiple outputs, that reduces the
number of commits.
2018-03-07 10:22:39 +01:00