• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include "util/detect_os.h"
2 
3 #include "target-helpers/drm_helper.h"
4 #include "target-helpers/sw_helper.h"
5 
6 #include "dri_screen.h"
7 
8 #define DEFINE_LOADER_DRM_ENTRYPOINT(drivername)                          \
9 const __DRIextension **__driDriverGetExtensions_##drivername(void);       \
10 PUBLIC const __DRIextension **__driDriverGetExtensions_##drivername(void) \
11 {                                                                         \
12    return galliumdrm_driver_extensions;                                   \
13 }
14 
15 #if defined(GALLIUM_SOFTPIPE)
16 
17 const __DRIextension **__driDriverGetExtensions_swrast(void);
18 
__driDriverGetExtensions_swrast(void)19 PUBLIC const __DRIextension **__driDriverGetExtensions_swrast(void)
20 {
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    return dri_swrast_kms_driver_extensions;
31 }
32 
33 #endif
34 #endif
35 
36 #if defined(GALLIUM_I915)
37 DEFINE_LOADER_DRM_ENTRYPOINT(i915)
38 #endif
39 
40 #if defined(GALLIUM_IRIS)
41 DEFINE_LOADER_DRM_ENTRYPOINT(iris)
42 #endif
43 
44 #if defined(GALLIUM_CROCUS)
45 DEFINE_LOADER_DRM_ENTRYPOINT(crocus)
46 #endif
47 
48 #if defined(GALLIUM_NOUVEAU)
49 DEFINE_LOADER_DRM_ENTRYPOINT(nouveau)
50 #endif
51 
52 #if defined(GALLIUM_R300)
53 DEFINE_LOADER_DRM_ENTRYPOINT(r300)
54 #endif
55 
56 #if defined(GALLIUM_R600)
57 DEFINE_LOADER_DRM_ENTRYPOINT(r600)
58 #endif
59 
60 #if defined(GALLIUM_RADEONSI)
61 DEFINE_LOADER_DRM_ENTRYPOINT(radeonsi)
62 #endif
63 
64 #if defined(GALLIUM_VMWGFX)
65 DEFINE_LOADER_DRM_ENTRYPOINT(vmwgfx)
66 #endif
67 
68 #if defined(GALLIUM_FREEDRENO)
69 DEFINE_LOADER_DRM_ENTRYPOINT(msm)
70 DEFINE_LOADER_DRM_ENTRYPOINT(kgsl)
71 #endif
72 
73 #if defined(GALLIUM_VIRGL) || (defined(GALLIUM_FREEDRENO) && !defined(PIPE_LOADER_DYNAMIC))
74 DEFINE_LOADER_DRM_ENTRYPOINT(virtio_gpu)
75 #endif
76 
77 #if defined(GALLIUM_V3D)
78 DEFINE_LOADER_DRM_ENTRYPOINT(v3d)
79 #endif
80 
81 #if defined(GALLIUM_VC4)
82 DEFINE_LOADER_DRM_ENTRYPOINT(vc4)
83 #endif
84 
85 #if defined(GALLIUM_PANFROST)
86 DEFINE_LOADER_DRM_ENTRYPOINT(panfrost)
87 #endif
88 
89 #if defined(GALLIUM_ASAHI)
90 DEFINE_LOADER_DRM_ENTRYPOINT(asahi)
91 #endif
92 
93 #if defined(GALLIUM_ETNAVIV)
94 DEFINE_LOADER_DRM_ENTRYPOINT(etnaviv)
95 #endif
96 
97 #if defined(GALLIUM_TEGRA)
98 DEFINE_LOADER_DRM_ENTRYPOINT(tegra);
99 #endif
100 
101 #if defined(GALLIUM_KMSRO)
102 DEFINE_LOADER_DRM_ENTRYPOINT(armada_drm)
103 DEFINE_LOADER_DRM_ENTRYPOINT(exynos)
104 DEFINE_LOADER_DRM_ENTRYPOINT(gm12u320)
105 DEFINE_LOADER_DRM_ENTRYPOINT(hdlcd)
106 DEFINE_LOADER_DRM_ENTRYPOINT(hx8357d)
107 DEFINE_LOADER_DRM_ENTRYPOINT(ili9163)
108 DEFINE_LOADER_DRM_ENTRYPOINT(ili9225)
109 DEFINE_LOADER_DRM_ENTRYPOINT(ili9341)
110 DEFINE_LOADER_DRM_ENTRYPOINT(ili9486)
111 DEFINE_LOADER_DRM_ENTRYPOINT(imx_drm)
112 DEFINE_LOADER_DRM_ENTRYPOINT(imx_dcss)
113 DEFINE_LOADER_DRM_ENTRYPOINT(imx_lcdif)
114 DEFINE_LOADER_DRM_ENTRYPOINT(ingenic_drm)
115 DEFINE_LOADER_DRM_ENTRYPOINT(kirin)
116 DEFINE_LOADER_DRM_ENTRYPOINT(komeda)
117 DEFINE_LOADER_DRM_ENTRYPOINT(mali_dp)
118 DEFINE_LOADER_DRM_ENTRYPOINT(mcde)
119 DEFINE_LOADER_DRM_ENTRYPOINT(mediatek)
120 DEFINE_LOADER_DRM_ENTRYPOINT(meson)
121 DEFINE_LOADER_DRM_ENTRYPOINT(mi0283qt)
122 DEFINE_LOADER_DRM_ENTRYPOINT(mxsfb_drm)
123 DEFINE_LOADER_DRM_ENTRYPOINT(panel_mipi_dbi)
124 DEFINE_LOADER_DRM_ENTRYPOINT(pl111)
125 DEFINE_LOADER_DRM_ENTRYPOINT(rcar_du)
126 DEFINE_LOADER_DRM_ENTRYPOINT(repaper)
127 DEFINE_LOADER_DRM_ENTRYPOINT(rockchip)
128 DEFINE_LOADER_DRM_ENTRYPOINT(rzg2l_du)
129 DEFINE_LOADER_DRM_ENTRYPOINT(ssd130x)
130 DEFINE_LOADER_DRM_ENTRYPOINT(st7586)
131 DEFINE_LOADER_DRM_ENTRYPOINT(st7735r)
132 DEFINE_LOADER_DRM_ENTRYPOINT(sti)
133 DEFINE_LOADER_DRM_ENTRYPOINT(stm)
134 DEFINE_LOADER_DRM_ENTRYPOINT(sun4i_drm)
135 DEFINE_LOADER_DRM_ENTRYPOINT(udl)
136 DEFINE_LOADER_DRM_ENTRYPOINT(zynqmp_dpsub)
137 #endif
138 
139 #if defined(GALLIUM_LIMA)
140 DEFINE_LOADER_DRM_ENTRYPOINT(lima)
141 #endif
142 
143 #if defined(GALLIUM_ZINK) && !defined(__APPLE__)
144 #if DETECT_OS_ANDROID
145 DEFINE_LOADER_DRM_ENTRYPOINT(zink);
146 #else
147 const __DRIextension **__driDriverGetExtensions_zink(void);
148 
149 PUBLIC const __DRIextension **__driDriverGetExtensions_zink(void)
150 {
151    return galliumvk_driver_extensions;
152 }
153 #endif
154 #endif
155 
156 #if defined(GALLIUM_D3D12)
157 DEFINE_LOADER_DRM_ENTRYPOINT(d3d12);
158 #endif
159