summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibEDID/EDID.h
AgeCommit message (Collapse)Author
2023-06-04Everywhere: Move global Kernel pattern code to Kernel/Library directoryLiav A
This has KString, KBuffer, DoubleBuffer, KBufferBuilder, IOWindow, UserOrKernelBuffer and ScopedCritical classes being moved to the Kernel/Library subdirectory. Also, move the panic and assertions handling code to that directory.
2022-12-09Everywhere: Use C++ concepts instead of requires clausesMoustafa Raafat
2022-12-06AK+Everywhere: Rename String to DeprecatedStringLinus Groh
We have a new, improved string type coming up in AK (OOM aware, no null state), and while it's going to use UTF-8, the name UTF8String is a mouthful - so let's free up the String name by renaming the existing class. Making the old one have an annoying name will hopefully also help with quick adoption :^)
2022-12-03Everywhere: Run clang-formatLinus Groh
2022-09-24LibEDID: Remove head index when retrieving an EDID from DisplayConnectorLiav A
We simply don't need that field anymore, as it was used when one FramebufferDevice could contain multiple framebuffers within it, each for a connected screen head.
2022-07-23Userland: Remove stale remainders of old framebuffer devicesLiav A
2022-06-10LibEDID: Return "Unknown" string if failed to determine the manufacturerLiav A
Before of this patch, It happened that the return string could be "@@@", as a result of doing mathematical addition of ASCII '@' with bits when decoding the packed manufacturer ID bytes from the EDID. To avoid this, consider m_legacy_manufacturer_id to be invalid until we successfully decode the packed bytes.
2022-05-05LibEDID: Export common structures into a header fileLiav A
This will be used later in the kernel code to simplify the EDID handling code.
2022-04-01Everywhere: Run clang-formatIdan Horowitz
2022-02-16LibEDID: Exclude display_product_{name, serial_number} from the KernelIdan Horowitz
These APIs return Strings, which are OOM-infallibe, and as such, not appropriate for Kernel use. Since these APIs are only used by userland at the moment, we can just ifdef them out of the Kernel.
2022-02-16LibEDID: Store manufacturer id instead of allocating on each callIdan Horowitz
This also let's us use a KString instead of a string when we're in the Kernel, which opens the path for OOM-failure propagation.
2022-02-16LibEDID: Store EDID version instead of allocating on each getter callIdan Horowitz
This also let's us use a KString instead of a string when we're in the Kernel, which opens the path for OOM-failure propagation.
2022-01-24LibEDID: Fix calculating height and refresh rate for interlaced modesTom
The vertical values need to be multiplied with 2 for interlaced modes.
2022-01-23Meta+LibEDID: Download and generate the PNP ID databaseTom
This downloads the UEFI's published PNP ID database and generates a lookup table for use in LibEDID. The lookup table isn't optimized at all, but this can be easily done at a later point if needed.
2022-01-23LibEDID: Add API for conveniently querying EDID from framebuffer deviceTom
2022-01-23LibEDID: Add a library to parse EDID blobsTom
This library can be used (for the most part) by kernel drivers as well as user mode. For this reason FixedPoint is used rather than floating point, but kept to a minimum.