1 #include "target-helpers/drm_helper.h"
2 #include "target-helpers/sw_helper.h"
3 
4 #include "dri_screen.h"
5 
6 #define DEFINE_LOADER_DRM_ENTRYPOINT(drivername)                          \
7 const __DRIextension **__driDriverGetExtensions_##drivername(void);       \
8 PUBLIC const __DRIextension **__driDriverGetExtensions_##drivername(void) \
9 {                                                                         \
10    globalDriverAPI = &galliumdrm_driver_api;                              \
11    return galliumdrm_driver_extensions;                                   \
12 }
13 
14 #if defined(GALLIUM_SOFTPIPE)
15 
16 const __DRIextension **__driDriverGetExtensions_swrast(void);
17 
__driDriverGetExtensions_swrast(void)18 PUBLIC const __DRIextension **__driDriverGetExtensions_swrast(void)
19 {
20    globalDriverAPI = &galliumsw_driver_api;
21    return galliumsw_driver_extensions;
22 }
23 
24 #if defined(HAVE_LIBDRM)
25 
26 const __DRIextension **__driDriverGetExtensions_kms_swrast(void);
27 
__driDriverGetExtensions_kms_swrast(void)28 PUBLIC const __DRIextension **__driDriverGetExtensions_kms_swrast(void)
29 {
30    globalDriverAPI = &dri_kms_driver_api;
31    return galliumdrm_driver_extensions;
32 }
33 
34 #endif
35 #endif
36 
37 #if defined(GALLIUM_I915)
38 DEFINE_LOADER_DRM_ENTRYPOINT(i915)
39 #endif
40 
41 #if defined(GALLIUM_IRIS)
42 DEFINE_LOADER_DRM_ENTRYPOINT(iris)
43 #endif
44 
45 #if defined(GALLIUM_NOUVEAU)
46 DEFINE_LOADER_DRM_ENTRYPOINT(nouveau)
47 #endif
48 
49 #if defined(GALLIUM_R300)
50 DEFINE_LOADER_DRM_ENTRYPOINT(r300)
51 #endif
52 
53 #if defined(GALLIUM_R600)
54 DEFINE_LOADER_DRM_ENTRYPOINT(r600)
55 #endif
56 
57 #if defined(GALLIUM_RADEONSI)
58 DEFINE_LOADER_DRM_ENTRYPOINT(radeonsi)
59 #endif
60 
61 #if defined(GALLIUM_VMWGFX)
62 DEFINE_LOADER_DRM_ENTRYPOINT(vmwgfx)
63 #endif
64 
65 #if defined(GALLIUM_FREEDRENO)
66 DEFINE_LOADER_DRM_ENTRYPOINT(msm)
67 DEFINE_LOADER_DRM_ENTRYPOINT(kgsl)
68 #endif
69 
70 #if defined(GALLIUM_VIRGL)
71 DEFINE_LOADER_DRM_ENTRYPOINT(virtio_gpu)
72 #endif
73 
74 #if defined(GALLIUM_V3D)
75 DEFINE_LOADER_DRM_ENTRYPOINT(v3d)
76 #endif
77 
78 #if defined(GALLIUM_VC4)
79 DEFINE_LOADER_DRM_ENTRYPOINT(vc4)
80 #endif
81 
82 #if defined(GALLIUM_PANFROST)
83 DEFINE_LOADER_DRM_ENTRYPOINT(panfrost)
84 #endif
85 
86 #if defined(GALLIUM_ETNAVIV)
87 DEFINE_LOADER_DRM_ENTRYPOINT(etnaviv)
88 #endif
89 
90 #if defined(GALLIUM_TEGRA)
91 DEFINE_LOADER_DRM_ENTRYPOINT(tegra);
92 #endif
93 
94 #if defined(GALLIUM_KMSRO)
95 DEFINE_LOADER_DRM_ENTRYPOINT(armada_drm)
96 DEFINE_LOADER_DRM_ENTRYPOINT(exynos)
97 DEFINE_LOADER_DRM_ENTRYPOINT(hx8357d)
98 DEFINE_LOADER_DRM_ENTRYPOINT(ili9225)
99 DEFINE_LOADER_DRM_ENTRYPOINT(ili9341)
100 DEFINE_LOADER_DRM_ENTRYPOINT(imx_drm)
101 DEFINE_LOADER_DRM_ENTRYPOINT(imx_dcss)
102 DEFINE_LOADER_DRM_ENTRYPOINT(ingenic_drm)
103 DEFINE_LOADER_DRM_ENTRYPOINT(mcde)
104 DEFINE_LOADER_DRM_ENTRYPOINT(mediatek)
105 DEFINE_LOADER_DRM_ENTRYPOINT(meson)
106 DEFINE_LOADER_DRM_ENTRYPOINT(mi0283qt)
107 DEFINE_LOADER_DRM_ENTRYPOINT(mxsfb_drm)
108 DEFINE_LOADER_DRM_ENTRYPOINT(pl111)
109 DEFINE_LOADER_DRM_ENTRYPOINT(repaper)
110 DEFINE_LOADER_DRM_ENTRYPOINT(rockchip)
111 DEFINE_LOADER_DRM_ENTRYPOINT(st7586)
112 DEFINE_LOADER_DRM_ENTRYPOINT(st7735r)
113 DEFINE_LOADER_DRM_ENTRYPOINT(stm)
114 DEFINE_LOADER_DRM_ENTRYPOINT(sun4i_drm)
115 #endif
116 
117 #if defined(GALLIUM_LIMA)
118 DEFINE_LOADER_DRM_ENTRYPOINT(lima)
119 #endif
120 
121 #if defined(GALLIUM_ZINK)
122 DEFINE_LOADER_DRM_ENTRYPOINT(zink);
123 #endif
124