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)                          \
7const __DRIextension **__driDriverGetExtensions_##drivername(void);       \
8PUBLIC const __DRIextension **__driDriverGetExtensions_##drivername(void) \
9{                                                                         \
10   globalDriverAPI = &galliumdrm_driver_api;                              \
11   return galliumdrm_driver_extensions;                                   \
12}
13
14#if defined(GALLIUM_SOFTPIPE)
15
16const __DRIextension **__driDriverGetExtensions_swrast(void);
17
18PUBLIC const __DRIextension **__driDriverGetExtensions_swrast(void)
19{
20   globalDriverAPI = &galliumsw_driver_api;
21   return galliumsw_driver_extensions;
22}
23
24#if defined(HAVE_LIBDRM)
25
26const __DRIextension **__driDriverGetExtensions_kms_swrast(void);
27
28PUBLIC 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)
38DEFINE_LOADER_DRM_ENTRYPOINT(i915)
39#endif
40
41#if defined(GALLIUM_IRIS)
42DEFINE_LOADER_DRM_ENTRYPOINT(iris)
43#endif
44
45#if defined(GALLIUM_CROCUS)
46DEFINE_LOADER_DRM_ENTRYPOINT(crocus)
47#endif
48
49#if defined(GALLIUM_NOUVEAU)
50DEFINE_LOADER_DRM_ENTRYPOINT(nouveau)
51#endif
52
53#if defined(GALLIUM_R300)
54DEFINE_LOADER_DRM_ENTRYPOINT(r300)
55#endif
56
57#if defined(GALLIUM_R600)
58DEFINE_LOADER_DRM_ENTRYPOINT(r600)
59#endif
60
61#if defined(GALLIUM_RADEONSI)
62DEFINE_LOADER_DRM_ENTRYPOINT(radeonsi)
63#endif
64
65#if defined(GALLIUM_VMWGFX)
66DEFINE_LOADER_DRM_ENTRYPOINT(vmwgfx)
67#endif
68
69#if defined(GALLIUM_FREEDRENO)
70DEFINE_LOADER_DRM_ENTRYPOINT(msm)
71DEFINE_LOADER_DRM_ENTRYPOINT(kgsl)
72#endif
73
74#if defined(GALLIUM_VIRGL)
75DEFINE_LOADER_DRM_ENTRYPOINT(virtio_gpu)
76#endif
77
78#if defined(GALLIUM_V3D)
79DEFINE_LOADER_DRM_ENTRYPOINT(v3d)
80#endif
81
82#if defined(GALLIUM_VC4)
83DEFINE_LOADER_DRM_ENTRYPOINT(vc4)
84#endif
85
86#if defined(GALLIUM_PANFROST)
87DEFINE_LOADER_DRM_ENTRYPOINT(panfrost)
88#endif
89
90#if defined(GALLIUM_ETNAVIV)
91DEFINE_LOADER_DRM_ENTRYPOINT(etnaviv)
92#endif
93
94#if defined(GALLIUM_TEGRA)
95DEFINE_LOADER_DRM_ENTRYPOINT(tegra);
96#endif
97
98#if defined(GALLIUM_KMSRO)
99DEFINE_LOADER_DRM_ENTRYPOINT(armada_drm)
100DEFINE_LOADER_DRM_ENTRYPOINT(exynos)
101DEFINE_LOADER_DRM_ENTRYPOINT(hx8357d)
102DEFINE_LOADER_DRM_ENTRYPOINT(ili9225)
103DEFINE_LOADER_DRM_ENTRYPOINT(ili9341)
104DEFINE_LOADER_DRM_ENTRYPOINT(imx_drm)
105DEFINE_LOADER_DRM_ENTRYPOINT(imx_dcss)
106DEFINE_LOADER_DRM_ENTRYPOINT(ingenic_drm)
107DEFINE_LOADER_DRM_ENTRYPOINT(kirin)
108DEFINE_LOADER_DRM_ENTRYPOINT(mali_dp)
109DEFINE_LOADER_DRM_ENTRYPOINT(mcde)
110DEFINE_LOADER_DRM_ENTRYPOINT(mediatek)
111DEFINE_LOADER_DRM_ENTRYPOINT(meson)
112DEFINE_LOADER_DRM_ENTRYPOINT(mi0283qt)
113DEFINE_LOADER_DRM_ENTRYPOINT(mxsfb_drm)
114DEFINE_LOADER_DRM_ENTRYPOINT(pl111)
115DEFINE_LOADER_DRM_ENTRYPOINT(repaper)
116DEFINE_LOADER_DRM_ENTRYPOINT(rockchip)
117DEFINE_LOADER_DRM_ENTRYPOINT(st7586)
118DEFINE_LOADER_DRM_ENTRYPOINT(st7735r)
119DEFINE_LOADER_DRM_ENTRYPOINT(stm)
120DEFINE_LOADER_DRM_ENTRYPOINT(sun4i_drm)
121#endif
122
123#if defined(GALLIUM_LIMA)
124DEFINE_LOADER_DRM_ENTRYPOINT(lima)
125#endif
126
127#if defined(GALLIUM_ZINK) && !defined(__APPLE__)
128DEFINE_LOADER_DRM_ENTRYPOINT(zink);
129#endif
130
131#if defined(GALLIUM_D3D12)
132DEFINE_LOADER_DRM_ENTRYPOINT(d3d12);
133#endif
134