Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
Currently, an icon surface's role_data is set manually to a struct
wlr_drag_icon, which is hacky, incorrect (as role_data is supposed
to be the surface's role object, and drag icons don't have them), and
will be disallowed by future changes.
|
|
Otherwise only the last command's area will be copied over.
|
|
renderer->render_{width,height} are unused with the render pass
API.
|
|
renderer->bound_pipe is legacy, pass->bound_pipeline is used for
the render pass API code-path.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3657
|
|
We use the format info to check the stride and need it to perform
the texture upload.
|
|
The logic is the same for both shm and DMA-BUF.
|
|
Avoids repeating the common bits between dma_tex_features and
dma_tex_ycbcr_features, and we will need just the YCbCr-related
flags for shm YCbCr support soon.
|
|
These features are required for shm only: the TRANSFER stuff is
for texture upload. We don't need these for DMA-BUFs. Make this
clearer by changing the name.
Also re-order the definitions to group all texture-related features
together.
|
|
"On surface.attach requests to the pointer surface, hotspot_x and
hotspot_y are _decremented_ by the x and y parameters passed to the
request."
|
|
We don't need to mutate the event in this function.
|
|
Fixes: 49e9be62ae92382eddca600082785489c82ea487
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We already have another very similar example which demonstrates
wlr_cursor: "pointer".
|
|
|
|
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.
|
|
|
|
Similar to 49e9be62ae92382eddca600082785489c82ea487.
|
|
|
|
Use the viewporter protocol to scale output layers.
|
|
This example is incomparable with the new rendering API. The old one which
we will drop one day.
|
|
read advances the file description offset, and requires the client to
ensure that it is reset appropriately before the next gamma ramp
submission. As there is no event to indicate that wlroots finished
processing the new gamma ramp, this can result in a race between the
client seeking in the file and wlroots reading its content.
Use pread with a fixed offset instead.
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3655
|
|
This is the default order used across wlroots unless the reversed order
specifically is required (e.g. in wlr_surface_surface_at()).
|
|
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3654
|
|
|
|
Inert seats are handled like inert outputs, so they work as if the
wanted seat was NULL. The seat argument is only a suggestion, so this
is okay.
|
|
According to the protocol text, the popup will be immediately dismissed
when the grab is rejected. Because the grab can't be executed with a
destroyed seat, the popup is dismissed when one is provided.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If a seat is destroyed while a client is trying to bind it, wlroots
needs to create an inert seat resource instead of crashing.
|
|
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()")
|
|
A client might update the cursor with the same wl_surface as
before, but with a different hotspot. Don't ignore such updates.
Fixes: 9c9e3f626350 ("cursor: ignore wlr_cursor_set_surface() with same surface")
|
|
If the first commit has no buffer, the unmap hook won't catch it. Check
in the commit hook instead.
|