Simon Ser
88b16bac54
pointer: add support for axis relative direction
11 months ago
Isaac Freund
7129eaa1f2
keyboard: fix type of wlr_keyboard_modifiers.group
...
This isn't a breaking change since both of these typedefs are uint32_t
but this should make things a bit less confusing for readers.
11 months ago
MaxVerevkin
48721bca65
fix outdated comment in wlr_output.h
12 months ago
Simon Ser
d0da76fbf6
wl_drm: add deprecation notice
12 months ago
Simon Ser
57d7d79982
region: add docs for wlr_region_scale_xy() and wlr_region_confine()
12 months ago
Simon Ser
f81c3d93cd
backend/drm: save current refresh rate
...
wlr_output.refresh is populated by core wlr_output, and thus will
be zero for a custom mode with an unset refresh rate.
Save the refresh rate from the drmModeModeInfo in wlr_drm_connector
instead.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3791
1 year ago
Simon Ser
ab924064f2
scene: drop wlr_scene_set_presentation()
1 year ago
Simon Ser
d68ba9d6c2
presentation-time: drop wlr_presentation arg
...
There can only be a single presentation-time global advertised to
clients, this it's unnecessary to pass around the wlr_presentation
pointer.
1 year ago
Simon Ser
1968ada213
tearing-control-v1: synchronize state with surface
1 year ago
Simon Ser
0ea6b6e2cc
session-lock-v1: use wlr_surface_synced
1 year ago
Simon Ser
90e12fb978
pointer-constraints-v1: use wlr_surface_synced
1 year ago
Simon Ser
a6122c3ec5
layer-shell-v1: use wlr_surface_synced
1 year ago
Simon Ser
0e3d2222c2
xdg-decoration: use wlr_surface_synced for toplevel
1 year ago
Simon Ser
96aec06b0a
subcompositor: use wlr_surface_synced
1 year ago
Simon Ser
4b3553409a
xdg-shell: use wlr_surface_synced for popups
1 year ago
Simon Ser
9201431c29
xdg-shell: use wlr_surface_synced for toplevel
1 year ago
Simon Ser
69d9a4e2cb
xdg-shell: use wlr_surface_synced for wlr_xdg_surface
1 year ago
Simon Ser
7e1ae5548c
compositor: add wlr_surface_role.client_commit
1 year ago
Simon Ser
d847516765
compositor: add wlr_surface_synced
...
A lot of protocols extend the wl_surface state. Such protocols need
to synchronize their extended state with wl_surface.commit and
cached states. Add a new utility for this purpose.
1 year ago
Simon Ser
34d5af4172
compositor: add wlr_surface_state_has_buffer()
1 year ago
Simon Ser
43734f7c62
compositor: fix wlr_surface_has_buffer() doc comment
...
The function does not check whether the upload succeeded: it does
not check the wlr_client_buffer.
1 year ago
Simon Ser
66b6c349e7
compositor: remove unnecessary wlr_surface.has_buffer
...
No need to store this bit, we can infer it from buffer_width and
buffer_height.
1 year ago
Simon Ser
85f44f3684
pointer-constraints-v1: add cursor_hint.enabled
...
This allows compositors to check whether the cursor hint is set.
1 year ago
Simon Ser
fc7a0b93dd
backend/drm: add wlr_drm_backend_get_parent()
...
Allows compositors to figure out whether a DRM backend is
secondary on a multi-GPU setup.
1 year ago
Roman Gilg
3531007b75
render/pixman: add wlr_pixman_renderer_get_buffer_image()
...
This is similar to wlr_pixman_texture_get_image and can be useful for
compositors to access the rendering data.
1 year ago
Simon Ser
1f64f3925c
render/gles2: add wlr_gles2_renderer_get_buffer_fbo()
...
Replacement for wlr_gles2_renderer_get_current_fbo(). Wayfire uses
it for instance.
1 year ago
Simon Ser
6a2ff0dffe
compositor: drop surface precommit event
...
This is unused.
1 year ago
Manuel Stoeckl
d6859da3b4
render/vulkan: use _SRGB image view when possible
...
This is the last of a set of commits which ensures that both textures
and render buffers can be accessed through _UNORM and _SRGB image
views. While _UNORM image views are not yet used for 8-bpc image
formats, they will be needed in the future to support color transforms
for both textures and render buffers.
1 year ago
Manuel Stoeckl
566c413d8f
render/vulkan: constify vulkan_format_props_find_modifier
1 year ago
Manuel Stoeckl
fd4548bb93
render/vulkan: detect which _UNORM formats support _SRGB views
1 year ago
Manuel Stoeckl
eab89d6c76
render/vulkan: track and use _UNORM variants of _SRGB formats
...
Later commits will start using _SRGB image views again,
where appropriate.
1 year ago
Alexander Orzechowski
06d301bf1a
wlr_scene: Track output damage separately
...
The damage ring is only supposed to keep track of damage within
the swapchain
1 year ago
Alexander Orzechowski
6e03d3015e
swapchain: Add wlr_swapchain_has_buffer
1 year ago
Alexander Orzechowski
d3a339a03e
renderer: Drop buffer binding
1 year ago
Alexander Orzechowski
3ed1268f64
render: Nuke old read pixels API
...
Sadly, the new API is not backwards compatible with the old API. Since
we have already switched all users in wlroots to the new API compositors
are already practically mandated to implement the new API. Let's get rid
of the old one since there is no point.
1 year ago
Alexander Orzechowski
57b18d26d0
wlr_texture: Introduce wlr_texture_preferred_read_format
1 year ago
Alexander Orzechowski
09f16b2a9c
render/vulkan: Implement texture_read_pixels
1 year ago
Alexander Orzechowski
e7055b4840
render/gles2: Implement texture_read_pixels
...
Also get rid of gles2_texture.owns_texture. We only use the tex/fbo
1 year ago
Alexander Orzechowski
e85e8bc324
wlr_texture: Introduce wlr_texture_read_pixels_options helpers
1 year ago
Alexander Orzechowski
4c6caa7c48
wlr_texture: Introduce wlr_texture_read_pixels
1 year ago
Simon Ser
a165261f7f
output: replace wlr_render_timer arg with wlr_buffer_pass_options
...
This scales better when more render pass options are added.
1 year ago
Simon Ser
e8b187cc92
render/gles2: save/restore context when creating/submitting a render pass
...
This is useful for e.g. lazily blitting a texture for readback
purposes while rendering.
1 year ago
Simon Ser
1208ba6c28
render/gles2: document EGL context gotchas
1 year ago
Simon Ser
c31ca04264
output: drop stale references to wlr_output_attach_render()
...
It turns out we forgot about the function declaration in the header.
Also some docs were still referring to that function.
Move the wlr_output_attach_render() docs to
wlr_output_begin_render_pass().
1 year ago
Simon Ser
876d789ad5
render/gles2: reword wlr_gles2_texture comments
...
These comments were a bit misleading:
- "GL_TEXTURE_2D == mutable": not really, imported non-external-only
DMA-BUFs would also use this target, but are not mutable.
- "Only affects target == GL_TEXTURE_2D": same here.
- "If imported from a wlr_buffer": not really, would be NULL if
imported from a shm wlr_buffer.
Adjust these comments to better reflect reality and adjust the check
in gles2_texture_update_from_buffer().
1 year ago
Alexander Orzechowski
9bf51e744e
render/gles2: Don't attach texture as buffer addon
...
Since wlr_gles2_buffer is now managing importing for us, there is
no reason for us to continue doing this.
1 year ago
Alexander Orzechowski
829e34b305
render/gles2: Don't track image in texture
...
We can get it from the buffer
1 year ago
Alexander Orzechowski
cb5f67431b
render/gles2: Don't double import dmabuf
...
We can double import a dmabuf if we use it as a texture target and
a render target. Instead, let's unify render targets and texture dmabuf
imports to use wlr_gles2_buffer which manages the EGLImageKHR
1 year ago
Alexander Orzechowski
484e248446
renderer/gles2: Bail rendering to external buffers when binding them
...
We can't do it while we're creating them because we'll want to use
gles2 buffers for textures soon.
1 year ago
Alexander Orzechowski
0d9cd6932a
render/gles2: Lazily create buffer fbo
1 year ago