mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 05:37:44 +00:00
Kernel: Add support for multiple VirtIO GPU outputs
This creates /dev/fbX devices for each physical output, owned by the parent VirtIOGPU instance. This allows mapping and setting resolutions independently for each output.
This commit is contained in:
parent
708f27ca0e
commit
8749235046
8 changed files with 305 additions and 194 deletions
|
@ -32,7 +32,7 @@ private:
|
|||
|
||||
class VirtIOGPUConsole final : public GenericFramebufferConsole {
|
||||
public:
|
||||
static NonnullRefPtr<VirtIOGPUConsole> initialize(RefPtr<VirtIOGPU>);
|
||||
static NonnullRefPtr<VirtIOGPUConsole> initialize(RefPtr<VirtIOFrameBufferDevice> const&);
|
||||
|
||||
virtual void set_resolution(size_t width, size_t height, size_t pitch) override;
|
||||
virtual void flush(size_t x, size_t y, size_t width, size_t height) override;
|
||||
|
@ -45,9 +45,9 @@ private:
|
|||
return m_framebuffer_region.unsafe_ptr()->vaddr().as_ptr();
|
||||
}
|
||||
|
||||
VirtIOGPUConsole(RefPtr<VirtIOGPU>);
|
||||
VirtIOGPUConsole(RefPtr<VirtIOFrameBufferDevice> const&);
|
||||
WeakPtr<Region> m_framebuffer_region;
|
||||
RefPtr<VirtIOGPU> m_gpu;
|
||||
RefPtr<VirtIOFrameBufferDevice> m_framebuffer_device;
|
||||
DirtyRect m_dirty_rect;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue