Commit graph

71 commits

Author SHA1 Message Date
d3b58683cc life is a piece of shit 2024-11-09 19:35:51 +00:00
cac883a39c maybe dont kill the kernel 2024-11-09 19:00:02 +00:00
abd58530c3 add a drm_dumb allocator 2024-11-09 17:57:05 +00:00
Vaxry
d352c0dd98
DRM/Output: Implement CTM support (#92)
* flake.lock: update hyprutils

---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-10-07 19:40:37 +01:00
865cd94f97 gbm/drm: conform to different scanout requirements for different planes
ref https://github.com/hyprwm/Hyprland/issues/7005
2024-08-31 13:52:04 +02:00
b9ab839ab3 output: always emit a destroy event in ~dtor 2024-08-31 12:42:00 +02:00
Ikalco
abb3c81c59
drm: recheck crtcs before connecting on udev event (#65) 2024-08-26 20:36:16 +02:00
romanstingler
9a3161ad4c
drm: fix typo in schedule (#62)
Co-authored-by: Roman Stingler <roman.stingler@waterdrop.com>
2024-08-21 21:59:51 +01:00
Tom Englund
a17f9218d9
drm: add missing destructor (#63)
add missing default constructor to base class IDRMImplentation
2024-08-21 21:59:19 +01:00
696a5ad4ec gbm: guard for drm renderer being present before clearing
ref #56
2024-08-19 18:26:38 +02:00
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
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
35e00a4a9d buffer: add backendLock 2024-07-19 11:29:50 +02:00
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
8d73016db8 drm/renderer: use the duped fd for gl 2024-07-12 23:23:39 +02:00
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
ee0dea62e2 drm/renderer: also use blitting for cursor planes 2024-07-12 10:48:59 +02:00
d619af4971 drm: better handle drm blits 2024-07-11 22:17:57 +02:00
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
e3f2c0d5cc drm: split allocators per drm device 2024-07-09 14:10:52 +02:00
ef43e5174b drm: drop buffers from KMS on .destroy 2024-07-08 18:45:59 +02:00
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
d8525fbd63 drm: check for timeline support for explicit sync 2024-07-06 17:45:47 +02:00
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
d048d1c644 drm: lease support 2024-07-05 19:21:40 +02:00
d3bacb4600 swapchain: add rollback 2024-07-04 23:13:23 +02:00
f48653cf0e session: Tablet support
woo
2024-07-03 19:12:17 +02:00
874183997f backend: idle fd improvements 2024-07-02 14:32:41 +02:00
7e4ae2e226 drm/atomic: add support for gamma ramps 2024-07-02 12:41:32 +02:00
13f94112aa core: allow specifying names for outputs 2024-07-01 14:52:50 +02:00
51cd6f4374 Headless: Add backend 2024-07-01 14:33:05 +02:00
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
c19bf35c02 drm/backend: idle improvements and drm fixes 2024-06-30 19:04:14 +02:00
c7fa62afe8 libinput: add switch support 2024-06-29 18:10:21 +02:00
84b936b21e libinput: implement gesture and touch 2024-06-29 15:10:34 +02:00
320a6d40a7 drm: reimport buffers when on a secondary gpu 2024-06-28 21:21:40 +02:00
40f6fa5173 drm: very initial work on multigpu 2024-06-28 17:13:03 +02:00
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
55ac96271f DRM: preliminary atomic support
doesn't fucking work yet
2024-06-27 21:48:23 +02:00