Commit Graph

121 Commits

Author SHA1 Message Date
Vaxry d8525fbd63 drm: check for timeline support for explicit sync 2024-07-06 17:45:47 +02:00
Vaxry 330c089cd8 drm: add support for explicit sync 2024-07-06 17:38:18 +02:00
Tom Englund 263cb161da
allocator: add missing virtual destructor (#3)
add missing virtual destructor to base class and free gbm device on
destruction of CGBMAllocator
2024-07-06 14:57:27 +02:00
Vaxry 29c415a4f5 drm: nullcheck output in reset 2024-07-06 11:30:47 +02:00
Vaxry ea92cba414 backends: set needsFrame for manually scheduled frames 2024-07-06 11:26:42 +02:00
Vaxry d048d1c644 drm: lease support 2024-07-05 19:21:40 +02:00
Tom Englund 2a3ff6a61d
formatutils: ensure we dont leak name ptr (#2)
store format name in a std::string and free the char ptr to ensure we
dont leak on each call to drmGetFormatName.
2024-07-05 15:18:44 +02:00
Vaxry c5cf93a3cc backends: fix needsFrame being stuck 2024-07-05 14:24:10 +02:00
Vaxry d3bacb4600 swapchain: add rollback 2024-07-04 23:13:23 +02:00
Vaxry 8d1d10397a drm: don't shift state on failed commits 2024-07-04 23:11:18 +02:00
Vaxry 205472bad7 drm: fix vrr checks 2024-07-04 15:33:46 +02:00
Vaxry f48653cf0e session: Tablet support
woo
2024-07-03 19:12:17 +02:00
Vaxry a0cfad9ec0 session: clear libinput devices before unrefing libinput
thanks @ikalco
2024-07-03 12:49:12 +02:00
Vaxry 4ca125d05a drm: set fbs on vt restore
thanks @ikalco
2024-07-02 23:06:03 +02:00
Vaxry 2f220d9301 logging: add AQ_TRACE for omitting trace logs 2024-07-02 14:42:24 +02:00
Vaxry 874183997f backend: idle fd improvements 2024-07-02 14:32:41 +02:00
Vaxry 20a99be9f4 drm: implement edid parsing 2024-07-02 13:15:56 +02:00
Vaxry 7e4ae2e226 drm/atomic: add support for gamma ramps 2024-07-02 12:41:32 +02:00
Vaxry 0eb28d40f0 drm: log vrr capabilities in connect 2024-07-02 12:11:54 +02:00
Vaxry d1e48322ed wayland: avoid leaving the swapchain null on late displays 2024-07-01 14:59:16 +02:00
Vaxry 13f94112aa core: allow specifying names for outputs 2024-07-01 14:52:50 +02:00
Vaxry 51cd6f4374 Headless: Add backend 2024-07-01 14:33:05 +02:00
Vaxry b8fc53e69d wayland: handle close events 2024-07-01 13:06:41 +02:00
Vaxry cef415f033 drm/legacy: avoid crashing on missing crtcs 2024-06-30 21:43:18 +02:00
Vaxry 25836ee88e drm: reset on beginning of DRM
We do not set atomic props for everything, so all else should be reset
2024-06-30 20:54:11 +02:00
Vaxry c19bf35c02 drm/backend: idle improvements and drm fixes 2024-06-30 19:04:14 +02:00
Vaxry a313f6f0e4 session: fix missing break in eventtype 2024-06-29 20:02:12 +02:00
Vaxry 3ffa774f12 drm: deny implicit modifiers for the cursor plane 2024-06-29 19:28:51 +02:00
Vaxry ffeea4bed2 gbm: attempt implicit buffers when modifiers fail 2024-06-29 19:26:04 +02:00
Vaxry 9c4bb5d2ea gbm: log modifiers 2024-06-29 18:22:23 +02:00
Vaxry d0b4e69eda libinput: fix invalid use of axis func 2024-06-29 18:20:08 +02:00
Vaxry c7fa62afe8 libinput: add switch support 2024-06-29 18:10:21 +02:00
Vaxry 84b936b21e libinput: implement gesture and touch 2024-06-29 15:10:34 +02:00
Vaxry 903f31ec58 drm: use a colon for separating device lists 2024-06-28 23:38:01 +02:00
Vaxry 57e100c802 drm: fix cursor being stuck invisible 2024-06-28 21:34:31 +02:00
Vaxry 320a6d40a7 drm: reimport buffers when on a secondary gpu 2024-06-28 21:21:40 +02:00
Vaxry 8ecf8773db drm: fix minor oopsie 2024-06-28 18:33:16 +02:00
Vaxry 9096cd0e8e drm: more logging, minor cleanups 2024-06-28 18:03:04 +02:00
Vaxry 0ffcb7fa74 backend: avoid out_of_range on iterating options 2024-06-28 17:35:43 +02:00
Vaxry 40f6fa5173 drm: very initial work on multigpu 2024-06-28 17:13:03 +02:00
Vaxry 944b0465fa drm: misc/atomic fixes
atomic: launches, but mode blobs are broken

fixed frame events being signaled too often
2024-06-28 14:02:56 +02:00
Vaxry 55ac96271f DRM: preliminary atomic support
doesn't fucking work yet
2024-06-27 21:48:23 +02:00
Vaxry 511600133c backend: rework event loop api 2024-06-27 00:07:59 +02:00
Vaxry 461d33583a drm: reject double-pf commits only with a buffer or when modesetting 2024-06-26 23:21:02 +02:00
Vaxry 25ee42673f backend: allow iterating impls 2024-06-26 22:35:14 +02:00
Vaxry f6d4c5e6a3 drm: prettify bitwise ops 2024-06-26 22:25:45 +02:00
Vaxry a03c2af877 drm: reject unimportable buffers early 2024-06-26 22:25:13 +02:00
Vaxry 13caeb2bd1 swapchain: improve default format guessing 2024-06-26 22:18:33 +02:00
Vaxry 3dbff4025c allocator: allow format-less allocations
will pick a format
2024-06-26 19:42:39 +02:00
Vaxry 41b1b28ce1 drm: Implement hardware cursors 2024-06-26 19:26:38 +02:00
Vaxry 0027280d27 drm: ignore crtc-less connectors in scanConnectors 2024-06-25 23:01:11 +02:00
Vaxry aa0c2157e8 drm: adjust drmfb storage 2024-06-25 20:30:00 +02:00
Vaxry 6cfa0652c8 backend: avoid crashing on session-less 2024-06-25 19:59:34 +02:00
Vaxry 70f4321a93 drm/legacy: fix crash on null mode commit 2024-06-25 18:34:44 +02:00
Vaxry c8c1e6ae3f session: fixup a few missing nullchecks 2024-06-25 18:09:53 +02:00
Vaxry 1e4fd47865 Session: Added support for pointers and keyboards
Via libinput, of course.
2024-06-25 17:59:47 +02:00
Vaxry 3e2fe425e4 session: add vt switching 2024-06-25 13:38:25 +02:00
Vaxry 917d48153a drm: fixes for hotplugging monitors and vt 2024-06-25 13:36:21 +02:00
Vaxry d44aaec26f drm: add vt restore code and adaptive sync 2024-06-25 13:23:31 +02:00
Vaxry 2e0052a21d DRM: Steady progress on getting a usable session
modesetting, rendering, etc. Hyprland now renders properly, although input devices are yet to be implemented.
2024-06-24 23:22:02 +02:00
Vaxry f888bfb6e4 DRM: Init DRM/Libinput session code
Adds the bare basic of DRM code, which only initializes the environment atm. We cannot render yet.
2024-06-23 19:40:40 +02:00
Vaxry edbec62fbd output: add gammaSize query to output 2024-06-22 17:40:21 +02:00
Vaxry 03ed93e8b5 output: rework state 2024-06-22 17:31:01 +02:00
Vaxry 229fd3a036 wayland/core: add support for hw cursors 2024-06-22 16:50:30 +02:00
Vaxry d435736fa7 wayland: emit commit event 2024-06-21 18:37:09 +02:00
Vaxry d24f4e2f42 input: add leds func to keyboard 2024-06-21 16:45:22 +02:00
Vaxry d175f21619 wayland: various fixes and improvements
also added devices
2024-06-21 15:49:28 +02:00
Vaxry a7a8840400 Core: More work to get Hyprland working 2024-06-20 19:24:43 +02:00
Vaxry 790ce7dfbf Wayland: primitive but working backend
This implements enough for wayland to be a functioning backend.
2024-06-19 22:40:23 +02:00
Vaxry 01766c0956 Wayland: Initial progress 2024-06-18 18:45:05 +02:00
Vaxry 6ccfdd74df core: Initial stuff 2024-06-18 11:38:26 +02:00