| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
Adds a new lua config manager, which will automatically be used if there is a lua config present.
|
| |
|
| |
Part 8 of Ujin's refactors.
|
| | |
|
| |
|
|
|
|
|
| |
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
|
| |
|
| |
Adds support for device-specific binds
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
| |
Part 1 of the renderer refactors
|
| |
|
|
| |
Replace the broken cairo_matrix_rotate() approach with explicit
per-transform pattern matrices for all 8 wl_output_transform values.
|
| |
|
| |
Adds an ICC profile pipeline, loading via config and applying via 3D LUTs.
|
| | |
|
| |
|
|
| |
ref #13391
|
| |
|
|
|
| |
Refactors the old HookSystem into a typed event bus with clear
separation,
discovery and types.
|
| |
|
| |
Implements the new screencopy protocols
|
| |
|
|
| |
This reverts commit 13dab66b1de6f6689ccd078adaf51bbeab9c004d.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* pointermgr: damage only the surface size
CWaylandOutput returns a vector2d with -1, -1 set as a "no limit",
passing that down into beginSimple and the renderer it hits pixman bug
of invalid sizes and wrong rectangles gets created.
causing bunch of
*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
set the damage either to cursor plane size or fallback to 256x256.
* pointermgr: dedup if hw cursorsize checks
dedup a bit if else casing
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* multigpu: fix multi gpu checking
drmFD() from allocators is not always equal, because we reopen them
inside AQ for refcounting, meaning they get duplicated and become their
own fds, so checking if fd1 == fd2 ends up wrong.
introduce sameGpu in MiscFunctions that checks the actual drmDevice
meaning we can now even check if a rendernode is the same gpu as a
display node if we want.
* multigpu: move sameGpu to DRM namespace
move sameGpu out of MiscFunctions to DRM namespace.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
set the damage to cursor plane size instead of INT16_MAX and remove
onRenderbufferDestroy, renderbuffer already have a listener that
destroys when buffer is destroyed.
|
| |
|
| |
fixes #12412
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
fullscreen (#12033)
Renames `misc:new_window_takes_over_fullscreen` into
`misc:on_focus_under_fullscreen` and implements the following behavior:
- By default, when a tiling window is being focused on a workspace where
a fullscreen/maximized window exists, respect
the `misc:on_focus_under_fullscreen` config variable.
|
| | |
|
| |
|
| |
Adds configurable trackpad gestures
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* syncobj: use rendernode for timelines
use rendernode for timelines instead of the drmfd, some devices dont
support to use the drmfd for this.
* opengl: use rendernode if available
use rendernode if available for CHyprOpenglImpl
* MesaDRM: use the m_drmRenderNodeFD if it exist
try use the rendernode we got from AQ if it exist.
* linuxdmabuf: use rendernode if available
use the rendernode if available already from AQ
* syncobj: prefer rendernode over displaynode
prefer the rendernode over the displaynode, and log a error if
attempting to use the protocol without explicit sync support on any of
the nodes.
* syncobj: check support on both nodes always
check support on both nodes always so it can be used later for
preferring rendernode if possible in syncobj protocol.
* syncobj: remove old var in non linux if else case
remove old m_bDrmSyncobjTimelineSupported from non linux if else case
that will fail to compile on non linux. the nodes sets support by
default to false, and if non linux it wont check for support and set it
to true.
* build: bump aq requirement
bump to 0.9.3 where rendernode support got added.
* flake.lock: update
* renderer: glfinish on software renderer
software renderers apparently bug out on implicit sync, use glfinish as
with nvidia case on implicit paths.
* flake.lock: update
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
lets use unique ptrs instead of refcounting shared ptr when its not
needed, use rvalue reference to construct in vector directly.
|
| | |
|
| |
|
|
|
| |
overload it with a rvalue to allow us to move the data directly avoiding
an extra copy. because SRenderData is not trivially copyable.
|
| | |
|
| |
|
|
|
| |
* cursor: account for hotspot with overridePos
* cursor: don't draw cursor on screencopy if using sw anyways
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* opengl: remove unnecessery glflush calls
glflushing forces the driver to break batching and issue commands
prematurely and prevents optimisations like command reordering and
merging.
many glFunctions already internally glflushes and eglsync creation still
has a glflush at end render. so lets reduce the overhead of these calls.
* opengl: reduce glUseProgram calls
apitrace shows cases where the same program gets called multiple times,
add a helper function that keeps track of current program and only call
it once on same program. reduces slight overhead.
* opengl: use more efficient vertex array object
use a more modern vertex array object approach with the shaders, makes
it a onetime setup on shader creation instead of once per drawcall, also
should make the driver not have to revalidate the vertex format on each
call.
|
| |
|
|
|
| |
* render: refactor class member vars
* render: fix clang format
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|