1 # Copyright © 2017-2019 Intel Corporation
2 # SPDX-License-Identifier: MIT
9 'auto', 'x11', 'wayland', 'haiku', 'android', 'windows',
11 description : 'window systems to support. If this is set to `auto`, all ' +
12 'platforms applicable will be enabled.'
16 'egl-native-platform',
20 'auto', 'x11', 'wayland', 'haiku', 'android', 'windows',
23 description : 'the window system EGL assumes for EGL_DEFAULT_DISPLAY',
30 description : 'Build against android-stub',
34 'android-libbacktrace',
36 description : 'Use Android\'s libbacktrace',
42 description : 'enable support for dri3'
49 description : 'Location to install dri drivers. Default: $libdir/dri.'
56 description : 'Locations to search for dri drivers, passed as colon ' +
57 'separated list. Default: dri-drivers-path.'
65 'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
66 'swrast', 'v3d', 'vc4', 'etnaviv', 'tegra', 'i915', 'svga', 'virgl',
67 'panfrost', 'iris', 'lima', 'zink', 'd3d12', 'asahi', 'crocus'
69 description : 'List of gallium drivers to build. If this is set to auto ' +
70 'all drivers applicable to the target OS/architecture ' +
78 description : 'Enable HUD block/NIC I/O HUD status support',
84 description : 'enable gallium vdpau frontend.',
91 description : 'path to put vdpau libraries. defaults to $libdir/vdpau.'
98 choices : ['auto', 'disabled', 'bellagio', 'tizonia'],
99 description : 'enable gallium omx frontend.',
106 description : 'path to put omx libraries. defaults to omx-bellagio ' +
107 'pkg-config pluginsdir.'
113 description : 'enable gallium va frontend.',
120 description : 'path to put va libraries. defaults to $libdir/dri.'
126 description : 'enable gallium xa frontend.',
133 description : 'build gallium "nine" Direct3D 9.x frontend.',
140 description : 'build gallium D3D10 WDDM UMD frontend.',
146 choices : ['icd', 'standalone', 'disabled'],
148 description : 'build gallium "clover" OpenCL frontend.',
155 description : 'build gallium "rusticl" OpenCL frontend.',
159 'gallium-windows-dll-name',
161 value : 'libgallium_wgl',
162 description : 'name of gallium megadriver DLL built for Windows. ' +
163 'defaults to libgallium_wgl.dll to match DRI',
170 description : 'build gallium "clover" OpenCL frontend with SPIR-V ' +
178 choices : ['spirv', 'spirv64', 'all'],
179 description : 'Link libclc SPIR-V statically.',
186 description : 'Location of D3D drivers. Default: $libdir/d3d',
193 choices : ['auto', 'amd', 'broadcom', 'freedreno', 'intel', 'intel_hasvk',
194 'panfrost', 'swrast', 'imagination-experimental',
195 'microsoft-experimental', 'virtio-experimental'],
196 description : 'List of vulkan drivers to build. If this is set to auto ' +
197 'all drivers applicable to the target OS/architecture ' +
201 # Note that currently turnip supports msm and kgsl, while the gallium driver
202 # support msm and virtio. This is a temporary situation with virtio support
203 # for turnip and kgsl support for gallium planned/in-progress.
208 choices : ['msm', 'kgsl', 'virtio'],
209 description : 'List of kernel-mode drivers to enable for freedreno ' +
210 'gallium and vulkan driver',
217 description : 'Enable Services backend for Imagination Technologies ' +
224 description : 'Build with on-disk shader cache support.',
228 'shader-cache-default',
231 description : 'If set to false, the feature is only activated when ' +
232 'environment variable MESA_SHADER_CACHE_DISABLE is set ' +
237 'shader-cache-max-size',
240 description : 'Default value for MESA_SHADER_CACHE_MAX_SIZE enviroment ' +
241 'variable. If set, determines the maximum size of the ' +
242 'on-disk cache of compiled shader programs, can be overriden ' +
243 'by enviroment variable if needed. Should be set to a number ' +
244 'optionally followed by ``K``, ``M``, or ``G`` to specify ' +
245 'a size in kilobytes, megabytes, or gigabytes. By default, ' +
246 'gigabytes will be assumed. And if unset, a maximum size of ' +
254 description : 'Location relative to prefix to put vulkan icds on install. ' +
255 'Default: $datadir/vulkan/icd.d'
262 description : 'Location of the MoltenVk SDK. Default: '
269 choices : ['device-select', 'intel-nullhw', 'overlay'],
270 description : 'List of vulkan layers to build'
276 description : 'Whether to build a shared or static glapi. Defaults to ' +
277 'false on Windows, true elsewhere'
283 description : 'Build support for OpenGL ES 1.x'
289 description : 'Build support for OpenGL ES 2.x and 3.x'
296 description : 'Build support for OpenGL (all versions)'
302 description : 'Build support for gbm platform'
309 description : 'Locations to search for gbm backends, passed as colon ' +
310 'separated list. Default: $libdir/gbm.'
317 choices : ['auto', 'disabled', 'dri', 'xlib'],
318 description : 'Build support for GLX platform'
324 description : 'Build support for EGL platform'
331 description : 'Enable GLVND support.'
338 description : 'Build support for the Microsoft CLC to DXIL compiler'
345 description : 'Build support for the SPIR-V to DXIL library'
352 description : 'Vendor name string to use for glvnd libraries'
356 'glx-read-only-text',
359 description : 'Disable writable .text section on x86 (decreases performance)'
365 description : 'Build with LLVM support.'
371 description : 'Whether to link LLVM shared or statically.'
378 description : 'Whether to use LLVM for the Gallium draw module, if LLVM ' +
385 description : 'Build with valgrind support'
391 description : 'Use libunwind for stack-traces'
397 description : 'Enable HUD lmsensors support.'
404 description : 'Build unit tests. Currently this will build *all* unit ' +
405 'tests except the ACO tests, which may build more than expected.'
409 'enable-glcpp-tests',
412 description : 'Build glcpp unit tests. These are flaky on CI.'
419 description : 'Build ACO tests. These require RADV and glslang but not ' +
424 'install-intel-gpu-tests',
427 description : 'Build and install Intel unit tests which require the GPU. ' +
428 'This option is for developers and the Intel CI system only.'
435 description : 'Build an SELinux-aware Mesa. This currently disables ' +
436 'execmem support at runtime unless SELinux is configured ' +
437 'with allow_execmem.'
444 description : 'Enable execmem support. Without execmem, glapi will fail ' +
445 'to generate dynamic glapi stubs when entrypoints unknown ' +
446 'to glapi but known to DRI drivers are requested in ' +
447 'eglGetProcAddress or glXGetProcAddress. This should be ' +
448 'enabled unless the platform can guarantee glapi and DRI ' +
449 'drivers are always built from the same source tree.'
456 description : 'Build OSmesa.'
463 choices : ['drm-shim', 'etnaviv', 'freedreno', 'glsl', 'intel', 'intel-ui',
464 'nir', 'nouveau', 'lima', 'panfrost', 'asahi', 'imagination',
465 'all', 'dlclose-skip'],
466 description : 'List of tools to build. (Note: `intel-ui` selects `intel`)',
472 description : 'Enable power8 optimizations.',
478 description : 'Enable VK_EXT_acquire_xlib_display.'
485 description : 'Enable direct rendering in GLX and EGL for DRI',
488 option('egl-lib-suffix',
491 description : 'Suffix to append to EGL library name. Default: none.'
498 description : 'Suffix to append to GLES library names. Default: none.'
502 'platform-sdk-version',
507 description : 'Android Platform SDK version. Default: Nougat version.'
513 description : 'Allow using KCMP_FILE to compare file descriptions. ' +
514 'auto = allowed everywhere except on Android'
520 description : 'Use ZSTD instead of ZLIB in some cases.'
527 description : 'Use ZLIB to build driver. Default: enabled'
534 description : 'use msse2 flag for x86. Uses sse/sse2 instead of x87. Default: true',
541 description : 'Enable performance analysis with Perfetto. Default: false'
548 choices : ['auto', 'panfrost', 'intel', 'freedreno'],
549 description : 'List of Perfetto datasources to build. If this is set to ' +
550 '`auto`, datasources that can not be build are skipped. ' +
555 'custom-shader-replacement',
558 description : 'Enable a custom shader replacement mechanism. Note that ' +
559 'enabling this option requires adding/generating a ' +
560 'shader_replacement.h file that can be included (see ' +
568 description : 'Build gallium VMware/svga driver with mksGuestStats ' +
576 description : 'Build vulkan drivers with BETA extensions enabled.'
583 description : 'Build the intel-clc compiler (enables Vulkan Intel ' +
584 'Ray Tracing on supported hardware).'
592 'vc1dec', 'h264dec', 'h264enc', 'h265dec', 'h265enc'
594 description : 'List of patent encumbered codecs to build support for. ' +
595 'Distros might want to consult their legal department before ' +
596 'enabling these. This is used for all video APIs (vaapi, ' +
597 'vdpau, vulkan). Non-patent encumbered codecs will be ' +
598 'enabled by default.'
602 'gallium-d3d12-video',
605 description : 'build gallium d3d12 with video support.',
612 description : 'Override build id for shader cache keys (hex string). ' +
613 'Can be extracted with readelf -x .note.gnu.build-id'
617 'min-windows-version',
622 description : 'Minimum Windows version to support. Defaults to Windows 8.'
629 description : 'Build custom xmlconfig (driconf) support. If disabled, ' +
630 'the default driconf file is hardcoded into Mesa. ' +
637 description: 'Enable Intel Xe KMD support.'