1 # Copyright © 2017-2019 Intel Corporation
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:
10 # The above copyright notice and this permission notice shall be included in
11 # all copies or substantial portions of the Software.
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
26 'auto', 'x11', 'wayland', 'haiku', 'android', 'windows',
28 description : 'window systems to support. If this is set to `auto`, all platforms applicable will be enabled.'
31 'egl-native-platform',
35 'auto', 'x11', 'wayland', 'haiku', 'android', 'windows',
38 description : 'the window system EGL assumes for EGL_DEFAULT_DISPLAY',
44 description : 'Build against android-stub',
51 choices : ['auto', 'true', 'false', 'disabled', 'enabled'],
52 description : 'enable support for dri3'
57 description : 'DEPRECATED: List of dri drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
63 description : 'Location to install dri drivers. Default: $libdir/dri.'
69 description : 'Locations to search for dri drivers, passed as colon separated list. Default: dri-drivers-path.'
76 'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
77 'swrast', 'v3d', 'vc4', 'etnaviv', 'tegra', 'i915', 'svga', 'virgl',
78 'panfrost', 'iris', 'lima', 'zink', 'd3d12', 'asahi', 'crocus'
80 description : 'List of gallium drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
86 description : 'Enable HUD block/NIC I/O HUD status support',
92 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
93 description : 'enable gallium vdpau frontend.',
99 description : 'path to put vdpau libraries. defaults to $libdir/vdpau.'
105 choices : ['auto', 'disabled', 'bellagio', 'tizonia'],
106 description : 'enable gallium omx frontend.',
112 description : 'path to put omx libraries. defaults to omx-bellagio pkg-config pluginsdir.'
118 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
119 description : 'enable gallium va frontend.',
125 description : 'path to put va libraries. defaults to $libdir/dri.'
131 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
132 description : 'enable gallium xa frontend.',
138 description : 'build gallium "nine" Direct3D 9.x frontend.',
144 description : 'build gallium D3D10 WDDM UMD frontend.',
149 choices : ['icd', 'standalone', 'disabled'],
151 description : 'build gallium "clover" OpenCL frontend.',
157 description : 'build gallium "rusticl" OpenCL frontend.',
160 'gallium-windows-dll-name',
162 value : 'libgallium_wgl',
163 description : 'name of gallium megadriver DLL built for Windows. defaults to libgallium_wgl.dll to match DRI',
169 description : 'build gallium "clover" OpenCL frontend with SPIR-V binary support.',
175 choices : ['spirv', 'spirv64', 'all'],
176 description : 'Link libclc SPIR-V statically.',
182 description : 'Location of D3D drivers. Default: $libdir/d3d',
188 choices : ['auto', 'amd', 'broadcom', 'freedreno', 'imagination-experimental', 'intel', 'intel_hasvk', 'microsoft-experimental', 'panfrost', 'swrast', 'virtio-experimental'],
189 description : 'List of vulkan drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
195 description : 'use kgsl backend for freedreno vulkan driver',
201 description : 'use experimental virtio backend for freedreno (currently only gallium driver)',
207 description : 'Enable Services backend for Imagination Technologies vulkan driver',
213 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
214 description : 'Build with on-disk shader cache support.',
217 'shader-cache-default',
220 description : 'If set to false, the feature is only activated when environment variable MESA_SHADER_CACHE_DISABLE is set to false',
223 'shader-cache-max-size',
226 description : '''Default value for MESA_SHADER_CACHE_MAX_SIZE enviroment variable.
227 If set, determines the maximum size of the on-disk cache of compiled
228 shader programs, can be overriden by enviroment variable if needed. Should be set to a number optionally followed by
229 ``K``, ``M``, or ``G`` to specify a size in kilobytes, megabytes, or
230 gigabytes. By default, gigabytes will be assumed. And if unset, a
231 maximum size of 1GB will be used.'''
237 description : 'Location relative to prefix to put vulkan icds on install. Default: $datadir/vulkan/icd.d'
243 description : 'Location of the MoltenVk SDK. Default: '
249 choices : ['device-select', 'intel-nullhw', 'overlay'],
250 description : 'List of vulkan layers to build'
256 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
257 description : 'Whether to build a shared or static glapi. Defaults to false on Windows, true elsewhere'
263 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
264 description : 'Build support for OpenGL ES 1.x'
270 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
271 description : 'Build support for OpenGL ES 2.x and 3.x'
277 description : 'Build support for OpenGL (all versions)'
283 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
284 description : 'Build support for gbm platform'
290 description : 'Locations to search for gbm backends, passed as colon separated list. Default: $libdir/gbm.'
296 choices : ['auto', 'disabled', 'dri', 'xlib'],
297 description : 'Build support for GLX platform'
303 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
304 description : 'Build support for EGL platform'
310 description : 'Enable GLVND support.'
316 description : 'Build support for the Microsoft CLC to DXIL compiler'
322 description : 'Build support for the SPIR-V to DXIL library'
328 description : 'Vendor name string to use for glvnd libraries'
331 'glx-read-only-text',
334 description : 'Disable writable .text section on x86 (decreases performance)'
340 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
341 description : 'Build with LLVM support.'
347 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
348 description : 'Whether to link LLVM shared or statically.'
354 description : 'Whether to use LLVM for the Gallium draw module, if LLVM is included.'
360 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
361 description : 'Build with valgrind support'
367 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
368 description : 'Use libunwind for stack-traces'
374 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
375 description : 'Enable HUD lmsensors support.'
381 description : 'Build unit tests. Currently this will build *all* unit tests except the ACO tests, which may build more than expected.'
384 'enable-glcpp-tests',
387 description : 'Build glcpp unit tests. These are flaky on CI.'
393 description : 'Build ACO tests. These require RADV and glslang but not an AMD GPU.'
396 'install-intel-gpu-tests',
399 description : 'Build and install Intel unit tests which require the GPU. This option is for developers and the Intel CI system only.'
405 description : 'Build an SELinux-aware Mesa. This currently disables execmem support at runtime unless SELinux is configured with allow_execmem.'
411 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.'
417 description : 'Build OSmesa.'
422 value : 'unspecified',
423 choices : ['unspecified', '8', '16', '32'],
424 description : 'DEPRECATED: Number of channel bits for OSMesa.'
431 choices : ['drm-shim', 'etnaviv', 'freedreno', 'glsl', 'intel', 'intel-ui', 'nir', 'nouveau', 'lima', 'panfrost', 'asahi', 'imagination', 'all', 'dlclose-skip'],
432 description : 'List of tools to build. (Note: `intel-ui` selects `intel`)',
438 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
439 description : 'Enable power8 optimizations.',
445 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
446 description : 'Enable VK_EXT_acquire_xlib_display.'
452 description : 'Enable direct rendering in GLX and EGL for DRI',
454 option('egl-lib-suffix',
457 description : 'Suffix to append to EGL library name. Default: none.'
463 description : 'Suffix to append to GLES library names. Default: none.'
466 'platform-sdk-version',
471 description : 'Android Platform SDK version. Default: Nougat version.'
476 choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
478 description : 'Use ZSTD instead of ZLIB in some cases.'
484 description : 'Use ZLIB to build driver. Default: enabled'
490 description : 'use msse2 flag for x86. Uses sse/sse2 instead of x87. Default: true',
496 description : 'Enable performance analysis with Perfetto. Default: false'
502 choices : ['auto', 'panfrost', 'intel', 'freedreno'],
503 description: 'List of Perfetto datasources to build. If this is set to `auto`, datasources that can not be build are skipped. Default: [`auto`]'
506 'custom-shader-replacement',
509 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).'
515 description : 'Build gallium VMware/svga driver with mksGuestStats instrumentation.'
521 description : 'Build vulkan drivers with BETA extensions enabled.'
527 description : 'Build the intel-clc compiler (enables Vulkan Intel Ray Tracing on supported hardware).'
534 'vc1dec', 'h264dec', 'h264enc', 'h265dec', 'h265enc'
536 description : 'List of patent encumbered codecs to build support for. Distros might want to consult their legal department before enabling these. This is used for all video APIs (vaapi, vdpau, vulkan). Non-patent encumbered codecs will be enabled by default.'
539 'gallium-d3d12-video',
542 description : 'build gallium d3d12 with video support.',
548 description : 'Override build id for shader cache keys (hex string). Can be extracted with readelf -x .note.gnu.build-id'
551 'min-windows-version',
556 description : 'Minimum Windows version to support. Defaults to Windows 8.'