bjorn3
273cbda872
inputd: Split ControlHandle and DisplayHandle
...
ControlHandle is used to switch the active vt, while DisplayHandle is
used by display drivers to register new vt's. There are entirely
unrelated tasks and the fact that they had been merged together has been
confusing me for a while.
Also changed activating a VT to no longer create a new vt when none
existed previously. The target graphics driver may not be able to handle
the new VT. inputd -A already didn't allow activating non-existent VT's
as it first tried to open a consumer handle for the target VT.
2024-12-22 16:46:02 +01:00
bjorn3
436a16b069
virtio-gpud: Migrate to redox-scheme
2024-12-22 16:44:27 +01:00
bjorn3
7565720f34
vesad: Migrate to redox-scheme
2024-12-22 16:43:17 +01:00
Kamil Koczurek
d2c82add9d
Move Io/Pio/Mmio from redox_syscall to common
...
* Fix Mmio repr from transparent to packed.
* Rename Mmio::from to Mmio::new.
* Remove dead imports around affected code.
* Minor formatting.
2024-09-30 13:01:36 +02:00
bjorn3
7935ed0248
Deduplicate setup_logging between all drivers
...
This will make it easier to change the way logging is done for all
drivers. This also fixes the log category for a couple of drivers as
well as makes failing to set the logger a fatal error. Only when a
logger is already set is it impossible to set another logger.
2024-07-24 22:00:40 +02:00
bjorn3
66c1d0fd88
Tell the kernel to disable graphical_debug right before the first framebuffer write by userspace
...
Also remove the framebuffer clear in FrameBuffer::new as the entire
framebuffer will be overwritten anyway almost immediately after.
2024-07-24 21:06:29 +02:00
bjorn3
2e341fa742
Directly pass FrameBuffer to redraw and sync
...
This avoids creating an intermediate &'static mut [u32] of questionable
soundness and simplifies the code a bit.
2024-07-19 22:18:34 +02:00
bjorn3
53c02b5322
Move the framebuffer resizing code into a FrameBuffer method
2024-07-19 22:12:48 +02:00
bjorn3
857773393d
Ensure fields of SyncRect are not reordered
...
Without repr(C), repr(packed) technically allows reordering fields.
2024-07-19 21:56:56 +02:00
bjorn3
ef29520cf5
Avoid ptr2int2ptr casts in GraphicScreen::sync
...
Also use pointer arithmetic on *mut u32 over manual multiplication by 4.
The ptr2int2ptr casts pessimize optimizations.
2024-07-19 21:55:21 +02:00
bjorn3
b33ea2b53a
Fix a FIXME in display_fd_unmap
...
The len method on raw pointers has been stabilized.
2024-07-19 21:50:15 +02:00
bjorn3
8a91bae0a6
Remove unnecessary unsafe block
2024-07-19 21:25:52 +02:00
bjorn3
747898dfb2
Run rustfmt on the entire graphics subsystem
2024-07-19 21:24:48 +02:00
bjorn3
ebb2243538
Remove all traces of VtMode
...
It isn't used anywhere anymore.
2024-07-19 21:18:09 +02:00
bjorn3
2fc3923d46
Fix fbcon
2024-07-12 12:05:31 +02:00
bjorn3
fd8dabd1bc
Use the new scheme format in most places
...
The graphics subsystem still uses the old format as orbital manually
parses the fpath result.
2024-07-11 21:14:45 +02:00
bjorn3
a3b957c2e5
pcid: Fetch config in PciFunctionHandle::connect_default()
2024-06-15 15:16:09 +02:00
bjorn3
fdb9ea816b
pcid: Rename PcidServerHandle to PciFunctionHandle
2024-06-15 15:05:59 +02:00
4lDO2
7b2f4dda90
Use scatter-gather list for virtio framebuffer.
...
The current frame allocator limits requests to powers of two, between 4
KiB and 4 MiB. As such, a 8-bit color 1920x1080 framebuffer needs at
least two allocations.
2024-06-14 08:26:19 +02:00
4lDO2
4c35e88997
Use latest event queue interface everywhere.
2024-03-31 14:30:04 +02:00
Jacob Lorentzon
ff956fd3bb
Switch to libredox where applicable (fixed)
2024-03-18 22:09:25 +00:00
Jeremy Soller
98078650f8
Revert "Switch to libredox where applicable."
...
This reverts commit 2e7dbf1cc1 .
2024-03-18 15:00:52 -06:00
4lDO2
2e7dbf1cc1
Switch to libredox where applicable.
2024-03-18 19:23:05 +01:00
bjorn3
887412daf5
Move all graphics related drivers to graphics/
2024-02-29 15:41:05 +01:00