diff --git a/src/intel/chips.hpp b/src/intel/chips.hpp index 77a1189..1a4a924 100644 --- a/src/intel/chips.hpp +++ b/src/intel/chips.hpp @@ -7,7 +7,29 @@ typedef uint32_t GPUCHIP; enum { CHIP_UNKNOWN_INTEL, - CHIP_UHDG_620, + // Gen9 + CHIP_HD_510, + CHIP_HD_515, + CHIP_HD_520, + CHIP_HD_530, + CHIP_HD_P530, + CHIP_HD_540, + CHIP_HD_550, + CHIP_IRIS_P555, + CHIP_IRIS_580, + CHIP_IRIS_P580, + // Gen9.5 + CHIP_UHD_600, + CHIP_UHD_605, + CHIP_UHD_620, + CHIP_UHD_630, + CHIP_HD_610, + CHIP_HD_615, + CHIP_HD_620, + CHIP_HD_630, + CHIP_HD_P630, + CHIP_IRISP_640, + CHIP_IRISP_650, }; #endif diff --git a/src/intel/intel.cpp b/src/intel/intel.cpp index fe23880..93df3cf 100644 --- a/src/intel/intel.cpp +++ b/src/intel/intel.cpp @@ -9,8 +9,6 @@ struct gpu_info* get_gpu_info_intel() { struct gpu_info* gpu = (struct gpu_info*) emalloc(sizeof(struct gpu_info)); - const char* name = "UHD Graphics XXX"; - gpu->vendor = GPU_VENDOR_INTEL; struct pci_dev *devices = get_pci_devices_from_pciutils(); diff --git a/src/intel/pci.cpp b/src/intel/pci.cpp index 6772777..ea4ab63 100644 --- a/src/intel/pci.cpp +++ b/src/intel/pci.cpp @@ -10,8 +10,45 @@ else if (pci->device_id == id) return chip; #define CHECK_PCI_END else { printBug("TODOO"); return CHIP_UNKNOWN_INTEL; } +/* + * https://github.com/mesa3d/mesa/blob/main/include/pci_ids/i965_pci_ids.h + */ GPUCHIP get_chip_from_pci(struct pci* pci) { CHECK_PCI_START - CHECK_PCI(pci, 0x5917, CHIP_UHDG_620) + // Gen9 + CHECK_PCI(pci, 0x1902, CHIP_HD_510) + CHECK_PCI(pci, 0x1906, CHIP_HD_510) + CHECK_PCI(pci, 0x190B, CHIP_HD_510) + CHECK_PCI(pci, 0x191E, CHIP_HD_515) + CHECK_PCI(pci, 0x1916, CHIP_HD_520) + CHECK_PCI(pci, 0x1921, CHIP_HD_520) + CHECK_PCI(pci, 0x1912, CHIP_HD_530) + CHECK_PCI(pci, 0x191B, CHIP_HD_530) + CHECK_PCI(pci, 0x191D, CHIP_HD_P530) + /*CHECK_PCI(pci, 0x5917, CHIP_HD_540) + CHECK_PCI(pci, 0x5917, CHIP_HD_550) + CHECK_PCI(pci, 0x5917, CHIP_HD_P555) + CHECK_PCI(pci, 0x5917, CHIP_HD_580) + CHECK_PCI(pci, 0x5917, CHIP_HD_P580)*/ + // Gen9.5 + CHECK_PCI(pci, 0x3185, CHIP_UHD_600) + CHECK_PCI(pci, 0x3184, CHIP_UHD_605) + CHECK_PCI(pci, 0x5917, CHIP_UHD_620) + CHECK_PCI(pci, 0x3E91, CHIP_UHD_630) + CHECK_PCI(pci, 0x3E92, CHIP_UHD_630) + CHECK_PCI(pci, 0x3E98, CHIP_UHD_630) + CHECK_PCI(pci, 0x3E9B, CHIP_UHD_630) + CHECK_PCI(pci, 0x9BC5, CHIP_UHD_630) + CHECK_PCI(pci, 0x9BC8, CHIP_UHD_630) + CHECK_PCI(pci, 0x5902, CHIP_HD_610) + CHECK_PCI(pci, 0x5906, CHIP_HD_610) + CHECK_PCI(pci, 0x590B, CHIP_HD_610) + CHECK_PCI(pci, 0x591E, CHIP_HD_615) + CHECK_PCI(pci, 0x5912, CHIP_HD_630) + CHECK_PCI(pci, 0x591B, CHIP_HD_630) + CHECK_PCI(pci, 0x591A, CHIP_HD_P630) + CHECK_PCI(pci, 0x591D, CHIP_HD_P630) + CHECK_PCI(pci, 0x5926, CHIP_IRISP_640) + CHECK_PCI(pci, 0x5927, CHIP_IRISP_650) CHECK_PCI_END } diff --git a/src/intel/uarch.cpp b/src/intel/uarch.cpp index 3404c73..dd12ecf 100644 --- a/src/intel/uarch.cpp +++ b/src/intel/uarch.cpp @@ -40,7 +40,23 @@ void fill_uarch(struct uarch* arch, char const *str, MICROARCH u, uint32_t proce void map_chip_to_uarch(struct uarch* arch) { CHECK_UARCH_START - CHECK_UARCH(arch, CHIP_UHDG_620, "UHD Graphics 620", UARCH_GEN9_5, 14) + // Gen9 + CHECK_UARCH(arch, CHIP_HD_510, "HD Graphics 510", UARCH_GEN9, 14) + CHECK_UARCH(arch, CHIP_HD_515, "HD Graphics 515", UARCH_GEN9, 14) + CHECK_UARCH(arch, CHIP_HD_520, "HD Graphics 520", UARCH_GEN9, 14) + CHECK_UARCH(arch, CHIP_HD_530, "HD Graphics 530", UARCH_GEN9, 14) + CHECK_UARCH(arch, CHIP_HD_P530, "HD Graphics P530", UARCH_GEN9, 14) + // Gen9.5 + CHECK_UARCH(arch, CHIP_UHD_600, "UHD Graphics 600", UARCH_GEN9_5, 14) + CHECK_UARCH(arch, CHIP_UHD_605, "UHD Graphics 605", UARCH_GEN9_5, 14) + CHECK_UARCH(arch, CHIP_UHD_620, "UHD Graphics 620", UARCH_GEN9_5, 14) + CHECK_UARCH(arch, CHIP_UHD_630, "UHD Graphics 630", UARCH_GEN9_5, 14) + CHECK_UARCH(arch, CHIP_HD_610, "HD Graphics 610", UARCH_GEN9_5, 14) + CHECK_UARCH(arch, CHIP_HD_615, "HD Graphics 615", UARCH_GEN9_5, 14) + CHECK_UARCH(arch, CHIP_HD_630, "HD Graphics 630", UARCH_GEN9_5, 14) + CHECK_UARCH(arch, CHIP_HD_P630, "HD Graphics P630", UARCH_GEN9_5, 14) + CHECK_UARCH(arch, CHIP_IRISP_640, "Iris(R) Plus Graphics 640", UARCH_GEN9_5, 14) + CHECK_UARCH(arch, CHIP_IRISP_640, "Iris(R) Plus Graphics 650", UARCH_GEN9_5, 14) CHECK_UARCH_END }