Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/meson_options.txt
4538 views
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', 'haiku', 'android', 'windows',
27
],
28
description : 'window systems to support. If this is set to `auto`, all platforms applicable will be enabled.'
29
)
30
option(
31
'egl-native-platform',
32
type : 'combo',
33
value : 'auto',
34
choices : [
35
'auto', 'x11', 'wayland', 'haiku', 'android', 'windows',
36
'surfaceless', 'drm',
37
],
38
description : 'the window system EGL assumes for EGL_DEFAULT_DISPLAY',
39
)
40
option(
41
'android-stub',
42
type : 'boolean',
43
value : false,
44
description : 'Build against android-stub',
45
)
46
47
option(
48
'dri3',
49
type : 'combo',
50
value : 'auto',
51
choices : ['auto', 'true', 'false', 'disabled', 'enabled'],
52
description : 'enable support for dri3'
53
)
54
option(
55
'dri-drivers',
56
type : 'array',
57
value : ['auto'],
58
choices : ['auto', 'i915', 'i965', 'r100', 'r200', 'nouveau'],
59
description : 'List of dri drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
60
)
61
option(
62
'dri-drivers-path',
63
type : 'string',
64
value : '',
65
description : 'Location to install dri drivers. Default: $libdir/dri.'
66
)
67
option(
68
'dri-search-path',
69
type : 'string',
70
value : '',
71
description : 'Locations to search for dri drivers, passed as colon separated list. Default: dri-drivers-path.'
72
)
73
option(
74
'gallium-drivers',
75
type : 'array',
76
value : ['auto'],
77
choices : [
78
'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
79
'swrast', 'v3d', 'vc4', 'etnaviv', 'tegra', 'i915', 'svga', 'virgl',
80
'swr', 'panfrost', 'iris', 'lima', 'zink', 'd3d12', 'asahi', 'crocus'
81
],
82
description : 'List of gallium drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
83
)
84
option(
85
'gallium-extra-hud',
86
type : 'boolean',
87
value : false,
88
description : 'Enable HUD block/NIC I/O HUD status support',
89
)
90
option(
91
'gallium-vdpau',
92
type : 'combo',
93
value : 'auto',
94
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
95
description : 'enable gallium vdpau frontend.',
96
)
97
option(
98
'vdpau-libs-path',
99
type : 'string',
100
value : '',
101
description : 'path to put vdpau libraries. defaults to $libdir/vdpau.'
102
)
103
option(
104
'gallium-xvmc',
105
type : 'combo',
106
value : 'auto',
107
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
108
description : 'enable gallium xvmc frontend.',
109
)
110
option(
111
'xvmc-libs-path',
112
type : 'string',
113
value : '',
114
description : 'path to put xvmc libraries. defaults to $libdir.'
115
)
116
option(
117
'gallium-omx',
118
type : 'combo',
119
value : 'auto',
120
choices : ['auto', 'disabled', 'bellagio', 'tizonia'],
121
description : 'enable gallium omx frontend.',
122
)
123
option(
124
'omx-libs-path',
125
type : 'string',
126
value : '',
127
description : 'path to put omx libraries. defaults to omx-bellagio pkg-config pluginsdir.'
128
)
129
option(
130
'gallium-va',
131
type : 'combo',
132
value : 'auto',
133
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
134
description : 'enable gallium va frontend.',
135
)
136
option(
137
'va-libs-path',
138
type : 'string',
139
value : '',
140
description : 'path to put va libraries. defaults to $libdir/dri.'
141
)
142
option(
143
'gallium-xa',
144
type : 'combo',
145
value : 'auto',
146
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
147
description : 'enable gallium xa frontend.',
148
)
149
option(
150
'gallium-nine',
151
type : 'boolean',
152
value : false,
153
description : 'build gallium "nine" Direct3D 9.x frontend.',
154
)
155
option(
156
'gallium-d3d10umd',
157
type : 'boolean',
158
value : false,
159
description : 'build gallium D3D10 WDDM UMD frontend.',
160
)
161
option(
162
'gallium-opencl',
163
type : 'combo',
164
choices : ['icd', 'standalone', 'disabled'],
165
value : 'disabled',
166
description : 'build gallium "clover" OpenCL frontend.',
167
)
168
option(
169
'opencl-spirv',
170
type : 'boolean',
171
value : false,
172
description : 'build gallium "clover" OpenCL frontend with SPIR-V binary support.',
173
)
174
option(
175
'opencl-native',
176
type : 'boolean',
177
value : true,
178
description : 'build gallium "clover" OpenCL frontend with native LLVM codegen support.',
179
)
180
option(
181
'static-libclc',
182
type : 'array',
183
value : [],
184
choices : ['spirv', 'spirv64', 'all'],
185
description : 'Link libclc SPIR-V statically.',
186
)
187
option(
188
'd3d-drivers-path',
189
type : 'string',
190
value : '',
191
description : 'Location of D3D drivers. Default: $libdir/d3d',
192
)
193
option(
194
'vulkan-drivers',
195
type : 'array',
196
value : ['auto'],
197
choices : ['auto', 'amd', 'broadcom', 'freedreno', 'intel', 'panfrost', 'swrast', 'virtio-experimental'],
198
description : 'List of vulkan drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
199
)
200
option(
201
'freedreno-kgsl',
202
type : 'boolean',
203
value : false,
204
description : 'use kgsl backend for freedreno vulkan driver',
205
)
206
option(
207
'shader-cache',
208
type : 'combo',
209
value : 'auto',
210
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
211
description : 'Build with on-disk shader cache support.',
212
)
213
option(
214
'shader-cache-default',
215
type : 'boolean',
216
value : true,
217
description : 'If set to false, the feature is only activated when environment variable MESA_GLSL_CACHE_DISABLE is set to false',
218
)
219
option(
220
'shader-cache-max-size',
221
type : 'string',
222
value : '',
223
description : '''Default value for MESA_GLSL_CACHE_MAX_SIZE enviroment variable.
224
If set, determines the maximum size of the on-disk cache of compiled
225
GLSL programs, can be overriden by enviroment variable if needed. Should be set to a number optionally followed by
226
``K``, ``M``, or ``G`` to specify a size in kilobytes, megabytes, or
227
gigabytes. By default, gigabytes will be assumed. And if unset, a
228
maximum size of 1GB will be used.'''
229
)
230
option(
231
'vulkan-icd-dir',
232
type : 'string',
233
value : '',
234
description : 'Location relative to prefix to put vulkan icds on install. Default: $datadir/vulkan/icd.d'
235
)
236
option(
237
'moltenvk-dir',
238
type : 'string',
239
value : '',
240
description : 'Location of the MoltenVk SDK. Default: '
241
)
242
option(
243
'vulkan-layers',
244
type : 'array',
245
value : [],
246
choices : ['device-select', 'intel-nullhw', 'overlay'],
247
description : 'List of vulkan layers to build'
248
)
249
option(
250
'shared-glapi',
251
type : 'combo',
252
value : 'auto',
253
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
254
description : 'Whether to build a shared or static glapi. Defaults to false on Windows, true elsewhere'
255
)
256
option(
257
'gles1',
258
type : 'combo',
259
value : 'auto',
260
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
261
description : 'Build support for OpenGL ES 1.x'
262
)
263
option(
264
'gles2',
265
type : 'combo',
266
value : 'auto',
267
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
268
description : 'Build support for OpenGL ES 2.x and 3.x'
269
)
270
option(
271
'opengl',
272
type : 'boolean',
273
value : true,
274
description : 'Build support for OpenGL (all versions)'
275
)
276
option(
277
'gbm',
278
type : 'combo',
279
value : 'auto',
280
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
281
description : 'Build support for gbm platform'
282
)
283
option(
284
'gbm-backends-path',
285
type : 'string',
286
value : '',
287
description : 'Locations to search for gbm backends, passed as colon separated list. Default: $libdir/gbm.'
288
)
289
option(
290
'glx',
291
type : 'combo',
292
value : 'auto',
293
choices : ['auto', 'disabled', 'dri', 'xlib', 'gallium-xlib'],
294
description : 'Build support for GLX platform'
295
)
296
option(
297
'egl',
298
type : 'combo',
299
value : 'auto',
300
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
301
description : 'Build support for EGL platform'
302
)
303
option(
304
'glvnd',
305
type : 'boolean',
306
value : false,
307
description : 'Enable GLVND support.'
308
)
309
option(
310
'microsoft-clc',
311
type : 'feature',
312
value : 'auto',
313
description : 'Build support for the Microsoft CLC to DXIL compiler'
314
)
315
option(
316
'spirv-to-dxil',
317
type : 'boolean',
318
value : false,
319
description : 'Build support for the SPIR-V to DXIL library'
320
)
321
option(
322
'glvnd-vendor-name',
323
type : 'string',
324
value : 'mesa',
325
description : 'Vendor name string to use for glvnd libraries'
326
)
327
option(
328
'glx-read-only-text',
329
type : 'boolean',
330
value : false,
331
description : 'Disable writable .text section on x86 (decreases performance)'
332
)
333
option(
334
'llvm',
335
type : 'combo',
336
value : 'auto',
337
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
338
description : 'Build with LLVM support.'
339
)
340
option(
341
'shared-llvm',
342
type : 'combo',
343
value : 'auto',
344
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
345
description : 'Whether to link LLVM shared or statically.'
346
)
347
option(
348
'draw-use-llvm',
349
type : 'boolean',
350
value : 'true',
351
description : 'Whether to use LLVM for the Gallium draw module, if LLVM is included.'
352
)
353
option(
354
'valgrind',
355
type : 'combo',
356
value : 'auto',
357
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
358
description : 'Build with valgrind support'
359
)
360
option(
361
'libunwind',
362
type : 'combo',
363
value : 'auto',
364
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
365
description : 'Use libunwind for stack-traces'
366
)
367
option(
368
'lmsensors',
369
type : 'combo',
370
value : 'auto',
371
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
372
description : 'Enable HUD lmsensors support.'
373
)
374
option(
375
'build-tests',
376
type : 'boolean',
377
value : false,
378
description : 'Build unit tests. Currently this will build *all* unit tests except the ACO tests, which may build more than expected.'
379
)
380
option(
381
'build-aco-tests',
382
type : 'boolean',
383
value : false,
384
description : 'Build ACO tests. These require RADV and glslang but not an AMD GPU.'
385
)
386
option(
387
'install-intel-gpu-tests',
388
type : 'boolean',
389
value : false,
390
description : 'Build and install Intel unit tests which require the GPU. This option is for developers and the Intel CI system only.'
391
)
392
option(
393
'selinux',
394
type : 'boolean',
395
value : false,
396
description : 'Build an SELinux-aware Mesa. This currently disables execmem support at runtime unless SELinux is configured with allow_execmem.'
397
)
398
option(
399
'execmem',
400
type : 'boolean',
401
value : true,
402
description : 'Enable execmem support. Without execmem, glapi will fail to generate dynamic glapi stubs when entrypoints unknown to glapi but known to DRI drivers are requested in eglGetProcAddress or glXGetProcAddress. This should be enabled unless the platform can guarantee glapi and DRI drivers are always built from the same source tree.'
403
)
404
option(
405
'osmesa',
406
type : 'boolean',
407
value : false,
408
description : 'Build OSmesa.'
409
)
410
option(
411
'osmesa-bits',
412
type : 'combo',
413
value : '8',
414
choices : ['8', '16', '32'],
415
description : 'Number of channel bits for OSMesa.'
416
)
417
option(
418
'swr-arches',
419
type : 'array',
420
value : ['avx', 'avx2'],
421
choices : ['avx', 'avx2', 'knl', 'skx'],
422
description : 'Architectures to build SWR support for.',
423
)
424
option(
425
'shared-swr',
426
type : 'boolean',
427
value : true,
428
description : 'Whether to link SWR shared or statically.',
429
)
430
431
option(
432
'tools',
433
type : 'array',
434
value : [],
435
choices : ['drm-shim', 'etnaviv', 'freedreno', 'glsl', 'intel', 'intel-ui', 'nir', 'nouveau', 'xvmc', 'lima', 'panfrost', 'asahi', 'all'],
436
description : 'List of tools to build. (Note: `intel-ui` selects `intel`)',
437
)
438
option(
439
'power8',
440
type : 'combo',
441
value : 'auto',
442
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
443
description : 'Enable power8 optimizations.',
444
)
445
option(
446
'xlib-lease',
447
type : 'combo',
448
value : 'auto',
449
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
450
description : 'Enable VK_EXT_acquire_xlib_display.'
451
)
452
option(
453
'glx-direct',
454
type : 'boolean',
455
value : true,
456
description : 'Enable direct rendering in GLX and EGL for DRI',
457
)
458
option(
459
'prefer-iris',
460
type : 'boolean',
461
value : true,
462
description : 'Prefer new Intel iris driver over older i965 driver'
463
)
464
option(
465
'prefer-crocus',
466
type : 'boolean',
467
value : false,
468
description : 'Prefer new crocus driver over older i965 driver for gen4-7'
469
)
470
option('egl-lib-suffix',
471
type : 'string',
472
value : '',
473
description : 'Suffix to append to EGL library name. Default: none.'
474
)
475
option(
476
'gles-lib-suffix',
477
type : 'string',
478
value : '',
479
description : 'Suffix to append to GLES library names. Default: none.'
480
)
481
option(
482
'platform-sdk-version',
483
type : 'integer',
484
min : 24,
485
max : 30,
486
value : 25,
487
description : 'Android Platform SDK version. Default: Nougat version.'
488
)
489
option(
490
'zstd',
491
type : 'combo',
492
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
493
value : 'auto',
494
description : 'Use ZSTD instead of ZLIB in some cases.'
495
)
496
option(
497
'zlib',
498
type : 'feature',
499
value : 'enabled',
500
description : 'Use ZLIB to build driver. Default: enabled'
501
)
502
option(
503
'sse2',
504
type : 'boolean',
505
value : true,
506
description : 'use msse2 flag for x86. Uses sse/sse2 instead of x87. Default: true',
507
)
508
option(
509
'perfetto',
510
type : 'boolean',
511
value : false,
512
description : 'Enable performance analysis with Perfetto. Default: false'
513
)
514
option(
515
'datasources',
516
type : 'array',
517
value : ['auto'],
518
choices : ['auto', 'panfrost', 'intel', 'freedreno'],
519
description: 'List of Perfetto datasources to build. If this is set to `auto`, datasources that can not be build are skipped. Default: [`auto`]'
520
)
521
option(
522
'custom-shader-replacement',
523
type : 'string',
524
value : '',
525
description : 'Enable a custom shader replacement mechanism. Note that enabling this option requires adding/generating a shader_replacement.h file that can be included (see shaderapi.c).'
526
)
527
528