mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 15:40:19 +00:00
Kernel/Graphics: Convert type method => bool vga compatible method
We never used that type method except in initialization in GraphicsManagement, and we used it there to query whether the device is VGA compatible or not.
This commit is contained in:
parent
fb0ed2ae46
commit
a9538b5879
Notes:
sideshowbarker
2024-07-18 01:51:24 +09:00
Author: https://github.com/supercomputer7 Commit: https://github.com/SerenityOS/serenity/commit/a9538b5879e Pull-request: https://github.com/SerenityOS/serenity/pull/10163 Reviewed-by: https://github.com/IdanHo Reviewed-by: https://github.com/ccapitalK ✅
7 changed files with 12 additions and 17 deletions
|
@ -132,11 +132,9 @@ UNMAP_AFTER_INIT void BochsGraphicsAdapter::initialize_framebuffer_devices()
|
||||||
VERIFY(!m_framebuffer_device->initialize().is_error());
|
VERIFY(!m_framebuffer_device->initialize().is_error());
|
||||||
}
|
}
|
||||||
|
|
||||||
GraphicsDevice::Type BochsGraphicsAdapter::type() const
|
bool BochsGraphicsAdapter::vga_compatible() const
|
||||||
{
|
{
|
||||||
if (m_is_vga_capable)
|
return m_is_vga_capable;
|
||||||
return Type::VGACompatible;
|
|
||||||
return Type::Bochs;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BochsGraphicsAdapter::unblank()
|
void BochsGraphicsAdapter::unblank()
|
||||||
|
|
|
@ -36,13 +36,14 @@ public:
|
||||||
virtual bool modesetting_capable() const override { return true; }
|
virtual bool modesetting_capable() const override { return true; }
|
||||||
virtual bool double_framebuffering_capable() const override { return true; }
|
virtual bool double_framebuffering_capable() const override { return true; }
|
||||||
|
|
||||||
|
virtual bool vga_compatible() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// ^GraphicsDevice
|
// ^GraphicsDevice
|
||||||
virtual bool try_to_set_resolution(size_t output_port_index, size_t width, size_t height) override;
|
virtual bool try_to_set_resolution(size_t output_port_index, size_t width, size_t height) override;
|
||||||
virtual bool set_y_offset(size_t output_port_index, size_t y) override;
|
virtual bool set_y_offset(size_t output_port_index, size_t y) override;
|
||||||
|
|
||||||
virtual void initialize_framebuffer_devices() override;
|
virtual void initialize_framebuffer_devices() override;
|
||||||
virtual Type type() const override;
|
|
||||||
|
|
||||||
virtual void enable_consoles() override;
|
virtual void enable_consoles() override;
|
||||||
virtual void disable_consoles() override;
|
virtual void disable_consoles() override;
|
||||||
|
|
|
@ -15,15 +15,8 @@
|
||||||
namespace Kernel {
|
namespace Kernel {
|
||||||
class GraphicsDevice : public RefCounted<GraphicsDevice> {
|
class GraphicsDevice : public RefCounted<GraphicsDevice> {
|
||||||
public:
|
public:
|
||||||
enum class Type {
|
|
||||||
VGACompatible,
|
|
||||||
Bochs,
|
|
||||||
SVGA,
|
|
||||||
Raw
|
|
||||||
};
|
|
||||||
virtual ~GraphicsDevice() = default;
|
virtual ~GraphicsDevice() = default;
|
||||||
virtual void initialize_framebuffer_devices() = 0;
|
virtual void initialize_framebuffer_devices() = 0;
|
||||||
virtual Type type() const = 0;
|
|
||||||
virtual void enable_consoles() = 0;
|
virtual void enable_consoles() = 0;
|
||||||
virtual void disable_consoles() = 0;
|
virtual void disable_consoles() = 0;
|
||||||
bool consoles_enabled() const { return m_consoles_enabled; }
|
bool consoles_enabled() const { return m_consoles_enabled; }
|
||||||
|
@ -32,6 +25,8 @@ public:
|
||||||
virtual bool modesetting_capable() const = 0;
|
virtual bool modesetting_capable() const = 0;
|
||||||
virtual bool double_framebuffering_capable() const = 0;
|
virtual bool double_framebuffering_capable() const = 0;
|
||||||
|
|
||||||
|
virtual bool vga_compatible() const = 0;
|
||||||
|
|
||||||
virtual bool try_to_set_resolution(size_t output_port_index, size_t width, size_t height) = 0;
|
virtual bool try_to_set_resolution(size_t output_port_index, size_t width, size_t height) = 0;
|
||||||
virtual bool set_y_offset(size_t output_port_index, size_t y) = 0;
|
virtual bool set_y_offset(size_t output_port_index, size_t y) = 0;
|
||||||
|
|
||||||
|
|
|
@ -133,7 +133,7 @@ UNMAP_AFTER_INIT bool GraphicsManagement::determine_and_initialize_graphics_devi
|
||||||
|
|
||||||
// Note: If IO space is enabled, this VGA adapter is operating in VGA mode.
|
// Note: If IO space is enabled, this VGA adapter is operating in VGA mode.
|
||||||
// Note: If no other VGA adapter is attached as m_vga_adapter, we should attach it then.
|
// Note: If no other VGA adapter is attached as m_vga_adapter, we should attach it then.
|
||||||
if (!m_vga_adapter && PCI::is_io_space_enabled(device_identifier.address()) && adapter->type() == GraphicsDevice::Type::VGACompatible) {
|
if (!m_vga_adapter && PCI::is_io_space_enabled(device_identifier.address()) && adapter->vga_compatible()) {
|
||||||
dbgln("Graphics adapter @ {} is operating in VGA mode", device_identifier.address());
|
dbgln("Graphics adapter @ {} is operating in VGA mode", device_identifier.address());
|
||||||
m_vga_adapter = static_ptr_cast<VGACompatibleAdapter>(adapter);
|
m_vga_adapter = static_ptr_cast<VGACompatibleAdapter>(adapter);
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,7 +115,6 @@ private:
|
||||||
|
|
||||||
// ^GraphicsDevice
|
// ^GraphicsDevice
|
||||||
virtual void initialize_framebuffer_devices() override;
|
virtual void initialize_framebuffer_devices() override;
|
||||||
virtual Type type() const override { return Type::VGACompatible; }
|
|
||||||
|
|
||||||
bool pipe_a_enabled() const;
|
bool pipe_a_enabled() const;
|
||||||
bool pipe_b_enabled() const;
|
bool pipe_b_enabled() const;
|
||||||
|
|
|
@ -28,6 +28,8 @@ public:
|
||||||
virtual bool modesetting_capable() const override { return false; }
|
virtual bool modesetting_capable() const override { return false; }
|
||||||
virtual bool double_framebuffering_capable() const override { return false; }
|
virtual bool double_framebuffering_capable() const override { return false; }
|
||||||
|
|
||||||
|
virtual bool vga_compatible() const override final { return true; }
|
||||||
|
|
||||||
virtual bool try_to_set_resolution(size_t output_port_index, size_t width, size_t height) override;
|
virtual bool try_to_set_resolution(size_t output_port_index, size_t width, size_t height) override;
|
||||||
virtual bool set_y_offset(size_t output_port_index, size_t y) override;
|
virtual bool set_y_offset(size_t output_port_index, size_t y) override;
|
||||||
|
|
||||||
|
@ -39,7 +41,6 @@ private:
|
||||||
|
|
||||||
// ^GraphicsDevice
|
// ^GraphicsDevice
|
||||||
virtual void initialize_framebuffer_devices() override;
|
virtual void initialize_framebuffer_devices() override;
|
||||||
virtual Type type() const override { return Type::VGACompatible; }
|
|
||||||
|
|
||||||
virtual void enable_consoles() override;
|
virtual void enable_consoles() override;
|
||||||
virtual void disable_consoles() override;
|
virtual void disable_consoles() override;
|
||||||
|
|
|
@ -22,12 +22,13 @@ public:
|
||||||
|
|
||||||
virtual bool framebuffer_devices_initialized() const override { return m_created_framebuffer_devices; }
|
virtual bool framebuffer_devices_initialized() const override { return m_created_framebuffer_devices; }
|
||||||
|
|
||||||
|
// FIXME: There's a VirtIO VGA GPU variant, so we should consider that
|
||||||
|
virtual bool vga_compatible() const override { return false; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
explicit GraphicsAdapter(PCI::DeviceIdentifier const&);
|
explicit GraphicsAdapter(PCI::DeviceIdentifier const&);
|
||||||
|
|
||||||
virtual void initialize_framebuffer_devices() override;
|
virtual void initialize_framebuffer_devices() override;
|
||||||
virtual Type type() const override { return Type::Raw; }
|
|
||||||
|
|
||||||
virtual void enable_consoles() override;
|
virtual void enable_consoles() override;
|
||||||
virtual void disable_consoles() override;
|
virtual void disable_consoles() override;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue