mirror of
https://github.com/SerenityOS/serenity
synced 2024-09-06 17:06:31 +00:00
![Edwin Rijkee](/assets/img/avatar_default.png)
A bit old but a relatively uncomplicated device capable of outputting 1920x1080 video with 32-bit color. Tested with a Voodoo 3 3000 16MB PCI card. Resolution switching from DisplaySettings also works. If the requested mode contains timing information, it is used directly. Otherwise, display timing values are selected from the EDID. First the detailed timings are checked, and then standard and established timings for which there is a matching DMT mode. The driver does not (yet) read the actual EDID, so the generic EDID in DisplayConnector now includes a set of common display modes to make this work. The driver should also be compatible with the Voodoo Banshee, 4 and 5 but I don't have these cards to test this with. The PCI IDs of these cards are included as a commented line in case someone wants to give it a try.
353 lines
5.3 KiB
C
353 lines
5.3 KiB
C
/*
|
|
* Copyright (c) 2021, Paul Scharnofske
|
|
* Copyright (c) 2022, the SerenityOS developers.
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#ifndef AC97_DEBUG
|
|
#cmakedefine01 AC97_DEBUG
|
|
#endif
|
|
|
|
#ifndef AHCI_DEBUG
|
|
#cmakedefine01 AHCI_DEBUG
|
|
#endif
|
|
|
|
#ifndef ACPI_DEBUG
|
|
#cmakedefine01 ACPI_DEBUG
|
|
#endif
|
|
|
|
#ifndef APIC_DEBUG
|
|
#cmakedefine01 APIC_DEBUG
|
|
#endif
|
|
|
|
#ifndef APIC_SMP_DEBUG
|
|
#cmakedefine01 APIC_SMP_DEBUG
|
|
#endif
|
|
|
|
#ifndef ARP_DEBUG
|
|
#cmakedefine01 ARP_DEBUG
|
|
#endif
|
|
|
|
#ifndef ATA_DEBUG
|
|
#cmakedefine01 ATA_DEBUG
|
|
#endif
|
|
|
|
#ifndef BBFS_DEBUG
|
|
#cmakedefine01 BBFS_DEBUG
|
|
#endif
|
|
|
|
#ifndef BXVGA_DEBUG
|
|
#cmakedefine01 BXVGA_DEBUG
|
|
#endif
|
|
|
|
#ifndef COMMIT_DEBUG
|
|
#cmakedefine01 COMMIT_DEBUG
|
|
#endif
|
|
|
|
#ifndef CONTEXT_SWITCH_DEBUG
|
|
#cmakedefine01 CONTEXT_SWITCH_DEBUG
|
|
#endif
|
|
|
|
#ifndef DUMP_REGIONS_ON_CRASH
|
|
#cmakedefine01 DUMP_REGIONS_ON_CRASH
|
|
#endif
|
|
|
|
#ifndef E1000_DEBUG
|
|
#cmakedefine01 E1000_DEBUG
|
|
#endif
|
|
|
|
#ifndef ETHERNET_DEBUG
|
|
#cmakedefine01 ETHERNET_DEBUG
|
|
#endif
|
|
|
|
#ifndef EXEC_DEBUG
|
|
#cmakedefine01 EXEC_DEBUG
|
|
#endif
|
|
|
|
#ifndef EXT2_BLOCKLIST_DEBUG
|
|
#cmakedefine01 EXT2_BLOCKLIST_DEBUG
|
|
#endif
|
|
|
|
#ifndef EXT2_DEBUG
|
|
#cmakedefine01 EXT2_DEBUG
|
|
#endif
|
|
|
|
#ifndef EXT2_VERY_DEBUG
|
|
#cmakedefine01 EXT2_VERY_DEBUG
|
|
#endif
|
|
|
|
#ifndef FAT_DEBUG
|
|
#cmakedefine01 FAT_DEBUG
|
|
#endif
|
|
|
|
#ifndef FORK_DEBUG
|
|
#cmakedefine01 FORK_DEBUG
|
|
#endif
|
|
|
|
#ifndef FUTEX_DEBUG
|
|
#cmakedefine01 FUTEX_DEBUG
|
|
#endif
|
|
|
|
#ifndef FUTEXQUEUE_DEBUG
|
|
#cmakedefine01 FUTEXQUEUE_DEBUG
|
|
#endif
|
|
|
|
#ifndef HPET_COMPARATOR_DEBUG
|
|
#cmakedefine01 HPET_COMPARATOR_DEBUG
|
|
#endif
|
|
|
|
#ifndef HPET_DEBUG
|
|
#cmakedefine01 HPET_DEBUG
|
|
#endif
|
|
|
|
#ifndef ICMP_DEBUG
|
|
#cmakedefine01 ICMP_DEBUG
|
|
#endif
|
|
|
|
#ifndef INTEL_GRAPHICS_DEBUG
|
|
#cmakedefine01 INTEL_GRAPHICS_DEBUG
|
|
#endif
|
|
|
|
#ifndef INTEL_HDA_DEBUG
|
|
#cmakedefine01 INTEL_HDA_DEBUG
|
|
#endif
|
|
|
|
#ifndef INTERRUPT_DEBUG
|
|
#cmakedefine01 INTERRUPT_DEBUG
|
|
#endif
|
|
|
|
#ifndef IO_DEBUG
|
|
#cmakedefine01 IO_DEBUG
|
|
#endif
|
|
|
|
#ifndef IOAPIC_DEBUG
|
|
#cmakedefine01 IOAPIC_DEBUG
|
|
#endif
|
|
|
|
#ifndef ISO9660_DEBUG
|
|
#cmakedefine01 ISO9660_DEBUG
|
|
#endif
|
|
|
|
#ifndef ISO9660_VERY_DEBUG
|
|
#cmakedefine01 ISO9660_VERY_DEBUG
|
|
#endif
|
|
|
|
#ifndef IPV4_DEBUG
|
|
#cmakedefine01 IPV4_DEBUG
|
|
#endif
|
|
|
|
#ifndef IPV4_SOCKET_DEBUG
|
|
#cmakedefine01 IPV4_SOCKET_DEBUG
|
|
#endif
|
|
|
|
#ifndef IRQ_DEBUG
|
|
#cmakedefine01 IRQ_DEBUG
|
|
#endif
|
|
|
|
#ifndef KEYBOARD_DEBUG
|
|
#cmakedefine01 KEYBOARD_DEBUG
|
|
#endif
|
|
|
|
#ifndef KMALLOC_DEBUG
|
|
#cmakedefine01 KMALLOC_DEBUG
|
|
#endif
|
|
|
|
#ifndef KMALLOC_VERIFY_NO_SPINLOCK_HELD
|
|
#cmakedefine01 KMALLOC_VERIFY_NO_SPINLOCK_HELD
|
|
#endif
|
|
|
|
#ifndef LOCAL_SOCKET_DEBUG
|
|
#cmakedefine01 LOCAL_SOCKET_DEBUG
|
|
#endif
|
|
|
|
#ifndef LOCK_DEBUG
|
|
#cmakedefine01 LOCK_DEBUG
|
|
#endif
|
|
|
|
#ifndef LOCK_IN_CRITICAL_DEBUG
|
|
#cmakedefine01 LOCK_IN_CRITICAL_DEBUG
|
|
#endif
|
|
|
|
#ifndef LOCK_RANK_ENFORCEMENT
|
|
#cmakedefine01 LOCK_RANK_ENFORCEMENT
|
|
#endif
|
|
|
|
#ifndef LOCK_RESTORE_DEBUG
|
|
#cmakedefine01 LOCK_RESTORE_DEBUG
|
|
#endif
|
|
|
|
#ifndef LOCK_SHARED_UPGRADE_DEBUG
|
|
#cmakedefine01 LOCK_SHARED_UPGRADE_DEBUG
|
|
#endif
|
|
|
|
#ifndef LOCK_TRACE_DEBUG
|
|
#cmakedefine01 LOCK_TRACE_DEBUG
|
|
#endif
|
|
|
|
#ifndef LOOPBACK_DEBUG
|
|
#cmakedefine01 LOOPBACK_DEBUG
|
|
#endif
|
|
|
|
#ifndef MASTERPTY_DEBUG
|
|
#cmakedefine01 MASTERPTY_DEBUG
|
|
#endif
|
|
|
|
#ifndef MOUSE_DEBUG
|
|
#cmakedefine01 MOUSE_DEBUG
|
|
#endif
|
|
|
|
#ifndef MEMORY_DEVICE_DEBUG
|
|
#cmakedefine01 MEMORY_DEVICE_DEBUG
|
|
#endif
|
|
|
|
#ifndef MULTIPROCESSOR_DEBUG
|
|
#cmakedefine01 MULTIPROCESSOR_DEBUG
|
|
#endif
|
|
|
|
#ifndef NETWORK_TASK_DEBUG
|
|
#cmakedefine01 NETWORK_TASK_DEBUG
|
|
#endif
|
|
|
|
#ifndef NVME_DEBUG
|
|
#cmakedefine01 NVME_DEBUG
|
|
#endif
|
|
|
|
#ifndef OFFD_DEBUG
|
|
#cmakedefine01 OFFD_DEBUG
|
|
#endif
|
|
|
|
#ifndef PAGE_FAULT_DEBUG
|
|
#cmakedefine01 PAGE_FAULT_DEBUG
|
|
#endif
|
|
|
|
#ifndef PATA_DEBUG
|
|
#cmakedefine01 PATA_DEBUG
|
|
#endif
|
|
|
|
#ifndef PCI_DEBUG
|
|
#cmakedefine01 PCI_DEBUG
|
|
#endif
|
|
|
|
#ifndef POLL_SELECT_DEBUG
|
|
#cmakedefine01 POLL_SELECT_DEBUG
|
|
#endif
|
|
|
|
#ifndef PROCESS_DEBUG
|
|
#cmakedefine01 PROCESS_DEBUG
|
|
#endif
|
|
|
|
#ifndef PROCFS_DEBUG
|
|
#cmakedefine01 PROCFS_DEBUG
|
|
#endif
|
|
|
|
#ifndef PS2MOUSE_DEBUG
|
|
#cmakedefine01 PS2MOUSE_DEBUG
|
|
#endif
|
|
|
|
#ifndef PTMX_DEBUG
|
|
#cmakedefine01 PTMX_DEBUG
|
|
#endif
|
|
|
|
#ifndef ROUTING_DEBUG
|
|
#cmakedefine01 ROUTING_DEBUG
|
|
#endif
|
|
|
|
#ifndef RTL8168_DEBUG
|
|
#cmakedefine01 RTL8168_DEBUG
|
|
#endif
|
|
|
|
#ifndef SCHEDULER_DEBUG
|
|
#cmakedefine01 SCHEDULER_DEBUG
|
|
#endif
|
|
|
|
#ifndef SCHEDULER_RUNNABLE_DEBUG
|
|
#cmakedefine01 SCHEDULER_RUNNABLE_DEBUG
|
|
#endif
|
|
|
|
#ifndef SIGNAL_DEBUG
|
|
#cmakedefine01 SIGNAL_DEBUG
|
|
#endif
|
|
|
|
#ifndef SLAVEPTY_DEBUG
|
|
#cmakedefine01 SLAVEPTY_DEBUG
|
|
#endif
|
|
|
|
#ifndef SMP_DEBUG
|
|
#cmakedefine01 SMP_DEBUG
|
|
#endif
|
|
|
|
#ifndef SOCKET_DEBUG
|
|
#cmakedefine01 SOCKET_DEBUG
|
|
#endif
|
|
|
|
#ifndef STORAGE_DEVICE_DEBUG
|
|
#cmakedefine01 STORAGE_DEVICE_DEBUG
|
|
#endif
|
|
|
|
#ifndef SYSFS_DEBUG
|
|
#cmakedefine01 SYSFS_DEBUG
|
|
#endif
|
|
|
|
#ifndef TCP_DEBUG
|
|
#cmakedefine01 TCP_DEBUG
|
|
#endif
|
|
|
|
#ifndef TCP_SOCKET_DEBUG
|
|
#cmakedefine01 TCP_SOCKET_DEBUG
|
|
#endif
|
|
|
|
#ifndef TDFX_DEBUG
|
|
#cmakedefine01 TDFX_DEBUG
|
|
#endif
|
|
|
|
#ifndef THREAD_DEBUG
|
|
#cmakedefine01 THREAD_DEBUG
|
|
#endif
|
|
|
|
#ifndef TTY_DEBUG
|
|
#cmakedefine01 TTY_DEBUG
|
|
#endif
|
|
|
|
#ifndef UDP_DEBUG
|
|
#cmakedefine01 UDP_DEBUG
|
|
#endif
|
|
|
|
#ifndef UHCI_DEBUG
|
|
#cmakedefine01 UHCI_DEBUG
|
|
#endif
|
|
|
|
#ifndef UHCI_VERBOSE_DEBUG
|
|
#cmakedefine01 UHCI_VERBOSE_DEBUG
|
|
#endif
|
|
|
|
#ifndef USB_DEBUG
|
|
#cmakedefine01 USB_DEBUG
|
|
#endif
|
|
|
|
#ifndef VFS_DEBUG
|
|
#cmakedefine01 VFS_DEBUG
|
|
#endif
|
|
|
|
#ifndef VMWARE_BACKDOOR_DEBUG
|
|
#cmakedefine01 VMWARE_BACKDOOR_DEBUG
|
|
#endif
|
|
|
|
#ifndef VIRTIO_DEBUG
|
|
#cmakedefine01 VIRTIO_DEBUG
|
|
#endif
|
|
|
|
#ifndef VIRTUAL_CONSOLE_DEBUG
|
|
#cmakedefine01 VIRTUAL_CONSOLE_DEBUG
|
|
#endif
|
|
|
|
#ifndef WAITBLOCK_DEBUG
|
|
#cmakedefine01 WAITBLOCK_DEBUG
|
|
#endif
|
|
|
|
#ifndef WAITQUEUE_DEBUG
|
|
#cmakedefine01 WAITQUEUE_DEBUG
|
|
#endif
|