Simon Ser
9e3576426d
buffer: listen to renderer destroy in wlr_client_buffer
...
When a renderer is destroyed, so are all textures. Reset the
texture in that case.
2024-03-14 22:03:13 +01:00
Simon Ser
cf7b91cc5f
buffer: add single-pixel-buffer-v1 special case in buffer_is_opaque()
2024-02-21 08:54:35 +00:00
Leo Li
71fb55f3bf
render/pixel-format: Move has_alpha into it's own array
...
Some opaque pixel formats (nv12, p010) require per-plane bytes_per_block
info. However, it doesn't make sense to store them in
wlr_pixel_format_info, as they will never be useful (currently, this
info is used for shm, which doesn't have a concept of multi-planar
buffers.)
Let's define a separate array and function for determining whether a
pixel format has alpha.
2024-01-31 13:47:17 -05:00
eri
8ccbe45143
buffer: convert to try_from
...
References: wlroots/wlroots#884
2023-10-19 18:19:27 +02:00
Alexander Orzechowski
1b0694b794
treewide: Migrate from sizeof(struct) to sizeof(*pointer) where practical
2023-10-03 01:51:07 -04:00
Simon Ser
fe06e5f49a
Use wl_container_of() instead of casts
...
This slightly improves type safety.
The culprits were found with:
git grep -E '\([a-z0-9_ ]+ \*\)\W?[a-z]'
2023-07-11 20:16:17 +02:00
Simon Ser
7a9f8d8d6b
Use struct initializers instead of memset()
...
This is a bit more type-safe.
2023-07-07 17:31:11 +02:00
Simon Ser
f84f7c7710
wl-drm: use resource interface
...
Instead of hardcoding builtin resource types in
wlr_buffer_from_resource(), use the modular resource interface.
2022-11-17 19:55:19 +00:00
Simon Ser
772066a174
linux-dmabuf-v1: use resource interface
...
Instead of hardcoding builtin resource types in
wlr_buffer_from_resource(), use the modular resource interface.
2022-11-17 19:55:19 +00:00
Simon Ser
6c277e3c39
buffer: drop wlr_shm_client_buffer
...
It's been superseded by wlr_shm.
2022-11-15 16:30:00 +00:00
Simon Ser
93597952aa
buffer: constify wlr_client_buffer_apply_damage()
2022-11-11 23:11:17 +00:00
Alexander Orzechowski
ea40ba4f6a
wlr_scene: Fix texture reuse
...
Add private interface to ignore a buffer that's locking a client_buffer
for damage tracking. This should eventually be replaced by wlr_raster.
2022-11-11 00:08:04 +00:00
Simon Ser
69c47717c2
buffer: split into multiple files
...
wlr_buffer.c is difficult to read because it contains a mixed bag
of unrelated things: base buffer type, buffer implementations,
buffer resource factory, and client buffer.
Split each of these into their own file.
2022-09-16 18:32:22 +02:00