Commit graph

3999 commits

Author SHA1 Message Date
Ikalco
1f844610d1 [aquamarine] try to fix direct scanout (#6875)
* make linux-dmabuf use monitor primary plane formats for ds

* add support for monitor connects/disconnects in linux-dmabuf

* the weird bug was because ds was global, and disabled on one monitor but enabled on the other

* forgot to remove attemptDirectScanout from hyprRenderer

* add renderer fallback tranche on ds and a few other improvements

* use set when making format table

* mitigate ds artifacting and update linux-dmabuf comments
with this commit artifacting now only occurs when the
client's fps is above the refresh rate of the monitor

* use new backend release infra

* revert earlier artifacting mitigation that broke stuff ;)

* ... i should test before push ;-;

---------

Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-07-20 12:42:58 +02:00
0de9568da5 eee 2024-07-20 12:42:58 +02:00
a3770ab8b2 use output state format 2024-07-20 12:42:58 +02:00
a0ec926122 logs 2024-07-20 12:42:58 +02:00
ed8b4b73d2 shm drm woo 2024-07-20 12:42:58 +02:00
65b041ddc6 format 2024-07-20 12:42:58 +02:00
Tom Englund
c4913662e1 Aquamarine headers for no pch build and a heap use after free (#6892)
* build: add includes for no precompiled headers

missing includes for no precompiled headers/lto usage.

* math: avoid heap use after free

on destruction of hyprland transforms gets double freed in aquamarine
and hyprland, instead of a global use a function-local static variable
which avoids any issues related to initialization order across
different translation units.
2024-07-20 12:42:58 +02:00
b59c159d57 thanks virt 2024-07-20 12:42:58 +02:00
UjinT34
e444d2a1a6 Hw cursors fix for nvidia (#6847)
* logging

* fallback to dump cursor copy

* unmap gbm buffer when done

Signed-off-by: Vaxry <vaxry@vaxry.net>
2024-07-20 12:42:58 +02:00
af4a13452b thanks ikalco 2024-07-20 12:42:58 +02:00
fe2fe1f359 viewporter stuff 2024-07-20 12:42:58 +02:00
UjinT34
8ea06338f9 add scheduleFrame reasons (#6799) 2024-07-20 12:42:58 +02:00
aa6ae13845 make explicit sync setting actually disable it 2024-07-20 12:42:58 +02:00
d786094fb9 stuff 2024-07-20 12:42:58 +02:00
UjinT34
6289612958 reset explicit fences before commit (#6841) 2024-07-20 12:42:58 +02:00
0f09940c32 fix xwayland crash
thanks ikalco
2024-07-20 12:42:58 +02:00
38867021d8 better 2024-07-20 12:42:58 +02:00
1fcb8cc162 swapchain test stuff 2024-07-20 12:42:58 +02:00
UjinT34
805a054389 Explicit sync fixes (#6829)
* explicit sync fixes

* more logging

* reremove wlroots

* close explicit fds on rollback

* limit presentFeedback explicit sync to direct scanout mode only

* explicit sync for texture render

* cursor explicit sync initial

* common wait for explicit sync point code

* code style fixes
2024-07-20 12:42:58 +02:00
4c905b1a8b ok gulafaran 2024-07-20 12:42:58 +02:00
cdd037ec64 initialize arrays 2024-07-20 12:42:58 +02:00
8ae38c1e1e stuff 2024-07-20 12:42:58 +02:00
13af7fb2fb explicit sync stuff 2024-07-20 12:42:58 +02:00
95ddf9e7eb stuff for aq alloc split 2024-07-20 12:42:58 +02:00
959e83fd4d stuf 2024-07-20 12:42:58 +02:00
d13189d8f6 no leakeroni 2024-07-20 12:42:58 +02:00
1d4e51876d e 2024-07-20 12:42:58 +02:00
45f726c6bd dmabufff 2024-07-20 12:42:58 +02:00
be4051e923 send flag on main tranche 2024-07-20 12:42:58 +02:00
f472dcd67b ds fixes 2024-07-20 12:42:58 +02:00
76b8be2349 some fixes to dmabuf 2024-07-20 12:42:58 +02:00
4aa77b26e8 fixeroni crasheroni 2024-07-20 12:42:58 +02:00
Jan Beich
8cf770b7be meson: unbreak build with aquamarine
In file included from ../src/protocols/DRMLease.cpp:1:
../src/protocols/DRMLease.hpp:7:10: fatal error: 'drm-lease-v1.hpp' file not found
    7 | #include "drm-lease-v1.hpp"
      |          ^~~~~~~~~~~~~~~~~~
In file included from ../src/render/Renderer.cpp:17:
../src/render/../protocols/DRMSyncobj.hpp:6:10: fatal error: 'linux-drm-syncobj-v1.hpp' file not found
    6 | #include "linux-drm-syncobj-v1.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~
ld: error: undefined symbol: Aquamarine::CBackend::hasSession()
>>> referenced by Renderer.cpp
>>>               src/Hyprland.p/render_Renderer.cpp.o:(CHyprRenderer::CHyprRenderer())
>>> referenced by KeybindManager.cpp
>>>               src/Hyprland.p/managers_KeybindManager.cpp.o:(CKeybindManager::handleVT(unsigned int))
>>> referenced by Monitors.cpp
>>>               src/Hyprland.p/events_Monitors.cpp.o:(Events::listener_monitorFrame(void*, void*))
>>> referenced 8 more times

ld: error: undefined symbol: gbm_create_device
>>> referenced by OpenGL.cpp
>>>               src/Hyprland.p/render_OpenGL.cpp.o:(CHyprOpenGLImpl::CHyprOpenGLImpl())

ld: error: undefined symbol: XcursorShapeLoadImage
>>> referenced by CursorManager.cpp
>>>               src/Hyprland.p/managers_CursorManager.cpp.o:(CCursorManager::SXCursorManager::loadTheme(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int))
>>> referenced by CursorManager.cpp
>>>               src/Hyprland.p/managers_CursorManager.cpp.o:(CCursorManager::SXCursorManager::loadTheme(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int))
>>> referenced by CursorManager.cpp
>>>               src/Hyprland.p/managers_CursorManager.cpp.o:(CCursorManager::SXCursorManager::loadTheme(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int))
2024-07-20 12:42:57 +02:00
ab428222c2 fix crasheroni 2024-07-20 12:42:57 +02:00
c9fdf622b6 fixes 2024-07-20 12:42:57 +02:00
e36c1e9bfa log mismatched fds 2024-07-20 12:42:57 +02:00
1b4a5fc4fc stuf 2024-07-20 12:42:57 +02:00
2fd901321e dont crash on multigpu lol 2024-07-20 12:42:57 +02:00
e09e76aa4a avoid spam 2024-07-20 12:42:57 +02:00
09af47a4f4 cursorsss 2024-07-20 12:42:57 +02:00
f4c8789aec explicit sync 2024-07-20 12:42:57 +02:00
82e27597db xcursors mmm 2024-07-20 12:42:57 +02:00
c6b9b292dd fix mirrors, thanks virtcode 2024-07-20 12:42:57 +02:00
74971816dc fix 2024-07-20 12:42:57 +02:00
cff9b4fdb1 missed a file 2024-07-20 12:42:57 +02:00
03eb7e37da xcursor stuff 2024-07-20 12:42:57 +02:00
590e706cde damage oops 2024-07-20 12:42:57 +02:00
9235728166 fix nvidia crasherino lmao 2024-07-20 12:42:57 +02:00
360673ed62 fix small ub in keyboard 2024-07-20 12:42:57 +02:00
c03f25e6fb rid of wlr more 2024-07-20 12:42:57 +02:00