Age | Commit message (Collapse) | Author |
|
We consider state that is not committed to be uninitialized.
|
|
Now that we are dynamically creating pipeline layouts, we need separate
texture views for each pipeline layout we choose to use with a texture.
|
|
|
|
These will happen lazily when pipelines get created.
|
|
This will become necessary when we switch away from scissoring. For the
time being, this cleans things up a bit and allows for a trivial
blending implementation for textures when that comes.
|
|
|
|
If we ever wanted to handle dynamic state that requires new pipelines
such as using different texture filters those can be added here with more
ease.
|
|
It's pretty awkward to call wlr_cursor_set_image() with 6 zeroes.
Hide that awkwardness in wlroots.
|
|
This keeps track of the last set XCursor. If it hasn't changed,
skip the texture upload.
In the future, support for animated XCursors can be added.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3436
|
|
|
|
If we were trying to change the scale in wlr_scene_output_build_state,
we would be using incorrect damage
|
|
This fixes damage issues when a output state attempts to change
the transformed size in some way
|
|
|
|
wlr_region_transform / wlr_box_transform want unscaled coordinates here
|
|
|
|
protocol/meson.build adds protocol header files to wlr_files. No
need to add them via include dirs.
|
|
wlr_inc is already pulled in via the wlroots dep. proto_inc is
already pulled in because extra_src contains these headers.
|
|
This commit allows to make a role as not represented by an object,
which fixes calling role commit handlers for roles like cursor
surfaces.
Fixes: 099b9de752f9cc212140533a8a2e20b31aa9028f
|
|
This is more readable and consistent with the rest of wlroots.
|
|
If the same button is pressed on two devices on the same seat,
ignore the second event.
This is also what Mutter does.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3665
|
|
|
|
|
|
|
|
Found by inspection.
|
|
wlr_output_set_layers() attaches layers to the output's pending
state, but then uses a detached wlr_output_state in
wlr_output_state_commit(). This results in layers being left out
of the committed state.
Fixes: 8e81b4bb4237 ("examples: convert to new rendering API")
|
|
The kernel complains when the damage exceeds the FB bounds:
[73850.448326] i915 0000:00:02.0: [drm:drm_atomic_check_only] [PLANE:31:plane 1A] invalid damage clip 0 0 2147483647 2147483647
Make the DRM backend behave like the Wayland one and allow compositors
to damage (0, 0, INT32_MAX, INT32_MAX) to repaint everything without
needing to know the exact buffer size.
Closes: https://github.com/swaywm/sway/issues/7632
|
|
|
|
|
|
|
|
If the set_cursor request is used with the same surface, don't call
cursor_output_cursor_reset_image(). That function sends
wl_surface.leave and can cause an infinite feedback loop with some
clients (submitting a LoDPI cursor when the surface leaves an HiDPI
output).
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3669
|
|
|
|
In the next commit, state such as scale, transform, width/height that
we gather from the output might be outdated and incorrect.
|
|
|
|
Same motivation as fdb199a43c44 ("render/vulkan: rename
tex_features to shm_tex_features").
|
|
Make the compositor responsible for doing that, so that they can
properly integrate with their output commit sequence.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|