bjorn3
1756244e10
graphics/driver-graphics: Allow larger framebuffers
...
Previously only frame buffers up to 0x1_000_000 bytes were allowed,
while we use 0x10_000_000 as multiplier for the fake offsets and thus
can safely accept framebuffers this large. This should be enough for 4k
displays.
2025-09-23 22:28:19 +02:00
bjorn3
93e95f6fe8
graphics: Fix memory leak when resizing the display
2025-07-06 16:22:53 +02:00
bjorn3
9abeafde8d
graphics: Move disable-graphical-debug to driver-graphics
...
This ensures it graphical debug gets disabled even when vesad never
runs.
2025-07-05 15:43:21 +02:00
bjorn3
4f7b0eb6b6
graphics: Introduce a new graphics api
...
This allows page flipping and handling display resizing. Hardware
cursors and getting notifications about display resizing are not yet
supported.
2025-07-02 15:43:55 +02:00
bjorn3
8ac07539b0
graphics/driver-graphics: Handle mmap offset
2025-07-01 21:46:20 +02:00
bjorn3
565add84b1
graphics/driver-graphics: Update to redox-scheme 0.6
2025-07-01 21:40:57 +02:00
bjorn3
7f5c58892c
graphics/driver-graphics: Eagerly create contents of VtState
2025-06-30 23:01:52 +02:00
bjorn3
7882372dab
graphics/driver-graphics: Introduce VtState
...
This contains the current state for a single VT.
2025-06-30 22:10:02 +02:00
bjorn3
c2249f2fa0
graphics/driver-graphics: Couple of minor changes
2025-06-30 21:40:02 +02:00
bjorn3
993b23e63c
graphics/driver-graphics: Prepare for future abi versions
2025-06-30 20:04:40 +02:00
bjorn3
56d4fdd025
graphics: Replace adapter.displays() with .display_count()
2025-06-30 19:58:25 +02:00
bjorn3
5ddddd91df
graphics: Pass CursorPlane by shared ref to handle_cursor
2025-06-29 18:03:01 +02:00
bjorn3
f1b5ba52ed
Rustfmt
2025-04-04 20:41:31 +02:00
bjorn3
215b8185c2
Handle vt switching for cursors without requiring a cursor update
...
This requires storing the cursor state on the driver-graphics side to be
be able to restore the correct state for the target vt.
2025-04-04 20:37:43 +02:00
bjorn3
03cf0955d2
Move cursor resource writing to driver-graphics
2025-04-04 20:04:25 +02:00
Dimitar Gjorgievski
de4cc6ed4a
adding support for gpu cursor
2025-04-03 21:21:32 +00:00
bjorn3
fb24979c51
Reduce verbosity of debug logs during booting
...
These logs are only useful when actively working on the respective driver.
2025-03-15 21:09:12 +01:00
bjorn3
f48ae933ff
graphics: Only allow passing a single damage area at a time
...
Currently only fbbootlogd and fbcond make use of support for multiple
damage areas and they are not all that performance critical anyway.
Orbital always passes a single damage area per write call. Out of all
graphics drivers we have and are likely to get only vesad could
potentially benefit from fine-grained damage areas. This commit doesn't
significantly impact performance of fbcond.
2025-03-15 18:49:59 +01:00
bjorn3
5d76acfd74
Update to redox-scheme 0.4
2025-03-14 22:11:30 +01:00
bjorn3
09ef96ae80
graphics/drivers-graphics: Fix some comments and remove no longer necessary feature
2025-03-13 17:00:54 +01:00
bjorn3
be5b865058
graphics: Rename resource to framebuffer
...
This matches the Linux DRM name.
2025-03-06 21:41:26 +01:00
bjorn3
92295f2ea4
graphics/graphics-ipc: Use u32 fields in Damage
...
The fields should never be negative and this saves a couple of casts.
2025-03-06 20:49:21 +01:00
bjorn3
fc92f0b0ce
graphics: Rename the legacy graphics API to the v1 graphics API
...
It is quite likely that the next graphics API won't be the last one and
as such would become a legacy API too. Consistently using version
numbers makes it easier to refer to the exact version you mean.
2025-03-06 20:49:20 +01:00
bjorn3
972e19e900
graphics: Always pass damage to graphics drivers
...
This way the drivers don't have to special case switching between VTs.
2025-03-06 20:49:17 +01:00
bjorn3
88cfa76e2c
graphics: Merge set_scanout and flush_resource into update_plane
...
The old api was pretty virtio-gpu specific. The new api is closed to how
atomic mode setting on Linux works.
2025-03-06 20:48:41 +01:00
bjorn3
fe31bd0578
inputd: Remove deactivate event
...
It is no longer useful now that virtio-gpud permanently takes over
control of the display when it starts.
2025-03-01 20:00:29 +01:00
bjorn3
0c42f431bd
graphics/vesad: Merge screen.rs into scheme.rs
2025-03-01 18:09:23 +01:00
bjorn3
5fc04c332d
graphics: Move Damage from inputd to graphics-ipc
2024-12-28 16:26:18 +01:00
bjorn3
d2f1af9ca7
Add driver-graphics crate
...
This unifies the driver interface handling between graphics drivers and
makes it easier to change all graphics drivers in lockstep when adding
new features.
2024-12-27 12:47:43 +01:00