| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
| |
|
| |
Part 8 of Ujin's refactors.
|
| |
|
|
|
|
|
|
|
|
|
| |
* monitor: ensure swapchain is updated before mode test
* monitor: ensure swapchain update via helper for all mode set paths
* monitor: fix formatting
* monitor: move swapchain helper to CMonitorState
* monitor: move swapchain helper to CMonitorState
|
| | |
|
| |
|
|
|
|
|
| |
Part 7 of ujin's refactors
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
|
| |
|
|
| |
Massively refactors the config infrastructure, sorely
needed and will be req'd for the lua stuff
|
| | |
|
| | |
|
| |
|
| |
Part 0 of renderer reworks.
|
| |
|
| |
Adds an ICC profile pipeline, loading via config and applying via 3D LUTs.
|
| | |
|
| |
|
| |
Implements the new screencopy protocols
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix image description info events
* always send some target primaries
* set edid values as target primaries and luminances
* init monitor image description
* set default luminances for tf
* fix BT1886 luminances
* fix mastering values and overrides
* set maxCLL & maxFALL
* typo
* add FALL & CLL to preferred HDR image description
* fix ref luminances
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix: handle fullscreen windows on special workspaces
inFullscreenMode() only checked m_activeWorkspace, missing fullscreen
windows on special workspaces. This caused crashes and incorrect
behavior when fullscreen windows were on special workspaces.
Changes:
- inFullscreenMode() now checks special workspace first since it
renders on top of regular workspaces
- Added getFullscreenWindow() helper to safely get fullscreen window
from either active or special workspace
- Updated callers (shouldSkipScheduleFrameOnMouseEvent, Renderer,
getFSImageDescription) to use the new helper
- Reset m_aboveFullscreen for layer surfaces when opening, closing,
or stealing special workspaces between monitors
* test: add special workspace fullscreen detection tests
Add tests for the new special workspace fullscreen handling introduced
in the previous commit. The tests cover:
1. Fullscreen detection on special workspace - verifies that a window
made fullscreen on a special workspace is correctly detected
2. Special workspace fullscreen precedence - verifies that when both
regular and special workspaces have fullscreen windows, the special
workspace window can be focused when the special workspace is opened
3. Toggle special workspace behavior - verifies that toggling the
special workspace off properly hides it and returns focus to the
regular workspace's fullscreen window
These tests exercise the key code paths modified in the fix:
- inFullscreenMode() checking special workspace first
- getFullscreenWindow() helper returning correct window
- Layer surface m_aboveFullscreen reset on special workspace toggle
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* fix named primaries
* default to gamma22
* mark mastering primaries as supported
* remove xx-cm and frog support
* immutable primaries and image descriptions
* clang-format
|
| | |
|
| | |
|
| | |
|
| |
|
| |
Co-authored-by: drzbida <55928036+drzbida@users.noreply.github.com>
|
| | |
|
| |
|
| |
Ref https://github.com/basecamp/omarchy/issues/3327
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* protocols: add Fifo-v1
introduce fifo-v1
* fifo: only present locked surfaces
dont present to unlocked surfaces and commit pending states from the
fifo protocol.
* fifo: cformat
cformat
* protocols: add committiming and surface state queue
introduce CSurfaceStateQueue and commit-timing-v1
* fifo: schedule a frame if waiting on barrier
if we are waiting on a barrier the state doesnt commit until the next
refresh cycle meaning the monitor might have no pending damage and we
never get onPresented to unlock the barrier, moment 22. so schedule a
frame.
* fifo: properly check monitor intersection
check for m_enteredoutputs or monitor intersection if client hasnt bound
one yet, and dont fifo lock it until the surface is mapped.
* buffer: try to merge states before committing them
try to merge states before committing them meaning way less churn and
surface commits if a surface sends multiple small ones while we wait for
buffer readyness from either fifo locks or simply fences.
* buffer: dont commit states past the buffer
certain changes are relative to the buffer attached, cant go beyond it
and apply those onto the next buffer.
* buffer: set the lockmask directly
cant use .lock since the state hasnt been queued yet, set the lockmask
directly when exporting buffer fence.
* fifo: dont fifo lock on tearing
dont fifo lock on tearing.
* buffer: queue the state directly
queue the state directly and use the .lock function instead of directly
modify the lockMask on the state.
* buffer: revert creating texture at commit time
fifo barriers introduces such long wait that upon commit time a
race happends with current xdg configure implentation that the buffer
and image is actually destroyed when entering commitState, doing it at
buffer creation time with EGL_PRESERVED_KHR means it sticks around until
we are done. so revert 82759d4 and 32f3233 for now.
* buffer: rename enum and lockreasons
eLockReason and LOCK_REASON_NONE.
* fifo: workaround direct scanout lock
workaround cursor commits causing fifo to get forever locked, this
entire thing needs to be worked out.
|
| | |
|
| |
|
|
|
|
| |
If dpms gets immediately re-enabled, a commit could fail, not schedule any frames anymore, and the monitor would be stuck off. Fix this by adding a timer to retry if commit fails.
ref #12045
|
| |
|
|
|
|
| |
* move string parsing for eCMType to its own namespace, similar to how
`src/protocols/types/ContentType.cpp` is done
* expose cm type and sdr settings in `hyprctl monitors`, format floats
to .2f
|
| |
|
| |
Adds more cm options for monitors: DCIP3, Apple P3, Adobe
|
| |
|
|
|
|
|
| |
Bumps required hyprgraphics to 0.1.6
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
|
| |
|
| |
Adds a blocker for solitary optimizations if there is a hyprerror present
|
| | |
|
| |
|
|
|
| |
solitary/tearing/DS checks (#11228)
Adds more verbose checks for various conditional rendering mechanisms
|
| | |
|
| | |
|
| |
|
|
|
| |
some CRTCs will just happily eat frames and we can't do much. Some will eat one.
Adds a 5-frame buffer to DPMS and Added animations. Better than nothing.
|
| | |
|
| |
|
| |
Removes `animations:first_launch_animation` as it's useless now
|
| |
|
|
| |
is this even used? lets just remove it.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Implements a new render scheduling method, where we triple buffer when necessary.
Enabled by default, improves FPS on underpowered devices.
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
|
| |
|
| |
Adds animations for the mouse zoom effect.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
fixes some fadeout missing cases:
- closing last window
- closing above fs
- closing in general
fixes #10283
|
| | |
|
| |
|
| |
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* cleanup eglSync
* properly release buffers in renderer
* add renderingDoneCallback and use it in screencopy
* use static constructor for CEGLSync
|
| | |
|