Commit Graph

2888 Commits

Author SHA1 Message Date
bjorn3 925951ce85 drivers/graphics: Make KmsCrtcState::fb_id an Option 2026-03-20 23:19:50 +01:00
bjorn3 d08300c8b5 drivers/graphics: Make objects generic over GraphicsAdapter rather than specific driver data 2026-03-20 23:19:50 +01:00
bjorn3 5e7fc9d71a drivers/graphics: Remove refcounting for all KmsObject's
Doing the refcounting outside the enum doesn't allow refcounting a
downcasted object. And most objects don't need refcounting after all.
2026-03-20 23:19:50 +01:00
Jeremy Soller 3b8cb31dca Merge branch 'gpu_drm30' into 'main'
Rework how properties are defined

See merge request redox-os/base!181
2026-03-20 13:53:47 -06:00
bjorn3 781aa57e4a drivers/graphics: Fix resizing text VTs
This fixes a regression introduced in a40be7b44
2026-03-20 20:24:18 +01:00
bjorn3 eaa390156d drivers/graphics: Split out state modified during atomic mode setting 2026-03-19 23:39:32 +01:00
bjorn3 5b88dadc4f drivers/graphics: Move connector<->crtc binding to KmsConnector
A connector can only get input from one CRTC and the CRTC_ID property is
on the connector. There is no CONNECTOR_IDS property on CRTCs.
2026-03-19 23:25:37 +01:00
bjorn3 e49dc8e8be drivers/graphics: Introduce define_object_props helper macro 2026-03-19 22:56:46 +01:00
bjorn3 dcf1e5cdd6 drivers/graphics: Derive property values from object fields 2026-03-19 22:46:44 +01:00
bjorn3 ee1b5377db drivers/graphics: Remove KmsObject and rename KmsObjectKind to KmsObject 2026-03-19 22:45:21 +01:00
bjorn3 79e9e0987d drivers/graphics: Move property values into individual objects 2026-03-19 22:26:55 +01:00
bjorn3 4ccdb59a47 drivers/graphics: Dedup property value conversion code
This will make it easier to change the way properties are represented
internally.
2026-03-19 19:45:55 +01:00
Jeremy Soller b89fbd224c Merge branch 'gpu_drm29' into 'main'
Couple of DRM property related improvements

See merge request redox-os/base!178
2026-03-18 15:38:03 -06:00
bjorn3 cd5e1ab4f4 drivers/graphics: Nicer debug printing of properties 2026-03-18 21:14:44 +01:00
bjorn3 e586c26fc7 drivers/graphics: Move enum variant fixed size name computation to property add time 2026-03-18 21:09:56 +01:00
bjorn3 919bad8f1e drivers/graphics: Replace magic constant with definition from drm-fourcc crate 2026-03-18 20:53:46 +01:00
Jeremy Soller c9692eb187 Merge branch 'gpu_drm28' into 'main'
drivers/graphics: Remove an orbclient compat hack

See merge request redox-os/base!177
2026-03-18 06:36:00 -06:00
bjorn3 89be881a08 drivers/graphics: Remove an orbclient compat hack
Orbital now handles this instead.
2026-03-17 23:04:07 +01:00
Jeremy Soller a3513ff256 Merge branch 'gpu_drm27' into 'main'
Remove last custom DRM ioctl

See merge request redox-os/base!176
2026-03-17 14:24:35 -06:00
bjorn3 cdb4ec4575 drivers/graphics: Remove unnecessary graphic-ipc dependencies
And other unnecessary dependencies. Also move all graphics-ipc contents
to the top of the crate.
2026-03-17 20:26:18 +01:00
bjorn3 09a23a3c4a drivers/graphics: Remove Damage from graphics-ipc 2026-03-17 20:19:52 +01:00
bjorn3 c4908a5114 drivers/graphics: Remove UPDATE_PLANE 2026-03-17 20:06:21 +01:00
Jeremy Soller 752213a3b5 Merge branch 'gpu_drm26' into 'main'
Implement MODE_DIRTYFB and replace UPDATE_PLANE usage in fbbootlogd and fbcond

See merge request redox-os/base!175
2026-03-17 13:02:29 -06:00
bjorn3 a40be7b446 drivers/graphics: Use set_crtc+dirtyfb in V2DisplayMap 2026-03-17 19:41:09 +01:00
bjorn3 f150813cfa drivers/graphics: Slightly encapsulate V2DisplayMap 2026-03-17 19:41:09 +01:00
bjorn3 3903fe4f5a drivers/graphics: Implement MODE_DIRTYFB 2026-03-17 19:40:41 +01:00
Jeremy Soller 7f533b52da Merge branch 'main' into 'main'
driver-graphics: MODE_SET_CRTC implementation

See merge request redox-os/base!173
2026-03-17 05:44:05 -06:00
Alexander Usenko a198776ce8 driver-graphics: MODE_SET_CRTC implementation 2026-03-17 05:44:05 -06:00
Jeremy Soller e1999171f9 Merge branch 'fix_build' into 'main'
Fix duplicate description key

See merge request redox-os/base!174
2026-03-16 17:11:53 -06:00
bjorn3 cdf810d1cd Move description for amlserde 2026-03-16 21:09:15 +01:00
bjorn3 c99d874ac4 Fix duplicate description key 2026-03-16 20:18:08 +01:00
Jeremy Soller f60cbae526 Merge branch 'add-info' into 'main'
Add missing Cargo package description and update drivers README

See merge request redox-os/base!171
2026-03-16 10:39:15 -06:00
Ribbon 90ea974ce0 Add missing Cargo package description and update drivers README 2026-03-16 10:39:15 -06:00
Jeremy Soller 4e679f03ff Merge branch 'gpu_drm14' into 'main'
Implement proper support for DRM framebuffers and nicer handling of standard DRM properties

See merge request redox-os/base!172
2026-03-15 06:55:25 -06:00
bjorn3 e27726e8c3 drivers/graphics: Remove GraphicsAdapter::display_count 2026-03-15 13:30:00 +01:00
bjorn3 93a8179d1f drivers/graphics: Remove GraphicsAdapter::display_size
It is no longer used.
2026-03-15 13:10:25 +01:00
bjorn3 460ae0d57c drivers/graphics/console-draw: Fix depth for framebuffer 2026-03-15 13:01:34 +01:00
bjorn3 d7974b3143 drivers/graphics: Nicer way to define standard properties
All standard properties are now pre-allocated at KmsObjects creation and
given a fixed object id.
2026-03-15 12:29:51 +01:00
bjorn3 be6ae85541 drivers/graphics: Implement proper support for framebuffers
Including support for creating and destroying framebuffers.
2026-03-15 11:19:59 +01:00
Jeremy Soller 27212a57f9 Merge branch 'logd_fixes' into 'main'
logd: Synchronously log to the kernel debug log

See merge request redox-os/base!170
2026-03-14 18:00:56 -06:00
bjorn3 159a09a663 logd: Synchronously log to the kernel debug log
This should not block and ensures that logs will still show up on the
serial port even if one of the log sinks blocks because for example the
graphics driver crashed, taking fbbootlogd with it. In the future we
might want to have a dedicated worker per log sink, but for now this
helps a log with debugging the graphics subsystem in a VM.
2026-03-14 22:38:39 +01:00
Jeremy Soller 75390766e2 Revert "Merge branch 'drm/set_crtc' into 'main'"
This reverts merge request !169
2026-03-14 11:51:26 -06:00
Jeremy Soller d093eca09c Merge branch 'drm/set_crtc' into 'main'
graphics-ipc: Initial implementation of SET_CRTC

See merge request redox-os/base!169
2026-03-14 11:36:50 -06:00
Meijlen e9d782cabb set_crtc realisation 2026-03-14 17:23:32 +00:00
Jeremy Soller 58a6134f28 Merge branch 'gpu_drm22' into 'main'
Various graphics subsystem improvements

See merge request redox-os/base!168
2026-03-14 09:15:44 -06:00
bjorn3 7b8ebe9dca drivers/graphics: Return size of CRTC from fpath
This is the actual size of the Orbital desktop. Previously resizing a
virtio-gpu window after Orbital started but before logging in would
cause the launcher to be out of view.
2026-03-14 16:09:46 +01:00
bjorn3 d11da9440b drivers/graphics: Fix mixup between buffers and framebuffers 2026-03-14 16:03:39 +01:00
bjorn3 359e845437 drivers/graphics: Rename buffer related fields and variables
And clarify that buffers have a separate index namespace by removing
usage of dumb_buffer_id.
2026-03-14 15:29:08 +01:00
Jeremy Soller 7c40b28ce8 Merge branch 'gpu_drm21' into 'main'
drivers/graphics: Remove UPDATE_CURSOR custom ioctl

See merge request redox-os/base!167
2026-03-14 07:34:10 -06:00
bjorn3 f6d2f2a6af drivers/graphics: Remove UPDATE_CURSOR custom ioctl
Orbital now uses MODE_CURSOR and MODE_CURSOR2 instead.
2026-03-14 14:27:44 +01:00