Age | Commit message (Collapse) | Author |
|
Fixes #1230
|
|
|
|
|
|
|
|
This commit handles better situations in which the number of
connected outputs is greater than the number of available CRTCs.
It'll enable as many outputs as possible, and transfer CRTCs to
outputs that need one on unplug.
This changes CRTC and plane reallocation to happen after scanning
DRM connectors instead of on modeset.
This cleanups CRTCs and planes on unplug to allow them to be
re-used for other outputs.
On modeset, if an output doesn't have a CRTC, the desired mode is
saved and used later when the output gains a CRTC.
Future work includes giving priority to enabled outputs over
disabled ones for CRTC allocation. This requires the compositor to
know about all outputs (even outputs without CRTCs) to properly
modeset outputs enabled in the compositor config file and disable
outputs disabled in the config file.
|
|
Add wlr_log_get_verbosity method
|
|
|
|
|
|
Depending on the log verbosity, close the stdout/stderr streams.
|
|
xwayland: Introduce set_role event
|
|
|
|
Miscellaneous memory leak fixes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I failed to see this issue with Valgrind because of the +1.
|
|
|
|
|
|
Adds a modal property to indicate whether the surface wants to be a
modal.
|
|
backend/drm: emit new_output after scanning connectors
|
|
This prevents receiving modesetting requests from the compositor
while we don't have the whole picture (ie. while we haven't yet
scanned all connectors).
This also makes connectors without CRTCs disabled (they can't be
enabled yet even if some CRTCs are free'd -- this is future work).
|
|
backend/drm: allow disabling outputs in NEEDS_MODESET state
|
|
This correctly frees CRTCs when disabling outputs without setting
a mode.
|
|
Do not modeset disabled outputs
|
|
|
|
Returns the verbosity passed to wlr_log_init().
|
|
Fix uninitialized value in wlr_cursor.
|
|
|
|
add missing wlr_box.h include in wlr_screencopy_v1.h
|
|
|
|
|
|
A few pedantic changes and unused variables (1-4), and genuine bugs (5,
6).
The reports with the corresponding files and lines numbers are as
follows.
1. backend/libinput/tablet_pad.c@31,44,57
"Allocator sizeof operand mismatch"
"Result of 'calloc' is converted to a pointer of type 'unsigned int',
which is incompatible with sizeof operand type 'int'"
2. types/tablet_v2/wlr_tablet_v2_pad.c@371
"Allocator sizeof operand mismatch"
"Result of 'calloc' is converted to a pointer of type 'uint32_t', which
is incompatible with sizeof operand type 'int'"
3. types/wlr_cursor.c@335
"Dead initialization"
"Value stored to 'dx'/'dy' during its initialization is never read"
4. rootston/xdg_shell.c@510
"Dead initialization"
"Value stored to 'desktop' during its initialization is never read"
5. types/tablet_v2/wlr_tablet_v2_pad.c@475
"Dereference of null pointer"
"Access to field 'strips' results in a dereference of a null pointer
(loaded from field 'current_client')"
The boolean logic was incorrect (c.f. the check in the following
function).
6. examples/idle.c@163,174,182
"Uninitialized argument value"
"1st function call argument is an uninitialized value"
If close_timeout != 0, but simulate_activity_timeout >= close_timeout,
the program would segfault at pthread_cancel(t1).
|
|
Fixes examples/dmabuf-capture being built with unmet dependencies
|
|
Even if the libav* variables were disabler objects, the build targer
dmabuf-capture was being built. Modified the script to support a generic
solution.
|
|
It doesn't look like there's any motion on a fix from the AMDGPU side,
and using the legacy interface for this isn't so bad.
|
|
rootston/surface_layers: fix clicking after surface moved
|
|
Init the new destroy signals added by #1200
|
|
|
|
Add destroy signals to types that are destroyed by wl_display_destroy
|
|
|
|
introduce wlr_output_layout_farthest_output
|
|
Similar to wlr_output_layout_adjacent_output but will return the
one that is the farthest away from the reference in given direction.
|
|
|
|
Fix meson changes
|
|
This fixes building wlroots as a subproject.
|