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