Commit graph

174 commits

Author SHA1 Message Date
59fc21940d drm/renderer: properly save texture data in attachment 2024-07-12 17:31:28 +02:00
45bea6dab2 drm/renderer: support external rendering 2024-07-12 17:20:08 +02:00
f3c6b673f9 drm: return render formats properly on mgpu 2024-07-12 16:46:26 +02:00
27008ef767 drm: avoid using unsupported modifiers for mgpu 2024-07-12 16:32:08 +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
47d95b8a73 drm/renderer: log modifier in createEGLImage 2024-07-12 15:56:32 +02:00
13cf43497e drm: avoid crash on nullptr cursors 2024-07-12 15:52:23 +02:00
7bbdf32fb8 drm/renderer: handle external formats
shoutout nvidia...
2024-07-12 11:16:47 +02:00
996cc6f6a4 drm/atomic: fix gamma resetting
thanks @ikalco
2024-07-12 10:52:05 +02:00
ee0dea62e2 drm/renderer: also use blitting for cursor planes 2024-07-12 10:48:59 +02:00
0faf47cf2f drm/atomic: fix dpms 2024-07-12 00:39:38 +02:00
f485ad7546 drm: guard connector in calculateMode 2024-07-11 23:06:26 +02:00
4fd590af94 drm: fix synchronization on amd 2024-07-11 23:00:56 +02:00
6dda80224a
nix: add libGL dep 2024-07-11 23:49:52 +03:00
d619af4971 drm: better handle drm blits 2024-07-11 22:17:57 +02:00
46ce868cbb wayland: band-aid for frame scheduling
thanks @phonetic112
2024-07-11 20:54:23 +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
d92d55d454 drm: handle mismatched formats in commit 2024-07-11 12:19:41 +02:00
965f429b29 drm: avoid crashes on non-existent modes in restoring after vt 2024-07-10 12:28:38 +02:00
e3f2c0d5cc drm: split allocators per drm device 2024-07-09 14:10:52 +02:00
dbace2b794 session: support setting the leds 2024-07-09 10:39:30 +02:00
bd6da3bec6 drm: always rescan connectors after rechecking crtcs 2024-07-09 10:31:01 +02:00
05995dd21e drm: reset boHandles after freed in fb 2024-07-08 23:04:12 +02:00
3c118519e6 drm: reimport cursor fb on multigpu 2024-07-08 21:22:56 +02:00
157f067cf8 gbm: emit deestroy before destroying bo 2024-07-08 20:21:37 +02:00
UjinT34
0ce4b193cf
gbm: fix gbm buffer creation (#9) 2024-07-08 19:47:06 +02:00
ef43e5174b drm: drop buffers from KMS on .destroy 2024-07-08 18:45:59 +02:00
d69569698e drm: add log for rescan after alloc 2024-07-08 18:38:41 +02:00
5f9f0601c3 drm: fix log 2024-07-08 18:37:49 +02:00
acba4aa037 drm: avoid sending state to non-existent outputs 2024-07-08 17:20:41 +02:00
42585b413d drm: do not assign many crtcs to single port 2024-07-08 17:20:18 +02:00
flk
65d70c7a30
CMakeLists: require native hyprwayland-scanner (#8)
This would fix a cross-compile issue where hyprwayland-scanner is pulled in for
target but needs to run on host.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
2024-07-08 17:06:10 +02:00
56e7659ad8 drm: recheck CRTCs after launch and reset 2024-07-08 15:57:16 +02:00
dc1181a65e drm: fix epic string parsing fail 2024-07-07 23:19:11 +02:00
UjinT34
a473c5313d
output: add scheduleFrame reasons (#7) 2024-07-07 18:05:05 +02:00
Jan Beich
946c756414 cmake: add epoll-shim for some BSDs
ld: error: undefined reference due to --no-allow-shlib-undefined: timerfd_create
>>> referenced by libaquamarine.so.0.1.0
2024-07-07 16:10:40 +03:00
Jan Beich
92b4b01501 cmake: allow using any build directory
$ cmake -B /tmp/aquamarine_build
$ cmake --build /tmp/aquamarine_build
[...]
src/backend/drm/DRM.cpp:25:10: fatal error: 'hwdata.hpp' file not found
   25 | #include "hwdata.hpp"
      |          ^~~~~~~~~~~~
2024-07-07 16:10:40 +03:00
Jan Beich
5d08afba5a Add missing headers for BSDs
src/allocator/GBM.cpp:137:17: error: use of undeclared identifier 'close'
  137 |                 close(attrs.fds.at(j));
      |                 ^
src/allocator/GBM.cpp:159:9: error: use of undeclared identifier 'close'
  159 |         close(attrs.fds.at(i));
      |         ^
src/backend/Session.cpp:141:5: error: use of undeclared identifier 'close'
  141 |     close(fd);
      |     ^
src/backend/Wayland.cpp:44:9: error: use of undeclared identifier 'close'
   44 |         close(fd);
      |         ^
src/backend/Wayland.cpp:63:9: error: use of undeclared identifier 'close'
   63 |         close(drmState.fd);
      |         ^
src/backend/Wayland.cpp:658:13: error: use of undeclared identifier 'close'
  658 |             close(fd);
      |             ^
src/backend/Wayland.cpp:668:13: error: use of undeclared identifier 'close'
  668 |             close(fd);
      |             ^
src/backend/Wayland.cpp:676:9: error: use of undeclared identifier 'close'
  676 |         close(fd);
      |         ^
2024-07-07 16:10:40 +03: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
bb8743d9be
flake.lock: update 2024-07-06 16:22:07 +03: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
29c415a4f5 drm: nullcheck output in reset 2024-07-06 11:30:47 +02:00
ea92cba414 backends: set needsFrame for manually scheduled frames 2024-07-06 11:26:42 +02:00
890d6177b2 cmake: require hw-s 0.4.0 2024-07-05 23:46:50 +02:00
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
c5cf93a3cc backends: fix needsFrame being stuck 2024-07-05 14:24:10 +02:00