]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - package/mesa3d/Config.in
Merge branch 'next'
[coffee/buildroot.git] / package / mesa3d / Config.in
1 menuconfig BR2_PACKAGE_MESA3D
2         bool "mesa3d"
3         depends on BR2_INSTALL_LIBSTDCPP
4         depends on !BR2_STATIC_LIBS
5         depends on BR2_TOOLCHAIN_HAS_SYNC_1
6         depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
7         select BR2_PACKAGE_LIBDRM
8         select BR2_PACKAGE_EXPAT
9         select BR2_PACKAGE_HAS_LIBGL if BR2_PACKAGE_XORG7
10         select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7
11         select BR2_PACKAGE_XPROTO_GLPROTO if BR2_PACKAGE_XORG7
12         select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7
13         select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
14         select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
15         select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7
16         select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7
17         select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7
18         help
19           Mesa 3D, an open-source implementation of the OpenGL specification.
20
21           http://mesa3d.org
22
23 if BR2_PACKAGE_MESA3D
24
25 # inform the .mk file of gallium, dri or vulkan driver selection
26 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
27         bool
28         select BR2_PACKAGE_MESA3D_DRIVER
29
30 config BR2_PACKAGE_MESA3D_DRI_DRIVER
31         bool
32         select BR2_PACKAGE_MESA3D_DRIVER
33         select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XPROTO_DRI3PROTO
34         select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XPROTO_DRI3PROTO
35
36 config BR2_PACKAGE_MESA3D_VULKAN_DRIVER
37         bool
38         select BR2_PACKAGE_MESA3D_DRIVER
39
40 config BR2_PACKAGE_MESA3D_DRIVER
41         bool
42
43 config BR2_PACKAGE_MESA3D_NEEDS_XA
44         bool
45
46 comment "Gallium drivers"
47
48 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV
49         bool "Gallium Etnaviv driver"
50         depends on BR2_arm
51         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
52         select BR2_PACKAGE_LIBDRM_ETNAVIV
53         select BR2_PACKAGE_MESA3D_OPENGL_EGL
54         help
55           Mesa driver for Vivante GPUs.
56
57 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
58         bool "Gallium nouveau driver"
59         depends on BR2_i386 || BR2_x86_64
60         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
61         select BR2_PACKAGE_LIBDRM_NOUVEAU
62         select BR2_PACKAGE_MESA3D_NEEDS_XA
63         help
64           Supports all Nvidia GPUs.
65
66 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
67         bool "Gallium Radeon R600 driver"
68         depends on BR2_i386 || BR2_x86_64
69         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
70         select BR2_PACKAGE_LIBDRM_RADEON
71         select BR2_PACKAGE_MESA3D_NEEDS_XA
72         help
73           Driver for ATI/AMD Radeon R600/R700/HD5000/HD6000 GPUs.
74
75 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA
76         bool "Gallium vmware svga driver"
77         depends on BR2_i386 || BR2_x86_64
78         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
79         select BR2_PACKAGE_LIBDRM_VMWGFX
80         select BR2_PACKAGE_MESA3D_NEEDS_XA
81         help
82           This is a virtual GPU driver for VMWare virtual machines.
83
84 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
85         bool "Gallium swrast driver"
86         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
87         help
88           This is a software opengl implementation using the Gallium3D
89           infrastructure.
90
91 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4
92         bool "Gallium vc4 driver"
93         depends on BR2_arm
94         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
95         select BR2_PACKAGE_LIBDRM_VC4
96         select BR2_PACKAGE_MESA3D_NEEDS_XA
97         help
98           Driver for Broadcom VC4 (rpi2/3) GPUs.
99           It requires a vanilla 4.5+ kernel with drm vc4 (open) support.
100
101 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL
102         bool "Gallium virgl driver"
103         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
104         select BR2_PACKAGE_MESA3D_OPENGL_EGL
105         help
106           virgl is the 3D acceleration backend for the virtio-gpu
107           shipping with qemu.
108
109 comment "DRI drivers"
110
111 config BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
112         bool "DRI swrast driver"
113         select BR2_PACKAGE_MESA3D_DRI_DRIVER
114         help
115           This is a software opengl implementation using the DRI
116           infrastructure.
117
118 config BR2_PACKAGE_MESA3D_DRI_DRIVER_I915
119         bool "DRI i915 driver"
120         depends on BR2_i386 || BR2_x86_64
121         select BR2_PACKAGE_MESA3D_DRI_DRIVER
122         select BR2_PACKAGE_LIBDRM_INTEL
123         help
124           Support for i915-based Intel GPUs.
125
126 config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965
127         bool "DRI i965 driver"
128         depends on BR2_i386 || BR2_x86_64
129         select BR2_PACKAGE_MESA3D_DRI_DRIVER
130         select BR2_PACKAGE_LIBDRM_INTEL
131         help
132           Support for i965-based Intel GPUs.
133
134 config BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU
135         bool "DRI nouveau driver"
136         select BR2_PACKAGE_MESA3D_DRI_DRIVER
137         select BR2_PACKAGE_LIBDRM_NOUVEAU
138         help
139           Support for Nvidia-based GPUs.
140
141 config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON
142         bool "DRI radeon driver"
143         select BR2_PACKAGE_MESA3D_DRI_DRIVER
144         select BR2_PACKAGE_LIBDRM_RADEON
145         help
146           Legacy Radeon driver for R100 series GPUs.
147
148 comment "Vulkan drivers"
149
150 config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
151         bool "Vulkan Intel driver"
152         depends on BR2_i386 || BR2_x86_64
153         depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # memfd.h
154         depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert
155         depends on BR2_PACKAGE_XORG7 # xproto_dri3proto
156         select BR2_PACKAGE_MESA3D_DRI_DRIVER_I965
157         select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
158         select BR2_PACKAGE_XPROTO_DRI3PROTO
159         help
160           Vulkan driver for Intel hardware from Ivy Bridge onward.
161
162 comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >= 3.18"
163         depends on BR2_i386 || BR2_x86_64
164         depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 || \
165                 !BR2_TOOLCHAIN_USES_GLIBC || !BR2_PACKAGE_XORG7
166
167 comment "Off-screen Rendering"
168
169 config BR2_PACKAGE_MESA3D_OSMESA
170         bool "OSMesa library"
171         help
172           The OSMesa API provides functions for making off-screen renderings.
173
174 if BR2_PACKAGE_MESA3D_DRIVER
175
176 comment "Additional API Support"
177
178 config BR2_PACKAGE_MESA3D_OPENGL_EGL
179         bool "OpenGL EGL"
180         select BR2_PACKAGE_HAS_LIBEGL
181         select BR2_PACKAGE_HAS_LIBEGL_WAYLAND
182         help
183           Use the Khronos EGL APIs. EGL is a window manager for OpenGL applications
184           similar to GLX, for X, and WGL, for Windows.
185
186 config BR2_PACKAGE_MESA3D_OPENGL_ES
187         bool "OpenGL ES"
188         select BR2_PACKAGE_HAS_LIBGLES
189         help
190           Use the Khronos OpenGL ES APIs. This is commonly used on embedded
191           systems and represents a subset of the OpenGL API.
192
193 config BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT
194         bool "OpenGL texture float (patented format)"
195         help
196           GL_ARB_texture_float is required to enable GLX core profile
197           (OpenGL3.x) otherwise the compat profile is used
198           (OpenGL2.1).
199
200           The source code to implement ARB_texture_float extension is
201           included and can be toggled on at compile time, for those
202           who purchased a license from SGI, or are in a country where
203           the patent does not apply, etc.
204
205           Please consult docs/patents.txt with your lawyer before
206           building Mesa.
207
208           Also, note that this option doesn't affect all drivers. Some
209           drivers have support for texture float enabled
210           unconditionally.
211
212           If unsure, say N.
213
214           http://www.google.com/patents/about?id=mIIOAAAAEBAJ&dq=6650327
215
216 endif # BR2_PACKAGE_MESA3D_DRIVER
217
218 config BR2_PACKAGE_PROVIDES_LIBGL
219         default "mesa3d" if BR2_PACKAGE_XORG7
220
221 config BR2_PACKAGE_PROVIDES_LIBEGL
222         default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL
223
224 config BR2_PACKAGE_PROVIDES_LIBGLES
225         default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES
226
227 endif # BR2_PACKAGE_MESA3D
228
229 comment "mesa3d needs a toolchain w/ C++, NPTL, dynamic library"
230         depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
231                 BR2_STATIC_LIBS
232         depends on BR2_TOOLCHAIN_HAS_SYNC_1