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.
7 years ago
emersion
e4933ab445
Introduce wlr_buffer
7 years ago
Dominique Martinet
c6821f3dd3
wlr_surface: insert subsurfaces in revert order
...
sibling surfaces were drawn in incorrect order (e.g. latest below).
This attempts to fix that by reverting the order of the list.
7 years ago
Dominique Martinet
cf9b8c0a8c
wlr_surface_get_root_surface: walk up parent
...
This would dead-loop and never walk up if called on a subsurface
7 years ago
Markus Ongyerth
7b07b3f95d
Fix type in wlr_surface_get_extends
7 years ago
Markus Ongyerth
3994762ae0
Add wlr_surface_get_geometry
...
This function defaults and clips the xdg-surface geometry to the
bounding box of the surface + its subsurfaces, as specified by the
protocol spec.
7 years ago
Genki Sky
d1cf9acbd5
cleanup: Use void for zero-parameter functions
...
Signed-off-by: Genki Sky <sky@genki.is>
7 years ago
emersion
28020ff577
Only allow one modifier per DMA-BUF, split attributes struct in render/
7 years ago
emersion
da504f9253
surface: remove wl_resource_post_event
7 years ago
emersion
6d569def6d
compositor, surface: correctly destroy resources
7 years ago
emersion
43012f3740
compositor: redesign how resources are managed
...
All public resource creators now take a new ID for the resource
and an optional list where the resource link is added. When the
resource is destroyed it is its own responsibility to remove
itself from the list. This removes the need for the caller to add
a destroy listener.
This commit fixes a few segfaults with resources not removed from
the list when destroyed.
7 years ago
Drew DeVault
fecb971518
Merge pull request #902 from emersion/various-memory-leaks
...
Various memory leaks
7 years ago
emersion
449f06556a
Destroy wlr_surface with wlr_renderer
7 years ago
emersion
d47713ac0f
compositor: destroy subsurface resources with wlr_subcompositor
7 years ago
emersion
625a7a48dc
Don't use the wlr_ prefix for static functions
7 years ago
emersion
b0d99f5c67
Remove wlr_ prefix from local symbols
7 years ago
emersion
fa84b267e0
Remove wlr_surface::subsurface
7 years ago
emersion
4a9a9eae9a
Add surface iterators
7 years ago
emersion
1a8b24bdd2
rootston: fix view_at
7 years ago
emersion
d16127b3cb
Fix wlr_surface_subsurface_at, change it to be wlr_surface_surface_at
7 years ago
Drew DeVault
e19ee6d469
Add wlr_surface_point_accepts_input
...
Ref https://github.com/swaywm/sway/pull/1674
7 years ago
emersion
6bbf507082
surface: fix texture not updated on commit
...
When a client attaches a wl_drm or a linux_dmabuf buffer, we only
update it if the size is different from the one of the old buffer.
This means that if the client attaches a new, updated buffer with
the same size as the old buffer, the texture won't get updated.
This commit changes this behavior and re-creates the texture if
the client attaches a new buffer, without requiring the size to be
different.
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
Guido Günther
805039457a
wlr_surface: fix indentation
7 years ago
emersion
1914a1aa2b
surface: drop wlr_surface_get_matrix
7 years ago
emersion
8b58e1a3ad
Merge branch 'master' into matrix-redesign
7 years ago
emersion
824a95ad19
matrix: use 2D matrices
7 years ago
emersion
de0e40d621
Merge pull request #698 from agx/linux-dmabuf
...
Add initial linux_dmabuf protocol support
7 years ago
Guido Günther
14cdb6153f
Add initial linux_dmabuf protocol support
...
Tested with
./weston-simple-dmabuf-drm
./weston-simple-dmabuf-drm --import-immediate=1
./weston-simple-dmabuf-drm --y-inverted=1
(and combinations)
Supports only single plane XRGB dmabufs for now.
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
90148e64ab
Fix clients binding multiple times to the same output
7 years ago
emersion
f0404f6d75
surface: don't reset frame_callback_list on resize
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
5e58d46cc1
Add wlr_signal_emit_safe
7 years ago
emersion
e049610b47
surface: copy buffer damage to surface damage
7 years ago
emersion
861d5bdff2
surface: fix damage when resizing a surface in QT apps
7 years ago
emersion
ece2c1e4e2
Damage tracking for transformed outputs
7 years ago
emersion
a8cb02f585
surface: add damage when subsurface moves
7 years ago
emersion
59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Johannes Schramm
dcc743047b
style: include brackets for if/while/for, even if it's a single statement
7 years ago
emersion
eeffe11337
surface: add wlr_surface new_subsurface and wlr_subsurface destroy events
7 years ago
emersion
ddafcb86a2
surface: add resize damage
7 years ago
emersion
59ba8f35ed
rootston: use surface damage
7 years ago
Tony Crisci
5a18f62fee
add role-committed hook
7 years ago
emersion
54f1135c05
Fix fullscreen in xdg-shell
7 years ago