| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
* config: find lua paths first
* config/supplementary/jeremy: use designated initializer list
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix fp16 blur with invalidation
* restore tonemap code
* fix fade outs
* add sdr compat for unaware surfaces
* use a better work space, not linear, only for sdr
* fix hl tf -> wp tf
* cache workbuffer descriptions
* linear not normalised WIP
* clear offload fb
* CM math
* fix includes
* use precalculated cm for shadows
* inner glow cm
* quad cm
* fix unmodified copy
* codegen
* cache color CM
* mark blur dirty when CM/DS changes
* avoid icc workbuffer
* fp16 blur finish hack
* fix output hdr luminances
* use srgb for mirroring/sharing with fp16
* defaults people
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
|
| | |
|
| | |
|
| |
|
| |
Makes scroll handle fullscreen by itself, allowing for fs scrolls.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
* config/lua: fix device bool int reads
* config/lua: fix device typed reads
|
| |
|
| |
Adds a simple layout lua api
|
| |
|
| |
ref #14301
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
---------
Co-authored-by: Mio Argillander <mio@argillander.me>
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* render: scale background to monitor resolution
Currently the background is not scaled, e.g. 8k size image always uses
~128Mb of VRAM.
We could reduce the consumption for low-end devices and monitors with
lower resolution:
- ~8Mb for 1080p
- ~16Mb for 2k
- ~32Mb for 4k
* render: use gpu to scale bgtex and fix missing reset on size change
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tests: skip pointer tests when pointer input is non-functional
* tests: skip pointer tests in CI due to unreliable cursor behavior
* tests: skip pointer tests when no reliable input environment is available
* tests: skip pointer tests when pointer behavior is unreliable
* tests: temporarily disable pointer tests due to unstable CI environment
* tests: enforce deterministic pointer behavior (flat accel + fixed sensitivity)
* tests: temporarily disable pointer tests due to unstable CI environment
|
| | |
|
| |
|
| |
this would only lead to abuse, explicitly forbid it
|
| |
|
|
| |
(#14272)
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
seconds (#14271)
The protocol seems to allow this, because it explicitly mentions either
session lock surface or compositor blanking the output in this sentence:
> The locked event must not be sent until a new "locked" frame
(either from a session lock surface or the compositor blanking the output)
has been presented on all outputs and no security sensitive normal/unlocked
content is possibly visible.
Since `locked_screen_delay` is capped to 5 seconds,
after the 5 seconds this timer is registered for, we assume that
all outputs are covered either by lockedead or by an actual lock frame.
Thus sending locked is ok.
|
| | |
|
| |
|
|
|
| |
* layout/master: fix rollprev/rollnext focusing the wrong window
* tests/master: add tests for rollnext/rollprev focus
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fractional scales (#14257)
After scaling m_captureBox from logical to pixel coordinates, the box may
have non-integer dimensions (e.g. logical 401x301 at scale 1.25 -> pixel
501.25x376.25). m_bufferSize is then computed as captureBox.size() and
sent to the client as int32 width/height (truncating the fraction), but
m_bufferSize itself stays as a fractional Vector2D.
When the client allocates the integer-sized buffer and submits it,
CScreenshareFrame::share() rejects it with ERROR_BUFFER_SIZE because
Vector2D::operator== is exact double comparison: (501, 376) != (501.25,
376.25). The frame is sent failed, and the client retries forever.
The SHARE_WINDOW path already rounds its bufferSize; the SHARE_REGION
path didn't. Round the captureBox immediately after scaling so all
downstream consumers (m_bufferSize, render translates) see clean integer
pixel coordinates.
Reproducer at scale 1.25 on a 1920x1080 monitor:
wf-recorder -g '500,200 401x301' -f /tmp/x.mp4
# "Failed to copy frame, retrying..." until exit
wf-recorder -g '500,200 400x300' -f /tmp/x.mp4
# works (400*1.25=500, 300*1.25=375, both integer)
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
as a parameter (#14232)
|
| |
|
|
| |
if guard the setPresentationMode with the current state, shows up in
profiling as minor waste on each frame.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix(screenshare): adjust session cleanup and event emission order
Revised the handling of `stoppedListener` initialization in
`getManagedSession` to ensure correct scoping and lifecycle management.
Updated the `stop` method in `CScreenshareSession` to adjust the order
of `screenshareEvents` and `stopped.emit()` to prevent potential
use-after-free scenarios.
* fix(screenshare): ensure managedSession removal uses consistent target reference
This change updates the lambda in the stopped listener to use
a pre-fetched target pointer for comparison when erasing sessions.
* fix(screenshare): use early-return and smart ptr comparison in session cleanup
|