bjorn3
6a039c29fe
drivers/graphics/ihdgd: Don't access CRTC in set_plane
2026-05-14 16:05:57 +02:00
bjorn3
5d6faacfb3
drivers/graphics/driver-graphics: Couple of fixups
2026-05-14 16:00:30 +02:00
bjorn3
0ee128ad8d
drivers/graphics: Make everything work
2026-05-14 15:50:15 +02:00
bjorn3
76d6398473
drivers/graphics/driver-graphics: Add primary plane for every CRTC
2026-05-14 15:29:58 +02:00
Meijlen
835be6f654
drivers/graphics: Implement support for planes
2026-05-14 15:29:56 +02:00
bjorn3
5f4e5016a8
drivers/graphics/driver-graphics: Implement MODE_ADD_FB2
2026-05-14 14:56:33 +02:00
bjorn3
6875c90850
drivers/graphics/driver-graphics: Implement SET_VERSION and GET_UNIQUE
...
libdrm needs these when searching for drm devices.
2026-05-14 12:09:55 +02:00
bjorn3
009a9130d2
drivers/graphics: Report DRM_CAP_DUMB_PREFERRED_DEPTH to clients
2026-05-10 14:54:47 +02:00
bjorn3
d528fb73b4
drivers: Use map_bar instead of physmap where possible
...
Physmap requires root, while map_bar in the future could be run as
unprivileged process given a pcid handle for the target device.
2026-05-09 20:12:41 +02:00
bjorn3
15c3327adb
drivers/graphics/ihdgd: Remove unnecessary reset call
...
alloc_buffers already starts as empty.
2026-05-08 20:24:09 +02:00
bjorn3
1dcf00dc8e
drivers/graphics/driver-graphics: Replace hw_cursor_size with has_cursor_plane
...
Clients get the cursor size using get_cap. hw_cursor_size is only used
to determine the existence of a cursor plane nowadays.
2026-05-07 22:20:59 +02:00
bjorn3
8fdd5f3998
drivers/graphics/ihdgd: Replace DeviceFb with GpuBuffer for dumb buffers
...
Dumb buffers only have a size like GpuBuffer, not width, height and
stride like DeviceFb.
2026-05-06 21:32:32 +02:00
bjorn3
221d228f36
drivers/graphics/ihdgd: Support page flipping
2026-05-06 21:32:29 +02:00
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