mirror of
https://github.com/RGBCube/serenity
synced 2025-05-18 11:05:06 +00:00

In the same fashion like in the Linux kernel, we support pre-initialized framebuffers that were set up by either the BIOS or the bootloader. These framebuffers can be backed by any kind of video hardware, and are not tied to VGA hardware at all. Therefore, this code should be in a separate sub-folder in the Graphics subsystem to indicate this.
29 lines
812 B
C++
29 lines
812 B
C++
/*
|
|
* Copyright (c) 2021-2022, Liav A. <liavalb@hotmail.co.il>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/Types.h>
|
|
#include <Kernel/Bus/PCI/Device.h>
|
|
#include <Kernel/Graphics/Console/Console.h>
|
|
#include <Kernel/Graphics/Generic/DisplayConnector.h>
|
|
#include <Kernel/Graphics/GenericGraphicsAdapter.h>
|
|
#include <Kernel/PhysicalAddress.h>
|
|
|
|
namespace Kernel {
|
|
|
|
class VGACompatibleAdapter : public GenericGraphicsAdapter {
|
|
public:
|
|
virtual bool vga_compatible() const override final { return true; }
|
|
|
|
protected:
|
|
void initialize_display_connector_with_preset_resolution(PhysicalAddress, size_t framebuffer_width, size_t framebuffer_height, size_t framebuffer_pitch);
|
|
|
|
VGACompatibleAdapter() = default;
|
|
|
|
RefPtr<GenericDisplayConnector> m_generic_display_connector;
|
|
};
|
|
}
|