Commit Graph

61 Commits

Author SHA1 Message Date
Vaxry 2bff4a4521
drm: don't schedule new frame events on disabled outputs (#52)
* drm: don't schedule new frame events on disabled outputs

* e

* test
2024-08-18 19:24:52 +01:00
Vaxry 71d49670fe
drm: clear buffer on creation for scanout DRM buffers (#51) 2024-08-17 19:42:51 +01:00
Vaxry 4f6642808b drm: avoid crashes on connecting a null crtc 2024-08-16 09:06:27 +02:00
Vaxry 589346162f DRM: Allow checking no-crtc connectors (#49) 2024-08-15 18:01:37 +02:00
Vaxry 07eb70afb1
gbm: Nvidia fixes for scanout gbm allocation (#27)
* nv fixes

* fix
2024-07-24 18:41:13 +02:00
UjinT34 7a84686b4a
output: remove redundant needsFrame, allow skip on mouse event (#21) 2024-07-20 20:56:18 +02:00
Vaxry 35e00a4a9d buffer: add backendLock 2024-07-19 11:29:50 +02:00
Vaxry 5b34d0df1f drm: attempt to re-modeset if commit fails
however, keep track of this so we don't attempt to modeset all the time on an invalid state
2024-07-18 00:06:04 +02:00
Ikalco db417a49e8
drm: handle monitor hotplugs and fix a few bugs that it revealed (#14)
* handle monitor hotplugs and fix a few bugs that it revealed

* fix cursorFB uaf and other stuf
2024-07-15 20:03:00 +02:00
Ikalco ad8261ba99
api: add getting monitor render formats (#13) 2024-07-14 11:06:13 +02:00
Vaxry 8d73016db8 drm/renderer: use the duped fd for gl 2024-07-12 23:23:39 +02:00
Vaxry 05219d5287 drm: reopen DRM node to avoid KMS refcounting issues 2024-07-12 20:53:11 +02:00
UjinT34 815df06da2
gbm: Expose bo buffer mapping (#12)
* expose bo buffer mapping

* update comment

* implement endDataPtr to unmap gbm buffer
2024-07-12 15:59:47 +02:00
Vaxry ee0dea62e2 drm/renderer: also use blitting for cursor planes 2024-07-12 10:48:59 +02:00
Vaxry d619af4971 drm: better handle drm blits 2024-07-11 22:17:57 +02:00
Vaxry c4a5fafe76 drm: properly blit multigpu surfaces 2024-07-11 20:41:57 +02:00
Tom Englund c3bfe3de89
buffer: add a NONE flag to eBufferCapability (#11)
ensure we dont cast out of range in caps(),
return (Aquamarine::eBufferCapability)0; in GBM.cpp
2024-07-11 17:09:48 +02:00
UjinT34 1ae9ead82c
drm: pass explicitOutFence pointer and do not touch the value (#10)
* pass explicitOutFence pointer and do not touch the value

* add resetExplicitFences
2024-07-11 16:13:44 +02:00
Vaxry e3f2c0d5cc drm: split allocators per drm device 2024-07-09 14:10:52 +02:00
Vaxry ef43e5174b drm: drop buffers from KMS on .destroy 2024-07-08 18:45:59 +02:00
Vaxry 56e7659ad8 drm: recheck CRTCs after launch and reset 2024-07-08 15:57:16 +02:00
UjinT34 a473c5313d
output: add scheduleFrame reasons (#7) 2024-07-07 18:05:05 +02:00
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 d048d1c644 drm: lease support 2024-07-05 19:21:40 +02:00
Vaxry d3bacb4600 swapchain: add rollback 2024-07-04 23:13:23 +02:00
Vaxry f48653cf0e session: Tablet support
woo
2024-07-03 19:12:17 +02:00
Vaxry 874183997f backend: idle fd improvements 2024-07-02 14:32:41 +02:00
Vaxry 7e4ae2e226 drm/atomic: add support for gamma ramps 2024-07-02 12:41:32 +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 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 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 320a6d40a7 drm: reimport buffers when on a secondary gpu 2024-06-28 21:21:40 +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 25ee42673f backend: allow iterating impls 2024-06-26 22:35:14 +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 aa0c2157e8 drm: adjust drmfb storage 2024-06-25 20:30:00 +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