Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/loader/pci_id_driver_map.h
4545 views
1
#ifndef _PCI_ID_DRIVER_MAP_H_
2
#define _PCI_ID_DRIVER_MAP_H_
3
4
#include <stdbool.h>
5
#include <stddef.h>
6
7
#ifndef __IS_LOADER
8
# error "Only include from loader.c"
9
#endif
10
11
static const int i830_chip_ids[] = {
12
#define CHIPSET(chip, desc, name) chip,
13
#include "pci_ids/i830_pci_ids.h"
14
#undef CHIPSET
15
};
16
17
static const int i915_chip_ids[] = {
18
#define CHIPSET(chip, desc, name) chip,
19
#include "pci_ids/i915_pci_ids.h"
20
#undef CHIPSET
21
};
22
23
static const int i965_chip_ids[] = {
24
#define CHIPSET(chip, family, family_str, name) chip,
25
#include "pci_ids/i965_pci_ids.h"
26
#undef CHIPSET
27
};
28
29
static const int crocus_chip_ids[] = {
30
#define CHIPSET(chip, family, family_str, name) chip,
31
#include "pci_ids/crocus_pci_ids.h"
32
#undef CHIPSET
33
};
34
35
static const int r100_chip_ids[] = {
36
#define CHIPSET(chip, name, family) chip,
37
#include "pci_ids/radeon_pci_ids.h"
38
#undef CHIPSET
39
};
40
41
static const int r200_chip_ids[] = {
42
#define CHIPSET(chip, name, family) chip,
43
#include "pci_ids/r200_pci_ids.h"
44
#undef CHIPSET
45
};
46
47
static const int r300_chip_ids[] = {
48
#define CHIPSET(chip, name, family) chip,
49
#include "pci_ids/r300_pci_ids.h"
50
#undef CHIPSET
51
};
52
53
static const int r600_chip_ids[] = {
54
#define CHIPSET(chip, name, family) chip,
55
#include "pci_ids/r600_pci_ids.h"
56
#undef CHIPSET
57
};
58
59
static const int virtio_gpu_chip_ids[] = {
60
#define CHIPSET(chip, name, family) chip,
61
#include "pci_ids/virtio_gpu_pci_ids.h"
62
#undef CHIPSET
63
};
64
65
static const int vmwgfx_chip_ids[] = {
66
#define CHIPSET(chip, name, family) chip,
67
#include "pci_ids/vmwgfx_pci_ids.h"
68
#undef CHIPSET
69
};
70
71
bool is_nouveau_vieux(int fd);
72
bool is_kernel_i915(int fd);
73
74
static const struct {
75
int vendor_id;
76
const char *driver;
77
const int *chip_ids;
78
int num_chips_ids;
79
bool (*predicate)(int fd);
80
} driver_map[] = {
81
{ 0x8086, "i830", i830_chip_ids, ARRAY_SIZE(i830_chip_ids) },
82
{ 0x8086, "i915", i915_chip_ids, ARRAY_SIZE(i915_chip_ids) },
83
{ 0x8086, "i965", i965_chip_ids, ARRAY_SIZE(i965_chip_ids) },
84
{ 0x8086, "crocus", crocus_chip_ids, ARRAY_SIZE(crocus_chip_ids) },
85
{ 0x8086, "iris", NULL, -1, is_kernel_i915 },
86
{ 0x1002, "radeon", r100_chip_ids, ARRAY_SIZE(r100_chip_ids) },
87
{ 0x1002, "r200", r200_chip_ids, ARRAY_SIZE(r200_chip_ids) },
88
{ 0x1002, "r300", r300_chip_ids, ARRAY_SIZE(r300_chip_ids) },
89
{ 0x1002, "r600", r600_chip_ids, ARRAY_SIZE(r600_chip_ids) },
90
{ 0x1002, "radeonsi", NULL, -1 },
91
{ 0x10de, "nouveau_vieux", NULL, -1, is_nouveau_vieux },
92
{ 0x10de, "nouveau", NULL, -1, },
93
{ 0x1af4, "virtio_gpu", virtio_gpu_chip_ids, ARRAY_SIZE(virtio_gpu_chip_ids) },
94
{ 0x15ad, "vmwgfx", vmwgfx_chip_ids, ARRAY_SIZE(vmwgfx_chip_ids) },
95
};
96
97
#endif /* _PCI_ID_DRIVER_MAP_H_ */
98
99