microsoft: Add CLC frontend and kernel/compute support to DXIL converter
[platform/upstream/mesa.git] / meson_options.txt
1 # Copyright © 2017-2019 Intel Corporation
2
3 # Permission is hereby granted, free of charge, to any person obtaining a copy
4 # of this software and associated documentation files (the "Software"), to deal
5 # in the Software without restriction, including without limitation the rights
6 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 # copies of the Software, and to permit persons to whom the Software is
8 # furnished to do so, subject to the following conditions:
9
10 # The above copyright notice and this permission notice shall be included in
11 # all copies or substantial portions of the Software.
12
13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19 # SOFTWARE.
20
21 option(
22   'platforms',
23   type : 'array',
24   value : ['auto'],
25   choices : [
26     'auto', 'x11', 'wayland', 'drm', 'surfaceless', 'haiku', 'android',
27     'windows',
28   ],
29   description : 'window systems to support. If this is set to `auto`, all platforms applicable will be enabled.'
30 )
31 option(
32   'android-stub',
33   type : 'boolean',
34   value : false,
35   description : 'Build against android-stub',
36 )
37
38 option(
39   'dri3',
40   type : 'combo',
41   value : 'auto',
42   choices : ['auto', 'true', 'false', 'disabled', 'enabled'],
43   description : 'enable support for dri3'
44 )
45 option(
46   'dri-drivers',
47   type : 'array',
48   value : ['auto'],
49   choices : ['auto', 'i915', 'i965', 'r100', 'r200', 'nouveau', 'swrast'],
50   description : 'List of dri drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
51 )
52 option(
53   'dri-drivers-path',
54   type : 'string',
55   value : '',
56   description : 'Location to install dri drivers. Default: $libdir/dri.'
57 )
58 option(
59   'dri-search-path',
60   type : 'string',
61   value : '',
62   description : 'Locations to search for dri drivers, passed as colon separated list. Default: dri-drivers-path.'
63 )
64 option(
65   'gallium-drivers',
66   type : 'array',
67   value : ['auto'],
68   choices : [
69     'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
70     'swrast', 'v3d', 'vc4', 'etnaviv', 'tegra', 'i915', 'svga', 'virgl',
71     'swr', 'panfrost', 'iris', 'lima', 'zink', 'd3d12'
72   ],
73   description : 'List of gallium drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
74 )
75 option(
76   'gallium-extra-hud',
77   type : 'boolean',
78   value : false,
79   description : 'Enable HUD block/NIC I/O HUD status support',
80 )
81 option(
82   'gallium-vdpau',
83   type : 'combo',
84   value : 'auto',
85   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
86   description : 'enable gallium vdpau frontend.',
87 )
88 option(
89   'vdpau-libs-path',
90   type : 'string',
91   value : '',
92   description : 'path to put vdpau libraries. defaults to $libdir/vdpau.'
93 )
94 option(
95   'gallium-xvmc',
96   type : 'combo',
97   value : 'auto',
98   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
99   description : 'enable gallium xvmc frontend.',
100 )
101 option(
102   'xvmc-libs-path',
103   type : 'string',
104   value : '',
105   description : 'path to put xvmc libraries. defaults to $libdir.'
106 )
107 option(
108   'gallium-omx',
109   type : 'combo',
110   value : 'auto',
111   choices : ['auto', 'disabled', 'bellagio', 'tizonia'],
112   description : 'enable gallium omx frontend.',
113 )
114 option(
115   'omx-libs-path',
116   type : 'string',
117   value : '',
118   description : 'path to put omx libraries. defaults to omx-bellagio pkg-config pluginsdir.'
119 )
120 option(
121   'gallium-va',
122   type : 'combo',
123   value : 'auto',
124   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
125   description : 'enable gallium va frontend.',
126 )
127 option(
128   'va-libs-path',
129   type : 'string',
130   value : '',
131   description : 'path to put va libraries. defaults to $libdir/dri.'
132 )
133 option(
134   'gallium-xa',
135   type : 'combo',
136   value : 'auto',
137   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
138   description : 'enable gallium xa frontend.',
139 )
140 option(
141   'gallium-nine',
142   type : 'boolean',
143   value : false,
144   description : 'build gallium "nine" Direct3D 9.x frontend.',
145 )
146 option(
147   'gallium-opencl',
148   type : 'combo',
149   choices : ['icd', 'standalone', 'disabled'],
150   value : 'disabled',
151   description : 'build gallium "clover" OpenCL frontend.',
152 )
153 option(
154   'opencl-spirv',
155   type : 'boolean',
156   value : false,
157   description : 'build gallium "clover" OpenCL frontend with SPIR-V binary support.',
158 )
159 option(
160   'static-libclc',
161   type : 'array',
162   value : [],
163   choices : ['spirv', 'spirv64', 'all'],
164   description : 'Link libclc SPIR-V statically.',
165 )
166 option(
167   'd3d-drivers-path',
168   type : 'string',
169   value : '',
170   description : 'Location of D3D drivers. Default: $libdir/d3d',
171 )
172 option(
173   'vulkan-drivers',
174   type : 'array',
175   value : ['auto'],
176   choices : ['auto', 'amd', 'broadcom', 'freedreno', 'intel', 'swrast'],
177   description : 'List of vulkan drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
178 )
179 option(
180   'freedreno-kgsl',
181   type : 'boolean',
182   value : false,
183   description : 'use kgsl backend for freedreno vulkan driver',
184 )
185 option(
186   'shader-cache',
187   type : 'combo',
188   value : 'auto',
189   choices : ['auto', 'true', 'false', 'enabled', 'disabled', 'default-disabled'],
190   description : 'Build with on-disk shader cache support. If set to default-disabled, the feature is only activated when environment variable MESA_GLSL_CACHE_DISABLE is set to false'
191 )
192 option(
193   'vulkan-icd-dir',
194   type : 'string',
195   value : '',
196   description : 'Location relative to prefix to put vulkan icds on install. Default: $datadir/vulkan/icd.d'
197 )
198 option(
199   'vulkan-overlay-layer',
200   type : 'boolean',
201   value : false,
202   description : 'Whether to build the vulkan overlay layer'
203 )
204 option(
205   'vulkan-device-select-layer',
206   type : 'boolean',
207   value : false,
208   description : 'Whether to build the vulkan device select layer'
209 )
210 option(
211   'shared-glapi',
212   type : 'combo',
213   value : 'auto',
214   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
215   description : 'Whether to build a shared or static glapi. Defaults to false on Windows, true elsewhere'
216 )
217 option(
218   'gles1',
219   type : 'combo',
220   value : 'auto',
221   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
222   description : 'Build support for OpenGL ES 1.x'
223 )
224 option(
225   'gles2',
226   type : 'combo',
227   value : 'auto',
228   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
229   description : 'Build support for OpenGL ES 2.x and 3.x'
230 )
231 option(
232   'opengl',
233   type : 'boolean',
234   value : true,
235   description : 'Build support for OpenGL (all versions)'
236 )
237 option(
238   'gbm',
239   type : 'combo',
240   value : 'auto',
241   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
242   description : 'Build support for gbm platform'
243 )
244 option(
245   'glx',
246   type : 'combo',
247   value : 'auto',
248   choices : ['auto', 'disabled', 'dri', 'xlib', 'gallium-xlib'],
249   description : 'Build support for GLX platform'
250 )
251 option(
252   'egl',
253   type : 'combo',
254   value : 'auto',
255   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
256   description : 'Build support for EGL platform'
257 )
258 option(
259   'glvnd',
260   type : 'boolean',
261   value : false,
262   description : 'Enable GLVND support.'
263 )
264 option(
265   'microsoft-clc',
266   type : 'combo',
267   value : 'auto',
268   choices : ['auto', 'true', 'false'],
269   description : 'Build support for the Microsoft CLC to DXIL compiler'
270 )
271 option(
272    'glx-read-only-text',
273    type : 'boolean',
274    value : false,
275    description : 'Disable writable .text section on x86 (decreases performance)'
276 )
277 option(
278   'llvm',
279   type : 'combo',
280   value : 'auto',
281   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
282   description : 'Build with LLVM support.'
283 )
284 option(
285   'shared-llvm',
286   type : 'combo',
287   value : 'auto',
288   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
289   description : 'Whether to link LLVM shared or statically.'
290 )
291 option(
292   'valgrind',
293   type : 'combo',
294   value : 'auto',
295   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
296   description : 'Build with valgrind support'
297 )
298 option(
299   'libunwind',
300   type : 'combo',
301   value : 'auto',
302   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
303   description : 'Use libunwind for stack-traces'
304 )
305 option(
306   'lmsensors',
307   type : 'combo',
308   value : 'auto',
309   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
310   description : 'Enable HUD lmsensors support.'
311 )
312 option(
313   'build-tests',
314   type : 'boolean',
315   value : false,
316   description : 'Build unit tests. Currently this will build *all* unit tests except the ACO tests, which may build more than expected.'
317 )
318 option(
319   'build-aco-tests',
320   type : 'boolean',
321   value : false,
322   description : 'Build ACO tests. These require RADV and glslang but not an AMD GPU.'
323 )
324 option(
325   'install-intel-gpu-tests',
326   type : 'boolean',
327   value : false,
328   description : 'Build and install Intel unit tests which require the GPU.  This option is for developers and the Intel CI system only.'
329 )
330 option(
331   'selinux',
332   type : 'boolean',
333   value : false,
334   description : 'Build an SELinux-aware Mesa'
335 )
336 option(
337   'osmesa',
338   type : 'combo',
339   value : 'none',
340   choices : ['none', 'classic', 'gallium'],
341   description : 'Build OSmesa.'
342 )
343 option(
344   'osmesa-bits',
345   type : 'combo',
346   value : '8',
347   choices : ['8', '16', '32'],
348   description : 'Number of channel bits for OSMesa.'
349 )
350 option(
351   'swr-arches',
352   type : 'array',
353   value : ['avx', 'avx2'],
354   choices : ['avx', 'avx2', 'knl', 'skx'],
355   description : 'Architectures to build SWR support for.',
356 )
357 option(
358   'shared-swr',
359   type : 'boolean',
360   value : true,
361   description : 'Whether to link SWR shared or statically.',
362 )
363
364 option(
365   'tools',
366   type : 'array',
367   value : [],
368   choices : ['drm-shim', 'etnaviv', 'freedreno', 'glsl', 'intel', 'intel-ui', 'nir', 'nouveau', 'xvmc', 'lima', 'panfrost', 'all'],
369   description : 'List of tools to build. (Note: `intel-ui` selects `intel`)',
370 )
371 option(
372   'power8',
373   type : 'combo',
374   value : 'auto',
375   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
376   description : 'Enable power8 optimizations.',
377 )
378 option(
379   'xlib-lease',
380   type : 'combo',
381   value : 'auto',
382   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
383   description : 'Enable VK_EXT_acquire_xlib_display.'
384 )
385 option(
386   'glx-direct',
387   type : 'boolean',
388   value : true,
389   description : 'Enable direct rendering in GLX and EGL for DRI',
390 )
391 option(
392   'prefer-iris',
393   type : 'boolean',
394   value : true,
395   description : 'Prefer new Intel iris driver over older i965 driver'
396 )
397 option('egl-lib-suffix',
398   type : 'string',
399   value : '',
400   description : 'Suffix to append to EGL library name.  Default: none.'
401 )
402 option(
403   'gles-lib-suffix',
404   type : 'string',
405   value : '',
406   description : 'Suffix to append to GLES library names.  Default: none.'
407 )
408 option(
409   'platform-sdk-version',
410   type : 'integer',
411   min : 25,
412   max : 28,
413   value : 25,
414   description : 'Android Platform SDK version. Default: Nougat version.'
415 )
416 option(
417   'zstd',
418   type : 'combo',
419   choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
420   value : 'auto',
421   description : 'Use ZSTD instead of ZLIB in some cases.'
422 )