Commit Graph

3361 Commits

Author SHA1 Message Date
Jeremy Soller 7efb54c6b0 Merge branch 'ihdad-fix' into 'master'
ihdad: Fix initialization procedure

See merge request redox-os/drivers!230
2025-02-08 15:32:39 +00:00
Alice Shelton 7f12a14505 ihdad: Follow spec more closely for state changes 2025-02-08 01:47:52 -06:00
Jeremy Soller 7e798dfe91 Merge branch 'jespersm-master-patch-43825' into 'master'
Fix link to "a-note-about-drivers"

See merge request redox-os/drivers!229
2025-02-06 16:07:33 +00:00
Jesper Møller aa3887d4e7 Fix link to "a-note-about-drivers" 2025-02-04 20:54:40 +00:00
Jeremy Soller 4ba5c4ead3 Merge branch 'scheme-update' into 'master'
Update for latest redox-scheme

See merge request redox-os/ptyd!13
2025-01-13 22:23:18 +00:00
Ron Williams 7a3c03dedd Update for latest redox-scheme 2025-01-13 22:23:18 +00:00
Jeremy Soller 3f67a82d1f Update rust-toolchain 2025-01-13 14:33:28 -07:00
bjorn3 57f2dca267 Initial commit 2025-01-11 14:25:16 +01:00
Ribbon 9ffd72a590 Add README.md 2025-01-09 12:21:02 +00:00
Ribbon 9521cffd6d Add README.md 2025-01-09 12:20:40 +00:00
Ribbon dde32fba34 Add README.md 2025-01-09 12:19:04 +00:00
Ribbon db36d01782 Add README.md 2025-01-09 12:18:48 +00:00
Ribbon 0e7a0d3ab4 Document how to contribute and do development in the README 2025-01-09 12:12:09 +00:00
Ribbon 306433d0a5 Document how to contribute and do development in the README 2025-01-09 12:06:21 +00:00
Ribbon e6f672bd48 Document how to contribute and do development in the README 2025-01-09 12:05:13 +00:00
Ribbon 80e27cb3d9 Add README.md 2025-01-09 12:03:02 +00:00
Ribbon 9c7c874cbc Document how to contribute and do developpment in the README 2025-01-09 11:58:27 +00:00
Ribbon b26aa9b32b Document how to contribute and do development in the README 2025-01-09 11:54:44 +00:00
Jeremy Soller e4ac216fe2 Merge branch 'pcid_cleanup' into 'master'
Remove some dependencies of pcid

See merge request redox-os/drivers!228
2024-12-30 11:46:53 +00:00
bjorn3 898f8dc72b pcid: Remove usage of paw 2024-12-30 11:41:34 +01:00
bjorn3 e6139319e8 pcid: Remove a couple of unused dependencies 2024-12-30 11:40:02 +01:00
Jeremy Soller 4c1c1df0ad Merge branch 'graphics_ipc_crate' into 'master'
graphics: Introduce graphics-ipc crate

See merge request redox-os/drivers!227
2024-12-28 22:45:56 +00:00
Jeremy Soller dcef51fc60 Merge branch 'optimize_damage_tracking' into 'master'
graphics/console-draw: Collapse consecutive damage entries

See merge request redox-os/drivers!226
2024-12-28 22:45:04 +00:00
bjorn3 5fc04c332d graphics: Move Damage from inputd to graphics-ipc 2024-12-28 16:26:18 +01:00
bjorn3 7b11acbc46 graphics: Introduce graphics-ipc crate
While for now this for now only includes helpers for the current limited
display interface which is relatively simple to implement manually, in
the future we will likely need a more complex interface with gpu drivers
that would be hard to get right without a common crate proving the
interface.
2024-12-28 16:21:58 +01:00
bjorn3 5bfce514be graphics/console-draw: Collapse consecutive damage entries 2024-12-28 15:18:55 +01:00
Jeremy Soller d7c98a877a Merge branch 'misc_graphics_cleanups' into 'master'
Various cleanups for the graphics subsystem

See merge request redox-os/drivers!225
2024-12-28 14:14:17 +00:00
bjorn3 5af43fcaa2 graphics/vesad: Merge OffscreenBuffer into GraphicScreen 2024-12-28 14:51:02 +01:00
bjorn3 b5eeaed9e1 graphics/virtio-gpud: Use resource size rather than display size in set_scanout
This ensures we use the right size if the display got resized but the
resource hasn't been resized yet.
2024-12-28 14:32:56 +01:00
bjorn3 0b8648ff5b graphics/virtio-gpud: Move some initialization code around 2024-12-28 14:16:56 +01:00
bjorn3 1ef298e576 graphics/virtio-gpud: Remove getters and setters for ResourceCreate2d 2024-12-28 14:04:10 +01:00
bjorn3 1d89ca7bd2 graphics/virtio-gpud: Remove unnecessary VolatileCell
The virtio queue abstraction already provides the necessary
synchronization to make everything data-race free without volatile
accesses.
2024-12-28 14:01:09 +01:00
bjorn3 9afe3b390b graphics/vesad: Remove all usage of unstable features 2024-12-27 15:57:43 +01:00
bjorn3 ed9ad1aaf1 graphics/vesad: Remove old resizing code
Graphics clients will need to handle resizing themself anyway for
handoff between graphics drivers and as such don't need the graphics
to modify the framebuffer during resize.
2024-12-27 15:57:18 +01:00
Jeremy Soller ee62075339 Merge branch 'unused_dup_impls' into 'master'
Remove all dup impls that only accept empty paths

See merge request redox-os/drivers!220
2024-12-27 14:14:23 +00:00
bjorn3 b1743d800c Remove all dup impls that only accept empty paths
Those dups are handled by the kernel already by creating a new reference
to the underlying file descriptor.
2024-12-27 15:13:42 +01:00
Jeremy Soller 91f76826c0 Merge branch 'fix_multiple_virtio_displays' into 'master'
graphics/virtio-gpud: Don't crash when multiple displays are attached

See merge request redox-os/drivers!224
2024-12-27 14:13:00 +00:00
bjorn3 d7becba023 graphics/virtio-gpud: Don't crash when multiple displays are attached 2024-12-27 15:11:15 +01:00
Jeremy Soller fed2e0fb40 Merge branch 'driver_graphics_crate' into 'master'
Add driver-graphics crate

See merge request redox-os/drivers!223
2024-12-27 14:03:27 +00: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
Jeremy Soller 365a018bb1 Merge branch 'virtio_gpud_refactor' into 'master'
Various virtio-gpud improvements

See merge request redox-os/drivers!222
2024-12-27 01:32:28 +00:00
bjorn3 b7f4af9bd2 graphics/virtio-gpud: Bring scheme impl closer in line with vesad 2024-12-26 22:19:35 +01:00
bjorn3 6f188cf7ef graphics/fbcond: Unmap old offscreen buffer on handoff and resize 2024-12-26 21:58:41 +01:00
bjorn3 bf6e16c8c9 graphics/console-draw: Slightly simplify TextScreen::write 2024-12-26 21:58:07 +01:00
bjorn3 3fbf0fecbb graphics/console-draw: Fix resizing to a smaller display
Without this commit ransid would generate move events with an
underflowed height which take forever to process.
2024-12-26 21:57:41 +01:00
bjorn3 1b6feeb7c7 graphics/virtio-gpud: Use VM window size as display size
Rather than hard coding 1920x1080. This doesn't yet handle resizing the
VM window at runtime though.
2024-12-26 20:59:08 +01:00
bjorn3 3ed3ff2edb graphics/fbcond: Handle framebuffer resize during handoff 2024-12-26 20:57:53 +01:00
bjorn3 09de72e9a8 common: Fix mmap overwriting unintended memory in Sgl
If unaligned_length is for example 8193, the initial reservation would
be rounded up to the next page resulting in 12288. However the physmap
would previously round up to the next power of two forming 16384,
potentially overwriting one page of data directly after the reservation.
In case of bigger allocations, more pages could be overwritten.
2024-12-26 20:50:44 +01:00
bjorn3 62f1a80c3e graphics/virtio-gpud: Move resources from Display to GpuScheme
Resources are global for the entire virtio-gpud device, not local to a
single display. In the future resource creation will become entirely
detached from specific displays.
2024-12-26 17:53:45 +01:00
bjorn3 2344206c21 graphics/virtio-gpud: Bundle resource id and resource mapping 2024-12-26 17:36:40 +01:00