emersion
7843a48432
output: simplify and update code style
7 years ago
emersion
625a7a48dc
Don't use the wlr_ prefix for static functions
7 years ago
emersion
94fa6c88f4
output: don't emit the mode event if it hasn't changed
...
This also fixes #535 .
7 years ago
emersion
1b802d9251
Make wlr_renderer_scissor take normal coords instead of upside-down ones
7 years ago
emersion
31c8bdc277
Fix wlr_output_transform_compose
7 years ago
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.
7 years ago
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
7 years ago
emersion
7894fca224
matrix: rename wlr_matrix_texture to wlr_matrix_projection
7 years ago
emersion
824a95ad19
matrix: use 2D matrices
7 years ago
emersion
d26b67cb06
matrix: unify API, don't use array pointers
7 years ago
emersion
b6a3f240c7
matrix: move to types/
7 years ago
emersion
8e3d294d6a
output: fix trailing cursor at (0, 0) on startup
7 years ago
emersion
a951fbb264
output: don't move hidden cursors
...
When using the DRM backend and multiple outputs, that reduces the
number of commits.
7 years ago
Drew DeVault
0820557c8c
Merge pull request #693 from emersion/fix-output-bind-multiple
...
Fix clients binding multiple times to the same output
7 years ago
emersion
90148e64ab
Fix clients binding multiple times to the same output
7 years ago
Guido Günther
d08792bfff
Add alpha to wlr_render_with_matrix
...
so we can use the alpha channel to e.g. blend in textures
7 years ago
Drew DeVault
1d9be89e2d
Revert "ELF Visibility"
7 years ago
Scott Anderson
86269052eb
Explicitly export EFL symbols
7 years ago
emersion
392d54a35d
Wrap wl_resource_get_user_data into safer helper functions
...
This ensures we're not incorrectly casting a resource.
Fixes #628
7 years ago
emersion
c2e1474010
Reformat all #include directives
7 years ago
emersion
36ead80cd1
Make wlr_signal_emit_safe private
7 years ago
emersion
10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove}
7 years ago
emersion
5e58d46cc1
Add wlr_signal_emit_safe
7 years ago
emersion
bf6d245400
Swap buffers with damage
7 years ago
emersion
faa57341ca
output: replace raw GL calls by wlr_renderer_* calls
7 years ago
emersion
3d3ea32137
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
emersion
8eed857292
output: add destroy signal for wlr_output_cursor
7 years ago
emersion
edb4c8d858
output: damage whole output when fullscreen surface size changes
7 years ago
emersion
a295c805c4
output: fix output_damage_whole for scaled outputs
7 years ago
emersion
babdd6ccf7
backend: fix use-after-free when destroying backends
...
The backend destroy signal is emitted before the output_remove
signal is. When the destroy signal is emitted listeners remove
their output_remove listener, so the output_remove signal is never
received and listeners have an invalid output pointer.
The correct way to solve this would be to remove the output_remove
signal completely and use the wlr_output.events.destroy signal
instead. This isn't yet possible because wl_signal_emit is unsafe
and listeners cannot be removed in listeners.
7 years ago
emersion
704130cc11
output: fix performance issues with wlr_output_schedule_frame
7 years ago
emersion
d498855b9d
backend/drm: fix hw cursor position on rotated and scaled outputs
...
output: add wlr_output_transformed_resolution
7 years ago
emersion
2cc989e097
output: restrict provided damage to output bounds
7 years ago
emersion
7881d039b6
rootston: fix output_damage_whole
...
This should fix artifacts when leaving fullscreen on rotated outputs.
7 years ago
emersion
485aa87468
output: fix fullscreen on transformed outputs
7 years ago
emersion
7adf13e284
Fix flickering when switching VT
7 years ago
emersion
8d58ed502b
output: add wlr_output_schedule_frame
7 years ago
emersion
ece2c1e4e2
Damage tracking for transformed outputs
7 years ago
emersion
6281deb90f
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Markus Ongyerth
f946c10cb1
re-adds wlr_output_update_enabled
...
Re-add the wlr_output_update_enabled to make sure
wlr_output::events.enable is called when the output enabled state
changes.
7 years ago
Markus Ongyerth
3cf7225cec
decouples outputenable state and wl_output global
...
This decouples wlr_output_enable and the wl_global.
The previously internal functions wlr_output_(destroy/create)_global are
exposed and used automatically in the wlr_output_layout to create/tear
down the global.
The compositor can handle them itself if it wants to, but I think this
is the right moment to create/destroy the wl_output when the
wlr_output_layout is used.
7 years ago
emersion
0365b587f0
output: add damage tracking via buffer age
7 years ago
emersion
4ca38b84ed
backend/drm: fix hardware cursors not moving
...
This adds back `wlr_output::needs_swap`. This allows a backend to
request buffer swaps even if the output isn't damaged. This is
needed by the DRM backend to trigger pageflips when the cursor
moves.
7 years ago
emersion
e29a0df8c1
output: fix software cursors damage tracking
7 years ago
emersion
a0f24b809e
output: add damage event
7 years ago
emersion
443bd4cd89
output: fullscreen surface damage tracking
7 years ago
emersion
f061a1da63
output: fix software cursor artifacts
7 years ago
emersion
59ba8f35ed
rootston: use surface damage
7 years ago
emersion
bde255933e
output: add wlr_output::damage, fixes #572
7 years ago
emersion
0eebaf98d0
drm: do not pageflip when enabling output
7 years ago