Commit graph

39 commits

Author SHA1 Message Date
dawsers
dc399a37d3
gbm: fix modifier list not updating when renderable list is empty (#84) 2024-09-17 14:29:08 +01:00
9996d365ad gbm: don't select opaque pixel formats for cursor 2024-09-08 00:51:37 +01:00
moetayuko
e12b0a9c67
gbm: override gbm_bo_get_modifier results for modifier-based allocation (#71)
Fixes https://github.com/hyprwm/Hyprland/issues/7577
2024-09-01 12:03:52 +02: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
23c7925dd3 gbm: improve automatic format selection 2024-08-28 15:01:37 +02:00
Tom Englund
7cc3d3179c
misc: make for loops const reference (#66)
we all like the dreams and prayers that compilers can optimize things
further with const.
2024-08-27 20:04:26 +02:00
2cd1f78241 GBM: fixup good() return value 2024-08-21 12:17:34 +02:00
1e43d9a719 gbm: improve trace logging around allocs 2024-08-20 19:09:03 +02:00
696a5ad4ec gbm: guard for drm renderer being present before clearing
ref #56
2024-08-19 18:26:38 +02:00
Vaxry
71d49670fe
drm: clear buffer on creation for scanout DRM buffers (#51) 2024-08-17 19:42:51 +01:00
Tom Englund
05f4efca81
buffer: align size to stride (#50)
calculate the size to the stride we get from gb_bo_map to better align
it.
2024-08-17 17:47:57 +01:00
moetayuko
a7d77c60ee
gbm: manually set modifier for implicit bo allocation (#30)
Ported from wlroots

Fixes https://github.com/hyprwm/Hyprland/issues/7001
2024-07-25 21:41:46 +01:00
UjinT34
0720a5cbae gbm: Fix cursor bo for nvidia (#29) 2024-07-25 00:18:17 +02:00
353dc1b729 drm: conform to both renderable and scanoutable formats in scanout buffers
fixes #28
2024-07-24 22:41:58 +02:00
744a383a52 gbm: log scanout flag state in trace 2024-07-24 21:59:40 +02:00
4a1424e85b gbm: use flags in create_with_modifiers
amdeeznuts
2024-07-24 20:11:55 +02:00
Vaxry
07eb70afb1
gbm: Nvidia fixes for scanout gbm allocation (#27)
* nv fixes

* fix
2024-07-24 18:41:13 +02:00
45bea6dab2 drm/renderer: support external rendering 2024-07-12 17:20:08 +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
e3f2c0d5cc drm: split allocators per drm device 2024-07-09 14:10:52 +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
56e7659ad8 drm: recheck CRTCs after launch and reset 2024-07-08 15:57:16 +02: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
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
d3bacb4600 swapchain: add rollback 2024-07-04 23:13:23 +02:00
2f220d9301 logging: add AQ_TRACE for omitting trace logs 2024-07-02 14:42:24 +02:00
ffeea4bed2 gbm: attempt implicit buffers when modifiers fail 2024-06-29 19:26:04 +02:00
9c4bb5d2ea gbm: log modifiers 2024-06-29 18:22:23 +02:00
55ac96271f DRM: preliminary atomic support
doesn't fucking work yet
2024-06-27 21:48:23 +02:00
13caeb2bd1 swapchain: improve default format guessing 2024-06-26 22:18:33 +02:00
3dbff4025c allocator: allow format-less allocations
will pick a format
2024-06-26 19:42:39 +02:00
41b1b28ce1 drm: Implement hardware cursors 2024-06-26 19:26:38 +02:00
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
229fd3a036 wayland/core: add support for hw cursors 2024-06-22 16:50:30 +02:00
d175f21619 wayland: various fixes and improvements
also added devices
2024-06-21 15:49:28 +02:00
790ce7dfbf Wayland: primitive but working backend
This implements enough for wayland to be a functioning backend.
2024-06-19 22:40:23 +02:00