Age | Commit message (Collapse) | Author |
|
|
|
Based on five calls:
wlr_render_timer_create - creates a timer which can be reused across
frames on the same renderer
wlr_renderer_begin_buffer_pass - now takes a timer so that backends can
record when the rendering starts and finishes
wlr_render_timer_get_time - should be called as late as possible so that
queries can make their way back from the GPU
wlr_render_timer_destroy - self-explanatory
The timer is exposed as an opaque `struct wlr_render_timer` so that
backends can store whatever they want in there.
|
|
Many issues here:
- wlr_output_cursor_set_buffer() takes a buffer already scaled for
the output, not a buffer with scale=1.
- wlr_output_cursor.{width,height,hotspot_x,hotspot_y} are in output
buffer coordinates.
- render_cursor_buffer() had hardcoded no-ops for scale and
transform, instead of using the cursor surface's.
Fixes: b64e7e88bfb8 ("output: add output_cursor_set_texture()")
|
|
|
|
It was previously used to handle unmapping properly but is obsolete now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We'll soon introduce a unified wlr_surface map event. Up until now, compositors
have been using wlr_xwayland_surface's map event to setup various wlr_surface
related listeners (e.g. commit). This will no longer be possible when that
event is moved over to wlr_surface. Introduce new events where the compositor
can add/remove wlr_surface event listeners.
|
|
This allows compositors to get back the raw drmModeModeInfo and
look at DRM-specific fields and flags.
|
|
This allows doc generators to properly associate the doc comment
with the function instead of the typedef.
|
|
|
|
|
|
This is in an effort to be more consistent with both already public
getters: wlr_scene_buffer_from_node and wlr_scene_tree_from_node
|
|
This is to allow for compositors that want to be more implicit about
how their scene is organized. Such a compositor may want to walk up
at a certain scene node to find something such as a surface to focus on.
|
|
|
|
|
|
|
|
|
|
Don't store modifiers as part of the struct.
|
|
This is implied by the fact that this function finishes the state instead
of destroying it.
|
|
|
|
We were storing a wlr_output without listening for the destroy
event.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3646
|
|
|
|
|
|
The usages in linux_dmabuf zero out the dst before passing it so this
change should be fine.
|
|
|
|
|
|
This would break if you are running with a NULL renderer.
|
|
This is supposed to be an unstable interface and it was a mistake that
this header was not included.
|
|
|
|
Allow callers to pick the blend mode when rendering a rect. The
"none" mode can be used to disable blending and clear rects.
|
|
Same as wlr_output_render_software_cursors(), but takes a
struct wlr_render_pass.
|
|
|
|
Goals:
- Extensibility: we need to be able to add new params to the calls
to render a texture/rect. For instance we'll need to add fences to
the render texture operation for explicit sync purposes.
- No implicit state: no more bind_buffer, begin, end.
- No matrices: these hurt Pixman and we don't need them.
- Clip regions for optimized damage repainting.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3188
|
|
Add a src_box state field. Use the SRC_* KMS props in the DRM
backend, reject the layers in the Wayland backend (for now, we can
support it later via viewporter).
|
|
References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/220
|
|
References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/220
|
|
This allows wlroots to support newer versions of the interface
without breaking the API.
|
|
Compositors can migrate to wlr_damage_ring.
|
|
This lets compositors check whether direct scan-out is possible.
Compositors will soon be responsible for manually calling this
function.
|
|
This allows callers to set a destination size different from the
buffer size to scale them.
The DRM backend supports this. The Wayland backend doesn't yet
(we'd need to wire up viewporter).
|
|
The will be used by the Wayland backend to figure out whether
updating sub-surface position is necessary.
|
|
Amend b7e9ad79 to remove wlr_wl_input_device_get_seat definition.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3611
|
|
- Simplifies the backends
- Avoids having two ways to do the same thing: previously one could
disable a layer by either omitting it from wlr_output_state.layers,
or by passing a NULL buffer
- We can change our mind in the future: we can allow users to omit
some layers and define a meaning without breaking the API.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4017#note_1783997
|