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_NOUVEAU)
46DEFINE_LOADER_DRM_ENTRYPOINT(nouveau)
47#endif
48
49#if defined(GALLIUM_R300)
50DEFINE_LOADER_DRM_ENTRYPOINT(r300)
51#endif
52
53#if defined(GALLIUM_R600)
54DEFINE_LOADER_DRM_ENTRYPOINT(r600)
55#endif
56
57#if defined(GALLIUM_RADEONSI)
58DEFINE_LOADER_DRM_ENTRYPOINT(radeonsi)
59#endif
60
61#if defined(GALLIUM_VMWGFX)
62DEFINE_LOADER_DRM_ENTRYPOINT(vmwgfx)
63#endif
64
65#if defined(GALLIUM_FREEDRENO)
66DEFINE_LOADER_DRM_ENTRYPOINT(msm)
67DEFINE_LOADER_DRM_ENTRYPOINT(kgsl)
68#endif
69
70#if defined(GALLIUM_VIRGL)
71DEFINE_LOADER_DRM_ENTRYPOINT(virtio_gpu)
72#endif
73
74#if defined(GALLIUM_V3D)
75DEFINE_LOADER_DRM_ENTRYPOINT(v3d)
76#endif
77
78#if defined(GALLIUM_VC4)
79DEFINE_LOADER_DRM_ENTRYPOINT(vc4)
80#endif
81
82#if defined(GALLIUM_PANFROST)
83DEFINE_LOADER_DRM_ENTRYPOINT(panfrost)
84#endif
85
86#if defined(GALLIUM_ETNAVIV)
87DEFINE_LOADER_DRM_ENTRYPOINT(armada_drm)
88DEFINE_LOADER_DRM_ENTRYPOINT(imx_drm)
89DEFINE_LOADER_DRM_ENTRYPOINT(etnaviv)
90#endif
91
92#if defined(GALLIUM_TEGRA)
93DEFINE_LOADER_DRM_ENTRYPOINT(tegra);
94#endif
95
96#if defined(GALLIUM_KMSRO)
97DEFINE_LOADER_DRM_ENTRYPOINT(exynos)
98DEFINE_LOADER_DRM_ENTRYPOINT(hx8357d)
99DEFINE_LOADER_DRM_ENTRYPOINT(ili9225)
100DEFINE_LOADER_DRM_ENTRYPOINT(ili9341)
101DEFINE_LOADER_DRM_ENTRYPOINT(meson)
102DEFINE_LOADER_DRM_ENTRYPOINT(mi0283qt)
103DEFINE_LOADER_DRM_ENTRYPOINT(pl111)
104DEFINE_LOADER_DRM_ENTRYPOINT(repaper)
105DEFINE_LOADER_DRM_ENTRYPOINT(rockchip)
106DEFINE_LOADER_DRM_ENTRYPOINT(st7586)
107DEFINE_LOADER_DRM_ENTRYPOINT(st7735r)
108DEFINE_LOADER_DRM_ENTRYPOINT(sun4i_drm)
109#endif
110
111#if defined(GALLIUM_LIMA)
112DEFINE_LOADER_DRM_ENTRYPOINT(lima)
113#endif
114