17ec681f3Smrg# Copyright © 2017-2019 Intel Corporation
201e04c3fSmrg
301e04c3fSmrg# Permission is hereby granted, free of charge, to any person obtaining a copy
401e04c3fSmrg# of this software and associated documentation files (the "Software"), to deal
501e04c3fSmrg# in the Software without restriction, including without limitation the rights
601e04c3fSmrg# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
701e04c3fSmrg# copies of the Software, and to permit persons to whom the Software is
801e04c3fSmrg# furnished to do so, subject to the following conditions:
901e04c3fSmrg
1001e04c3fSmrg# The above copyright notice and this permission notice shall be included in
1101e04c3fSmrg# all copies or substantial portions of the Software.
1201e04c3fSmrg
1301e04c3fSmrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1401e04c3fSmrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1501e04c3fSmrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1601e04c3fSmrg# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1701e04c3fSmrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1801e04c3fSmrg# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1901e04c3fSmrg# SOFTWARE.
2001e04c3fSmrg
2101e04c3fSmrgoption(
2201e04c3fSmrg  'platforms',
2301e04c3fSmrg  type : 'array',
2401e04c3fSmrg  value : ['auto'],
2501e04c3fSmrg  choices : [
267ec681f3Smrg    'auto', 'x11', 'wayland', 'haiku', 'android', 'windows',
2701e04c3fSmrg  ],
2801e04c3fSmrg  description : 'window systems to support. If this is set to `auto`, all platforms applicable will be enabled.'
2901e04c3fSmrg)
307ec681f3Smrgoption(
317ec681f3Smrg  'egl-native-platform',
327ec681f3Smrg  type : 'combo',
337ec681f3Smrg  value : 'auto',
347ec681f3Smrg  choices : [
357ec681f3Smrg    'auto', 'x11', 'wayland', 'haiku', 'android', 'windows',
367ec681f3Smrg    'surfaceless', 'drm',
377ec681f3Smrg  ],
387ec681f3Smrg  description : 'the window system EGL assumes for EGL_DEFAULT_DISPLAY',
397ec681f3Smrg)
407ec681f3Smrgoption(
417ec681f3Smrg  'android-stub',
427ec681f3Smrg  type : 'boolean',
437ec681f3Smrg  value : false,
447ec681f3Smrg  description : 'Build against android-stub',
457ec681f3Smrg)
467ec681f3Smrg
4701e04c3fSmrgoption(
4801e04c3fSmrg  'dri3',
4901e04c3fSmrg  type : 'combo',
5001e04c3fSmrg  value : 'auto',
517ec681f3Smrg  choices : ['auto', 'true', 'false', 'disabled', 'enabled'],
5201e04c3fSmrg  description : 'enable support for dri3'
5301e04c3fSmrg)
5401e04c3fSmrgoption(
5501e04c3fSmrg  'dri-drivers',
5601e04c3fSmrg  type : 'array',
5701e04c3fSmrg  value : ['auto'],
587ec681f3Smrg  choices : ['auto', 'i915', 'i965', 'r100', 'r200', 'nouveau'],
5901e04c3fSmrg  description : 'List of dri drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
6001e04c3fSmrg)
6101e04c3fSmrgoption(
6201e04c3fSmrg  'dri-drivers-path',
6301e04c3fSmrg  type : 'string',
6401e04c3fSmrg  value : '',
6501e04c3fSmrg  description : 'Location to install dri drivers. Default: $libdir/dri.'
6601e04c3fSmrg)
6701e04c3fSmrgoption(
6801e04c3fSmrg  'dri-search-path',
6901e04c3fSmrg  type : 'string',
7001e04c3fSmrg  value : '',
7101e04c3fSmrg  description : 'Locations to search for dri drivers, passed as colon separated list. Default: dri-drivers-path.'
7201e04c3fSmrg)
7301e04c3fSmrgoption(
7401e04c3fSmrg  'gallium-drivers',
7501e04c3fSmrg  type : 'array',
7601e04c3fSmrg  value : ['auto'],
7701e04c3fSmrg  choices : [
787ec681f3Smrg    'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
7953c12917Smaya    'swrast', 'v3d', 'vc4', 'etnaviv', 'tegra', 'i915', 'svga', 'virgl',
807ec681f3Smrg    'swr', 'panfrost', 'iris', 'lima', 'zink', 'd3d12', 'asahi', 'crocus'
8101e04c3fSmrg  ],
8201e04c3fSmrg  description : 'List of gallium drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
8301e04c3fSmrg)
8401e04c3fSmrgoption(
8501e04c3fSmrg  'gallium-extra-hud',
8601e04c3fSmrg  type : 'boolean',
8701e04c3fSmrg  value : false,
8801e04c3fSmrg  description : 'Enable HUD block/NIC I/O HUD status support',
8901e04c3fSmrg)
9001e04c3fSmrgoption(
9101e04c3fSmrg  'gallium-vdpau',
9201e04c3fSmrg  type : 'combo',
9301e04c3fSmrg  value : 'auto',
947ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
957ec681f3Smrg  description : 'enable gallium vdpau frontend.',
9601e04c3fSmrg)
9701e04c3fSmrgoption(
9801e04c3fSmrg  'vdpau-libs-path',
9901e04c3fSmrg  type : 'string',
10001e04c3fSmrg  value : '',
10101e04c3fSmrg  description : 'path to put vdpau libraries. defaults to $libdir/vdpau.'
10201e04c3fSmrg)
10301e04c3fSmrgoption(
10401e04c3fSmrg  'gallium-xvmc',
10501e04c3fSmrg  type : 'combo',
10601e04c3fSmrg  value : 'auto',
1077ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
1087ec681f3Smrg  description : 'enable gallium xvmc frontend.',
10901e04c3fSmrg)
11001e04c3fSmrgoption(
11101e04c3fSmrg  'xvmc-libs-path',
11201e04c3fSmrg  type : 'string',
11301e04c3fSmrg  value : '',
11401e04c3fSmrg  description : 'path to put xvmc libraries. defaults to $libdir.'
11501e04c3fSmrg)
11601e04c3fSmrgoption(
11701e04c3fSmrg  'gallium-omx',
11801e04c3fSmrg  type : 'combo',
11901e04c3fSmrg  value : 'auto',
12001e04c3fSmrg  choices : ['auto', 'disabled', 'bellagio', 'tizonia'],
1217ec681f3Smrg  description : 'enable gallium omx frontend.',
12201e04c3fSmrg)
12301e04c3fSmrgoption(
12401e04c3fSmrg  'omx-libs-path',
12501e04c3fSmrg  type : 'string',
12601e04c3fSmrg  value : '',
12701e04c3fSmrg  description : 'path to put omx libraries. defaults to omx-bellagio pkg-config pluginsdir.'
12801e04c3fSmrg)
12901e04c3fSmrgoption(
13001e04c3fSmrg  'gallium-va',
13101e04c3fSmrg  type : 'combo',
13201e04c3fSmrg  value : 'auto',
1337ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
1347ec681f3Smrg  description : 'enable gallium va frontend.',
13501e04c3fSmrg)
13601e04c3fSmrgoption(
13701e04c3fSmrg  'va-libs-path',
13801e04c3fSmrg  type : 'string',
13901e04c3fSmrg  value : '',
14001e04c3fSmrg  description : 'path to put va libraries. defaults to $libdir/dri.'
14101e04c3fSmrg)
14201e04c3fSmrgoption(
14301e04c3fSmrg  'gallium-xa',
14401e04c3fSmrg  type : 'combo',
14501e04c3fSmrg  value : 'auto',
1467ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
1477ec681f3Smrg  description : 'enable gallium xa frontend.',
14801e04c3fSmrg)
14901e04c3fSmrgoption(
15001e04c3fSmrg  'gallium-nine',
15101e04c3fSmrg  type : 'boolean',
15201e04c3fSmrg  value : false,
1537ec681f3Smrg  description : 'build gallium "nine" Direct3D 9.x frontend.',
1547ec681f3Smrg)
1557ec681f3Smrgoption(
1567ec681f3Smrg  'gallium-d3d10umd',
1577ec681f3Smrg  type : 'boolean',
1587ec681f3Smrg  value : false,
1597ec681f3Smrg  description : 'build gallium D3D10 WDDM UMD frontend.',
16001e04c3fSmrg)
16101e04c3fSmrgoption(
16201e04c3fSmrg  'gallium-opencl',
16301e04c3fSmrg  type : 'combo',
16401e04c3fSmrg  choices : ['icd', 'standalone', 'disabled'],
16501e04c3fSmrg  value : 'disabled',
1667ec681f3Smrg  description : 'build gallium "clover" OpenCL frontend.',
1677ec681f3Smrg)
1687ec681f3Smrgoption(
1697ec681f3Smrg  'opencl-spirv',
1707ec681f3Smrg  type : 'boolean',
1717ec681f3Smrg  value : false,
1727ec681f3Smrg  description : 'build gallium "clover" OpenCL frontend with SPIR-V binary support.',
1737ec681f3Smrg)
1747ec681f3Smrgoption(
1757ec681f3Smrg  'opencl-native',
1767ec681f3Smrg  type : 'boolean',
1777ec681f3Smrg  value : true,
1787ec681f3Smrg  description : 'build gallium "clover" OpenCL frontend with native LLVM codegen support.',
1797ec681f3Smrg)
1807ec681f3Smrgoption(
1817ec681f3Smrg  'static-libclc',
1827ec681f3Smrg  type : 'array',
1837ec681f3Smrg  value : [],
1847ec681f3Smrg  choices : ['spirv', 'spirv64', 'all'],
1857ec681f3Smrg  description : 'Link libclc SPIR-V statically.',
18601e04c3fSmrg)
18701e04c3fSmrgoption(
18801e04c3fSmrg  'd3d-drivers-path',
18901e04c3fSmrg  type : 'string',
19001e04c3fSmrg  value : '',
19101e04c3fSmrg  description : 'Location of D3D drivers. Default: $libdir/d3d',
19201e04c3fSmrg)
19301e04c3fSmrgoption(
19401e04c3fSmrg  'vulkan-drivers',
19501e04c3fSmrg  type : 'array',
19601e04c3fSmrg  value : ['auto'],
1977ec681f3Smrg  choices : ['auto', 'amd', 'broadcom', 'freedreno', 'intel', 'panfrost', 'swrast', 'virtio-experimental'],
19801e04c3fSmrg  description : 'List of vulkan drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
19901e04c3fSmrg)
2007ec681f3Smrgoption(
2017ec681f3Smrg  'freedreno-kgsl',
2027ec681f3Smrg  type : 'boolean',
2037ec681f3Smrg  value : false,
2047ec681f3Smrg  description : 'use kgsl backend for freedreno vulkan driver',
2057ec681f3Smrg)
20601e04c3fSmrgoption(
20701e04c3fSmrg  'shader-cache',
20853c12917Smaya  type : 'combo',
20953c12917Smaya  value : 'auto',
2107ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
2117ec681f3Smrg  description : 'Build with on-disk shader cache support.',
2127ec681f3Smrg)
2137ec681f3Smrgoption(
2147ec681f3Smrg  'shader-cache-default',
2157ec681f3Smrg  type : 'boolean',
2167ec681f3Smrg  value : true,
2177ec681f3Smrg  description : 'If set to false, the feature is only activated when environment variable MESA_GLSL_CACHE_DISABLE is set to false',
2187ec681f3Smrg)
2197ec681f3Smrgoption(
2207ec681f3Smrg  'shader-cache-max-size',
2217ec681f3Smrg  type : 'string',
2227ec681f3Smrg  value : '',
2237ec681f3Smrg  description : '''Default value for MESA_GLSL_CACHE_MAX_SIZE enviroment variable.
2247ec681f3Smrg   If set, determines the maximum size of the on-disk cache of compiled
2257ec681f3Smrg   GLSL programs, can be overriden by enviroment variable if needed. Should be set to a number optionally followed by
2267ec681f3Smrg   ``K``, ``M``, or ``G`` to specify a size in kilobytes, megabytes, or
2277ec681f3Smrg   gigabytes. By default, gigabytes will be assumed. And if unset, a
2287ec681f3Smrg   maximum size of 1GB will be used.'''
22901e04c3fSmrg)
23001e04c3fSmrgoption(
23101e04c3fSmrg  'vulkan-icd-dir',
23201e04c3fSmrg  type : 'string',
23301e04c3fSmrg  value : '',
23401e04c3fSmrg  description : 'Location relative to prefix to put vulkan icds on install. Default: $datadir/vulkan/icd.d'
23501e04c3fSmrg)
23653c12917Smayaoption(
2377ec681f3Smrg  'moltenvk-dir',
2387ec681f3Smrg  type : 'string',
2397ec681f3Smrg  value : '',
2407ec681f3Smrg  description : 'Location of the MoltenVk SDK. Default: '
2417ec681f3Smrg)
2427ec681f3Smrgoption(
2437ec681f3Smrg  'vulkan-layers',
2447ec681f3Smrg  type : 'array',
2457ec681f3Smrg  value : [],
2467ec681f3Smrg  choices : ['device-select', 'intel-nullhw', 'overlay'],
2477ec681f3Smrg  description : 'List of vulkan layers to build'
24853c12917Smaya)
24901e04c3fSmrgoption(
25001e04c3fSmrg  'shared-glapi',
2517ec681f3Smrg  type : 'combo',
2527ec681f3Smrg  value : 'auto',
2537ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
2547ec681f3Smrg  description : 'Whether to build a shared or static glapi. Defaults to false on Windows, true elsewhere'
25501e04c3fSmrg)
25601e04c3fSmrgoption(
25701e04c3fSmrg  'gles1',
25853c12917Smaya  type : 'combo',
25953c12917Smaya  value : 'auto',
2607ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
26101e04c3fSmrg  description : 'Build support for OpenGL ES 1.x'
26201e04c3fSmrg)
26301e04c3fSmrgoption(
26401e04c3fSmrg  'gles2',
26553c12917Smaya  type : 'combo',
26653c12917Smaya  value : 'auto',
2677ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
26801e04c3fSmrg  description : 'Build support for OpenGL ES 2.x and 3.x'
26901e04c3fSmrg)
27001e04c3fSmrgoption(
27101e04c3fSmrg  'opengl',
27201e04c3fSmrg  type : 'boolean',
27301e04c3fSmrg  value : true,
27401e04c3fSmrg  description : 'Build support for OpenGL (all versions)'
27501e04c3fSmrg)
27601e04c3fSmrgoption(
27701e04c3fSmrg  'gbm',
27801e04c3fSmrg  type : 'combo',
27901e04c3fSmrg  value : 'auto',
2807ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
28101e04c3fSmrg  description : 'Build support for gbm platform'
28201e04c3fSmrg)
2837ec681f3Smrgoption(
2847ec681f3Smrg  'gbm-backends-path',
2857ec681f3Smrg  type : 'string',
2867ec681f3Smrg  value : '',
2877ec681f3Smrg  description : 'Locations to search for gbm backends, passed as colon separated list. Default: $libdir/gbm.'
2887ec681f3Smrg)
28901e04c3fSmrgoption(
29001e04c3fSmrg  'glx',
29101e04c3fSmrg  type : 'combo',
29201e04c3fSmrg  value : 'auto',
29301e04c3fSmrg  choices : ['auto', 'disabled', 'dri', 'xlib', 'gallium-xlib'],
29401e04c3fSmrg  description : 'Build support for GLX platform'
29501e04c3fSmrg)
29601e04c3fSmrgoption(
29701e04c3fSmrg  'egl',
29801e04c3fSmrg  type : 'combo',
29901e04c3fSmrg  value : 'auto',
3007ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
30101e04c3fSmrg  description : 'Build support for EGL platform'
30201e04c3fSmrg)
30301e04c3fSmrgoption(
30401e04c3fSmrg  'glvnd',
30501e04c3fSmrg  type : 'boolean',
30601e04c3fSmrg  value : false,
30701e04c3fSmrg  description : 'Enable GLVND support.'
30801e04c3fSmrg)
30901e04c3fSmrgoption(
3107ec681f3Smrg  'microsoft-clc',
3117ec681f3Smrg  type : 'feature',
3127ec681f3Smrg  value : 'auto',
3137ec681f3Smrg  description : 'Build support for the Microsoft CLC to DXIL compiler'
3147ec681f3Smrg)
3157ec681f3Smrgoption(
3167ec681f3Smrg  'spirv-to-dxil',
31701e04c3fSmrg  type : 'boolean',
3187ec681f3Smrg  value : false,
3197ec681f3Smrg  description : 'Build support for the SPIR-V to DXIL library'
3207ec681f3Smrg)
3217ec681f3Smrgoption(
3227ec681f3Smrg  'glvnd-vendor-name',
3237ec681f3Smrg  type : 'string',
3247ec681f3Smrg  value : 'mesa',
3257ec681f3Smrg  description : 'Vendor name string to use for glvnd libraries'
32601e04c3fSmrg)
32701e04c3fSmrgoption(
32801e04c3fSmrg   'glx-read-only-text',
32901e04c3fSmrg   type : 'boolean',
33001e04c3fSmrg   value : false,
33101e04c3fSmrg   description : 'Disable writable .text section on x86 (decreases performance)'
33201e04c3fSmrg)
33301e04c3fSmrgoption(
33401e04c3fSmrg  'llvm',
33501e04c3fSmrg  type : 'combo',
33601e04c3fSmrg  value : 'auto',
3377ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
33801e04c3fSmrg  description : 'Build with LLVM support.'
33901e04c3fSmrg)
34001e04c3fSmrgoption(
34101e04c3fSmrg  'shared-llvm',
3427ec681f3Smrg  type : 'combo',
3437ec681f3Smrg  value : 'auto',
3447ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
3457ec681f3Smrg  description : 'Whether to link LLVM shared or statically.'
3467ec681f3Smrg)
3477ec681f3Smrgoption(
3487ec681f3Smrg  'draw-use-llvm',
34901e04c3fSmrg  type : 'boolean',
3507ec681f3Smrg  value : 'true',
3517ec681f3Smrg  description : 'Whether to use LLVM for the Gallium draw module, if LLVM is included.'
35201e04c3fSmrg)
35301e04c3fSmrgoption(
35401e04c3fSmrg  'valgrind',
35501e04c3fSmrg  type : 'combo',
35601e04c3fSmrg  value : 'auto',
3577ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
35801e04c3fSmrg  description : 'Build with valgrind support'
35901e04c3fSmrg)
36001e04c3fSmrgoption(
36101e04c3fSmrg  'libunwind',
36201e04c3fSmrg  type : 'combo',
36301e04c3fSmrg  value : 'auto',
3647ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
36501e04c3fSmrg  description : 'Use libunwind for stack-traces'
36601e04c3fSmrg)
36701e04c3fSmrgoption(
36801e04c3fSmrg  'lmsensors',
36901e04c3fSmrg  type : 'combo',
37001e04c3fSmrg  value : 'auto',
3717ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
37201e04c3fSmrg  description : 'Enable HUD lmsensors support.'
37301e04c3fSmrg)
37401e04c3fSmrgoption(
37501e04c3fSmrg  'build-tests',
37601e04c3fSmrg  type : 'boolean',
37701e04c3fSmrg  value : false,
3787ec681f3Smrg  description : 'Build unit tests. Currently this will build *all* unit tests except the ACO tests, which may build more than expected.'
3797ec681f3Smrg)
3807ec681f3Smrgoption(
3817ec681f3Smrg  'build-aco-tests',
3827ec681f3Smrg  type : 'boolean',
3837ec681f3Smrg  value : false,
3847ec681f3Smrg  description : 'Build ACO tests. These require RADV and glslang but not an AMD GPU.'
38501e04c3fSmrg)
38653c12917Smayaoption(
38753c12917Smaya  'install-intel-gpu-tests',
38853c12917Smaya  type : 'boolean',
38953c12917Smaya  value : false,
39053c12917Smaya  description : 'Build and install Intel unit tests which require the GPU.  This option is for developers and the Intel CI system only.'
39153c12917Smaya)
39201e04c3fSmrgoption(
39301e04c3fSmrg  'selinux',
39401e04c3fSmrg  type : 'boolean',
39501e04c3fSmrg  value : false,
3967ec681f3Smrg  description : 'Build an SELinux-aware Mesa.  This currently disables execmem support at runtime unless SELinux is configured with allow_execmem.'
3977ec681f3Smrg)
3987ec681f3Smrgoption(
3997ec681f3Smrg  'execmem',
4007ec681f3Smrg  type : 'boolean',
4017ec681f3Smrg  value : true,
4027ec681f3Smrg  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.'
40301e04c3fSmrg)
40401e04c3fSmrgoption(
40501e04c3fSmrg  'osmesa',
4067ec681f3Smrg  type : 'boolean',
4077ec681f3Smrg  value : false,
40801e04c3fSmrg  description : 'Build OSmesa.'
40901e04c3fSmrg)
41001e04c3fSmrgoption(
41101e04c3fSmrg  'osmesa-bits',
41201e04c3fSmrg  type : 'combo',
41301e04c3fSmrg  value : '8',
41401e04c3fSmrg  choices : ['8', '16', '32'],
41501e04c3fSmrg  description : 'Number of channel bits for OSMesa.'
41601e04c3fSmrg)
41701e04c3fSmrgoption(
41801e04c3fSmrg  'swr-arches',
41901e04c3fSmrg  type : 'array',
42001e04c3fSmrg  value : ['avx', 'avx2'],
42101e04c3fSmrg  choices : ['avx', 'avx2', 'knl', 'skx'],
42201e04c3fSmrg  description : 'Architectures to build SWR support for.',
42301e04c3fSmrg)
4247ec681f3Smrgoption(
4257ec681f3Smrg  'shared-swr',
4267ec681f3Smrg  type : 'boolean',
4277ec681f3Smrg  value : true,
4287ec681f3Smrg  description : 'Whether to link SWR shared or statically.',
4297ec681f3Smrg)
4307ec681f3Smrg
43101e04c3fSmrgoption(
43201e04c3fSmrg  'tools',
43301e04c3fSmrg  type : 'array',
43401e04c3fSmrg  value : [],
4357ec681f3Smrg  choices : ['drm-shim', 'etnaviv', 'freedreno', 'glsl', 'intel', 'intel-ui', 'nir', 'nouveau', 'xvmc', 'lima', 'panfrost', 'asahi', 'all'],
43601e04c3fSmrg  description : 'List of tools to build. (Note: `intel-ui` selects `intel`)',
43701e04c3fSmrg)
43801e04c3fSmrgoption(
43901e04c3fSmrg  'power8',
44001e04c3fSmrg  type : 'combo',
44101e04c3fSmrg  value : 'auto',
4427ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
44301e04c3fSmrg  description : 'Enable power8 optimizations.',
44401e04c3fSmrg)
44501e04c3fSmrgoption(
44601e04c3fSmrg  'xlib-lease',
44701e04c3fSmrg  type : 'combo',
44801e04c3fSmrg  value : 'auto',
4497ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
45001e04c3fSmrg  description : 'Enable VK_EXT_acquire_xlib_display.'
45101e04c3fSmrg)
45201e04c3fSmrgoption(
45301e04c3fSmrg  'glx-direct',
45401e04c3fSmrg  type : 'boolean',
45501e04c3fSmrg  value : true,
45601e04c3fSmrg  description : 'Enable direct rendering in GLX and EGL for DRI',
45701e04c3fSmrg)
45853c12917Smayaoption(
4597ec681f3Smrg  'prefer-iris',
4607ec681f3Smrg  type : 'boolean',
4617ec681f3Smrg  value : true,
4627ec681f3Smrg  description : 'Prefer new Intel iris driver over older i965 driver'
4637ec681f3Smrg)
4647ec681f3Smrgoption(
4657ec681f3Smrg  'prefer-crocus',
46653c12917Smaya  type : 'boolean',
46753c12917Smaya  value : false,
4687ec681f3Smrg  description : 'Prefer new crocus driver over older i965 driver for gen4-7'
46953c12917Smaya)
47053c12917Smayaoption('egl-lib-suffix',
47153c12917Smaya  type : 'string',
47253c12917Smaya  value : '',
47353c12917Smaya  description : 'Suffix to append to EGL library name.  Default: none.'
47453c12917Smaya)
47553c12917Smayaoption(
47653c12917Smaya  'gles-lib-suffix',
47753c12917Smaya  type : 'string',
47853c12917Smaya  value : '',
47953c12917Smaya  description : 'Suffix to append to GLES library names.  Default: none.'
48053c12917Smaya)
48153c12917Smayaoption(
48253c12917Smaya  'platform-sdk-version',
48353c12917Smaya  type : 'integer',
48453c12917Smaya  min : 25,
4857ec681f3Smrg  max : 31,
48653c12917Smaya  value : 25,
48753c12917Smaya  description : 'Android Platform SDK version. Default: Nougat version.'
48853c12917Smaya)
4897ec681f3Smrgoption(
4907ec681f3Smrg  'zstd',
4917ec681f3Smrg  type : 'combo',
4927ec681f3Smrg  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
4937ec681f3Smrg  value : 'auto',
4947ec681f3Smrg  description : 'Use ZSTD instead of ZLIB in some cases.'
4957ec681f3Smrg)
4967ec681f3Smrgoption(
4977ec681f3Smrg   'zlib',
4987ec681f3Smrg   type : 'feature',
4997ec681f3Smrg   value : 'enabled',
5007ec681f3Smrg   description : 'Use ZLIB to build driver. Default: enabled'
5017ec681f3Smrg)
5027ec681f3Smrgoption(
5037ec681f3Smrg  'sse2',
5047ec681f3Smrg  type : 'boolean',
5057ec681f3Smrg  value : true,
5067ec681f3Smrg  description : 'use msse2 flag for x86. Uses sse/sse2 instead of x87. Default: true',
5077ec681f3Smrg)
5087ec681f3Smrgoption(
5097ec681f3Smrg  'perfetto',
5107ec681f3Smrg  type : 'boolean',
5117ec681f3Smrg  value : false,
5127ec681f3Smrg  description : 'Enable performance analysis with Perfetto. Default: false'
5137ec681f3Smrg)
5147ec681f3Smrgoption(
5157ec681f3Smrg  'datasources',
5167ec681f3Smrg  type : 'array',
5177ec681f3Smrg  value : ['auto'],
5187ec681f3Smrg  choices : ['auto', 'panfrost', 'intel', 'freedreno'],
5197ec681f3Smrg  description: 'List of Perfetto datasources to build. If this is set to `auto`, datasources that can not be build are skipped. Default: [`auto`]'
5207ec681f3Smrg)
5217ec681f3Smrgoption(
5227ec681f3Smrg  'custom-shader-replacement',
5237ec681f3Smrg  type : 'string',
5247ec681f3Smrg  value : '',
5257ec681f3Smrg  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).'
5267ec681f3Smrg)
5277ec681f3Smrgoption(
5287ec681f3Smrg  'vmware-mks-stats',
5297ec681f3Smrg  type : 'boolean',
5307ec681f3Smrg  value : false,
5317ec681f3Smrg  description : 'Build gallium VMware/svga driver with mksGuestStats instrumentation.'
5327ec681f3Smrg)
533