bjorn3
01183044a3
Workaround deadlock in initnsmgr
2026-04-18 12:58:41 +02:00
bjorn3
071ce1e98f
drivers/graphics/ihdgd: Fix a couple of warnings
2026-04-05 13:06:06 +02:00
Jeremy Soller
58459178b0
Merge branch 'gpu_drm36' into 'main'
...
drivers/graphics/ihdgd: Implement support for mapping memory to the GPU
See merge request redox-os/base!208
2026-03-27 20:40:22 -06:00
bjorn3
6473d987c3
drivers/graphics/ihdgd: List correct pipes for Alchemist
2026-03-28 00:02:38 +01:00
bjorn3
f152bbad23
drivers/graphics/ihdgd: Implement support for mapping memory to the GPU
...
This is done by adding entries to the global GTT page table. At startup
it only contains entries for a small chunk of memory reserved for the
GPU. This small chunk is rarely enough to contain all framebuffers we
need to allocate.
2026-03-27 22:45:26 +01:00
bjorn3
70bba179c4
drivers/graphics/ihdgd: Introduce GpuBuffer
...
Unlike DeviceFb a GpuBuffer only has a size, not a width, height and
stride. In the future GpuBuffer can be used for dumb buffers as well as
any other kind of memory we may need to allocate on the gpu.
2026-03-23 22:23:32 +01:00
Jeremy Soller
107f8696fd
Merge branch 'gpu_drm35' into 'main'
...
Couple of GPU buffer improvements
See merge request redox-os/base!198
2026-03-23 07:23:21 -06:00
bjorn3
d274ac2817
drivers/graphics: Return proper pitch to the drm client for dumb buffers
2026-03-22 19:53:38 +01:00
bjorn3
8ae815aca7
drivers/graphics: Replace width and height methods on Buffer with size
...
A buffer is not necessarily a framebuffer. It may also be a blob of
bytes.
2026-03-22 19:46:32 +01:00
auronandace
557a3d1954
consolidate several dependencies into the workspace
2026-03-22 15:11:33 +00:00
bjorn3
fcee1d7d86
drivers/graphics/ihdgd: Measure fb stride in bytes rather than pixels
...
This is how stride is generally stored.
2026-03-22 12:54:34 +01:00
bjorn3
7177fe0a86
drivers/graphics: Implement shadow buffer for dumb buffers
...
This is necessary to get even remotely acceptable performance when dumb
buffers are backed by write-combining memory.
2026-03-21 19:01:54 +01:00
bjorn3
afa6b64104
drivers/graphics/ihdgd: Introduce DeviceFb::alloc
2026-03-21 13:31:05 +01:00
bjorn3
56552cc6b3
drivers/graphics/ihdgd: Introduce helpers to fetch current plane state
2026-03-21 13:31:05 +01:00
bjorn3
36a9669c57
drivers/graphics/ihdgd: Pass DeviceFb to Plane::set_framebuffer
2026-03-21 13:31:04 +01:00
bjorn3
b1e4bcf54b
drivers/graphics/ihdgd: Extract most of the plane configuration into separate functions
2026-03-21 13:21:29 +01:00
bjorn3
f5ce77203e
drivers/graphics/ihdgd: Initialize planes inside GraphicsAdapter::init
2026-03-20 23:22:17 +01:00
bjorn3
6def27936a
drivers/graphics: Pass KmsCrtcState to set_crtc
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
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
79e9e0987d
drivers/graphics: Move property values into individual objects
2026-03-19 22:26:55 +01: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
Ribbon
90ea974ce0
Add missing Cargo package description and update drivers README
2026-03-16 10:39:15 -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
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
bjorn3
84f6f67a98
drivers/graphics: Implement the cursor drm ioctls
2026-03-14 14:15:13 +01:00
bjorn3
985612d5e0
drivers/graphics: Changes to support SETCRTC in the future
2026-03-14 12:52:51 +01:00
bjorn3
63ca9efb8c
drivers/graphics: Introduce CRTC objects
...
Currently still read-only.
2026-03-14 12:37:41 +01:00
bjorn3
20834544b7
drivers/graphics: Move KMS object handling to a submodule
2026-03-13 23:57:14 +01:00
bjorn3
977e13077d
drivers/graphics: Require Debug to be implemented for Buffer
2026-03-13 23:23:16 +01:00
bjorn3
f6a7c194b2
drivers/graphics: Refcount all DRM objects
...
This is necessary to be able to properly handle objects that reference
each other and in doing so keep each other alive.
2026-03-13 23:23:15 +01:00
bjorn3
7f8ddd7a7e
drivers/graphics: Add helpers for updating the connector state
2026-03-13 22:15:59 +01:00
bjorn3
c088e48948
drivers/graphics: Move DrmConnector and DrmEncoder to a separate module
2026-03-13 21:57:44 +01:00
bjorn3
d329c5b24a
drivers/graphics: Allow disabling display output by setting no framebuffer
2026-03-13 19:42:17 +01:00
bjorn3
c8c5a3e240
drivers/graphics: Remove separate cursor framebuffer create/map methods
2026-03-13 19:42:17 +01:00
bjorn3
4317189d7b
drivers/graphics: Unify buffer types between regular and cursor planes
...
Also correct the cursor size for virtio-gpu.
2026-03-13 19:42:17 +01:00
bjorn3
0d0fbd1935
drivers/graphics: Mostly remove support for the v1 graphics api
...
Orbclient still needs opening + fpath support for the v1 graphics api.
2026-03-12 21:40:40 +01:00
bjorn3
9795abb0ea
Fix a bunch of warnings
2026-03-11 22:05:44 +01:00
bjorn3
48c652f5d1
Move DisplayHandle creation into GraphicsScheme::new
2026-03-07 17:49:45 +01:00
bjorn3
3c79908b5a
drivers/graphics: Directly pass scheme name to DisplayHandle::new
2026-03-06 22:55:50 +01:00
bjorn3
d70d648ceb
Remove no longer necessary patches
...
New versions of drm and drm-sys have been released with Redox OS support.
2026-03-06 22:40:12 +01:00
auronandace
4e77bb0f96
add precedence lint to drivers
2026-02-20 15:00:43 +00:00
bjorn3
6c01349bf4
drivers/graphics/ihdgd: Fix a warning
2026-02-07 13:18:48 +01:00
bjorn3
3d82140155
drivers/graphics/ihdgd: Minor EDID reading improvements
...
* Enable unproven feature of embedded-hal. We depend on it. Currently it
gets implicitly enabled by bitbang-hal.
* Reduce nesting in probe_edid
2026-02-07 13:18:46 +01:00
Jeremy Soller
3edfd63eec
ihdgd: use default output level
2026-01-29 08:53:45 -07:00
bjorn3
fc1c391340
Move common::init call into pcid_interface::pci_daemon
2026-01-25 20:08:49 +01:00