summaryrefslogtreecommitdiff
path: root/meson_options.txt
diff options
context:
space:
mode:
authorEric Engestrom <eric@engestrom.ch>2022-08-19 17:10:52 +0100
committerMarge Bot <emma+marge@anholt.net>2023-02-18 01:48:16 +0000
commit84e5d50b89ed4907c561478f8c1335ff20b44dca (patch)
tree28582ba770768442a231c9a780301a1188a85b72 /meson_options.txt
parent1851c0e86826ff197e0b1e45c671aa878b444ce7 (diff)
downloadmesa-84e5d50b89ed4907c561478f8c1335ff20b44dca.tar.gz
meson: improve formatting of options file
Acked-by: Yonggang Luo <luoyonggang@gmail.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21321>
Diffstat (limited to 'meson_options.txt')
-rw-r--r--meson_options.txt218
1 files changed, 165 insertions, 53 deletions
diff --git a/meson_options.txt b/meson_options.txt
index 69cea01f32c..0bd92d3916d 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,22 +1,5 @@
# Copyright © 2017-2019 Intel Corporation
-
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
+# SPDX-License-Identifier: MIT
option(
'platforms',
@@ -25,8 +8,10 @@ option(
choices : [
'auto', 'x11', 'wayland', 'haiku', 'android', 'windows',
],
- description : 'window systems to support. If this is set to `auto`, all platforms applicable will be enabled.'
+ description : 'window systems to support. If this is set to `auto`, all ' +
+ 'platforms applicable will be enabled.'
)
+
option(
'egl-native-platform',
type : 'combo',
@@ -37,34 +22,41 @@ option(
],
description : 'the window system EGL assumes for EGL_DEFAULT_DISPLAY',
)
+
option(
'android-stub',
type : 'boolean',
value : false,
description : 'Build against android-stub',
)
+
option(
'android-libbacktrace',
type : 'feature',
description : 'Use Android\'s libbacktrace',
)
+
option(
'dri3',
type : 'feature',
description : 'enable support for dri3'
)
+
option(
'dri-drivers-path',
type : 'string',
value : '',
description : 'Location to install dri drivers. Default: $libdir/dri.'
)
+
option(
'dri-search-path',
type : 'string',
value : '',
- description : 'Locations to search for dri drivers, passed as colon separated list. Default: dri-drivers-path.'
+ description : 'Locations to search for dri drivers, passed as colon ' +
+ 'separated list. Default: dri-drivers-path.'
)
+
option(
'gallium-drivers',
type : 'array',
@@ -74,25 +66,31 @@ option(
'swrast', 'v3d', 'vc4', 'etnaviv', 'tegra', 'i915', 'svga', 'virgl',
'panfrost', 'iris', 'lima', 'zink', 'd3d12', 'asahi', 'crocus'
],
- description : 'List of gallium drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
+ description : 'List of gallium drivers to build. If this is set to auto ' +
+ 'all drivers applicable to the target OS/architecture ' +
+ 'will be built'
)
+
option(
'gallium-extra-hud',
type : 'boolean',
value : false,
description : 'Enable HUD block/NIC I/O HUD status support',
)
+
option(
'gallium-vdpau',
type : 'feature',
description : 'enable gallium vdpau frontend.',
)
+
option(
'vdpau-libs-path',
type : 'string',
value : '',
description : 'path to put vdpau libraries. defaults to $libdir/vdpau.'
)
+
option(
'gallium-omx',
type : 'combo',
@@ -100,40 +98,48 @@ option(
choices : ['auto', 'disabled', 'bellagio', 'tizonia'],
description : 'enable gallium omx frontend.',
)
+
option(
'omx-libs-path',
type : 'string',
value : '',
- description : 'path to put omx libraries. defaults to omx-bellagio pkg-config pluginsdir.'
+ description : 'path to put omx libraries. defaults to omx-bellagio ' +
+ 'pkg-config pluginsdir.'
)
+
option(
'gallium-va',
type : 'feature',
description : 'enable gallium va frontend.',
)
+
option(
'va-libs-path',
type : 'string',
value : '',
description : 'path to put va libraries. defaults to $libdir/dri.'
)
+
option(
'gallium-xa',
type : 'feature',
description : 'enable gallium xa frontend.',
)
+
option(
'gallium-nine',
type : 'boolean',
value : false,
description : 'build gallium "nine" Direct3D 9.x frontend.',
)
+
option(
'gallium-d3d10umd',
type : 'boolean',
value : false,
description : 'build gallium D3D10 WDDM UMD frontend.',
)
+
option(
'gallium-opencl',
type : 'combo',
@@ -141,24 +147,30 @@ option(
value : 'disabled',
description : 'build gallium "clover" OpenCL frontend.',
)
+
option(
'gallium-rusticl',
type : 'boolean',
value : false,
description : 'build gallium "rusticl" OpenCL frontend.',
)
+
option(
'gallium-windows-dll-name',
type : 'string',
value : 'libgallium_wgl',
- description : 'name of gallium megadriver DLL built for Windows. defaults to libgallium_wgl.dll to match DRI',
+ description : 'name of gallium megadriver DLL built for Windows. ' +
+ 'defaults to libgallium_wgl.dll to match DRI',
)
+
option(
'opencl-spirv',
type : 'boolean',
value : false,
- description : 'build gallium "clover" OpenCL frontend with SPIR-V binary support.',
+ description : 'build gallium "clover" OpenCL frontend with SPIR-V ' +
+ 'binary support.',
)
+
option(
'static-libclc',
type : 'array',
@@ -166,71 +178,93 @@ option(
choices : ['spirv', 'spirv64', 'all'],
description : 'Link libclc SPIR-V statically.',
)
+
option(
'd3d-drivers-path',
type : 'string',
value : '',
description : 'Location of D3D drivers. Default: $libdir/d3d',
)
+
option(
'vulkan-drivers',
type : 'array',
value : ['auto'],
- choices : ['auto', 'amd', 'broadcom', 'freedreno', 'imagination-experimental', 'intel', 'intel_hasvk', 'microsoft-experimental', 'panfrost', 'swrast', 'virtio-experimental'],
- description : 'List of vulkan drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
+ choices : ['auto', 'amd', 'broadcom', 'freedreno', 'intel', 'intel_hasvk',
+ 'panfrost', 'swrast', 'imagination-experimental',
+ 'microsoft-experimental', 'virtio-experimental'],
+ description : 'List of vulkan drivers to build. If this is set to auto ' +
+ 'all drivers applicable to the target OS/architecture ' +
+ 'will be built'
)
+
option(
'freedreno-kgsl',
type : 'boolean',
value : false,
description : 'use kgsl backend for freedreno vulkan driver',
)
+
option(
'freedreno-virtio',
type : 'boolean',
value : false,
- description : 'use experimental virtio backend for freedreno (currently only gallium driver)',
+ description : 'use experimental virtio backend for freedreno (currently ' +
+ 'only gallium driver)',
)
+
option(
'imagination-srv',
type : 'boolean',
value : false,
- description : 'Enable Services backend for Imagination Technologies vulkan driver',
+ description : 'Enable Services backend for Imagination Technologies ' +
+ 'vulkan driver',
)
+
option(
'shader-cache',
type : 'feature',
description : 'Build with on-disk shader cache support.',
)
+
option(
'shader-cache-default',
type : 'boolean',
value : true,
- description : 'If set to false, the feature is only activated when environment variable MESA_SHADER_CACHE_DISABLE is set to false',
+ description : 'If set to false, the feature is only activated when ' +
+ 'environment variable MESA_SHADER_CACHE_DISABLE is set ' +
+ 'to false',
)
+
option(
'shader-cache-max-size',
type : 'string',
value : '',
- description : '''Default value for MESA_SHADER_CACHE_MAX_SIZE enviroment variable.
- If set, determines the maximum size of the on-disk cache of compiled
- shader programs, can be overriden by enviroment variable if needed. Should be set to a number optionally followed by
- ``K``, ``M``, or ``G`` to specify a size in kilobytes, megabytes, or
- gigabytes. By default, gigabytes will be assumed. And if unset, a
- maximum size of 1GB will be used.'''
+ description : 'Default value for MESA_SHADER_CACHE_MAX_SIZE enviroment ' +
+ 'variable. If set, determines the maximum size of the ' +
+ 'on-disk cache of compiled shader programs, can be overriden ' +
+ 'by enviroment variable if needed. Should be set to a number ' +
+ 'optionally followed by ``K``, ``M``, or ``G`` to specify ' +
+ 'a size in kilobytes, megabytes, or gigabytes. By default, ' +
+ 'gigabytes will be assumed. And if unset, a maximum size of ' +
+ '1GB will be used.'
)
+
option(
'vulkan-icd-dir',
type : 'string',
value : '',
- description : 'Location relative to prefix to put vulkan icds on install. Default: $datadir/vulkan/icd.d'
+ description : 'Location relative to prefix to put vulkan icds on install. ' +
+ 'Default: $datadir/vulkan/icd.d'
)
+
option(
'moltenvk-dir',
type : 'string',
value : '',
description : 'Location of the MoltenVk SDK. Default: '
)
+
option(
'vulkan-layers',
type : 'array',
@@ -238,38 +272,47 @@ option(
choices : ['device-select', 'intel-nullhw', 'overlay'],
description : 'List of vulkan layers to build'
)
+
option(
'shared-glapi',
type : 'feature',
- description : 'Whether to build a shared or static glapi. Defaults to false on Windows, true elsewhere'
+ description : 'Whether to build a shared or static glapi. Defaults to ' +
+ 'false on Windows, true elsewhere'
)
+
option(
'gles1',
type : 'feature',
description : 'Build support for OpenGL ES 1.x'
)
+
option(
'gles2',
type : 'feature',
description : 'Build support for OpenGL ES 2.x and 3.x'
)
+
option(
'opengl',
type : 'boolean',
value : true,
description : 'Build support for OpenGL (all versions)'
)
+
option(
'gbm',
type : 'feature',
description : 'Build support for gbm platform'
)
+
option(
'gbm-backends-path',
type : 'string',
value : '',
- description : 'Locations to search for gbm backends, passed as colon separated list. Default: $libdir/gbm.'
+ description : 'Locations to search for gbm backends, passed as colon ' +
+ 'separated list. Default: $libdir/gbm.'
)
+
option(
'glx',
type : 'combo',
@@ -277,148 +320,187 @@ option(
choices : ['auto', 'disabled', 'dri', 'xlib'],
description : 'Build support for GLX platform'
)
+
option(
'egl',
type : 'feature',
description : 'Build support for EGL platform'
)
+
option(
'glvnd',
type : 'boolean',
value : false,
description : 'Enable GLVND support.'
)
+
option(
'microsoft-clc',
type : 'feature',
value : 'auto',
description : 'Build support for the Microsoft CLC to DXIL compiler'
)
+
option(
'spirv-to-dxil',
type : 'boolean',
value : false,
description : 'Build support for the SPIR-V to DXIL library'
)
+
option(
'glvnd-vendor-name',
type : 'string',
value : 'mesa',
description : 'Vendor name string to use for glvnd libraries'
)
+
option(
'glx-read-only-text',
type : 'boolean',
value : false,
description : 'Disable writable .text section on x86 (decreases performance)'
)
+
option(
'llvm',
type : 'feature',
description : 'Build with LLVM support.'
)
+
option(
'shared-llvm',
type : 'feature',
description : 'Whether to link LLVM shared or statically.'
)
+
option(
'draw-use-llvm',
type : 'boolean',
value : true,
- description : 'Whether to use LLVM for the Gallium draw module, if LLVM is included.'
+ description : 'Whether to use LLVM for the Gallium draw module, if LLVM ' +
+ 'is included.'
)
+
option(
'valgrind',
type : 'feature',
description : 'Build with valgrind support'
)
+
option(
'libunwind',
type : 'feature',
description : 'Use libunwind for stack-traces'
)
+
option(
'lmsensors',
type : 'feature',
description : 'Enable HUD lmsensors support.'
)
+
option(
'build-tests',
type : 'boolean',
value : false,
- description : 'Build unit tests. Currently this will build *all* unit tests except the ACO tests, which may build more than expected.'
+ description : 'Build unit tests. Currently this will build *all* unit ' +
+ 'tests except the ACO tests, which may build more than expected.'
)
+
option(
'enable-glcpp-tests',
type : 'boolean',
value : true,
description : 'Build glcpp unit tests. These are flaky on CI.'
)
+
option(
'build-aco-tests',
type : 'boolean',
value : false,
- description : 'Build ACO tests. These require RADV and glslang but not an AMD GPU.'
+ description : 'Build ACO tests. These require RADV and glslang but not ' +
+ 'an AMD GPU.'
)
+
option(
'install-intel-gpu-tests',
type : 'boolean',
value : false,
- description : 'Build and install Intel unit tests which require the GPU. This option is for developers and the Intel CI system only.'
+ description : 'Build and install Intel unit tests which require the GPU. ' +
+ 'This option is for developers and the Intel CI system only.'
)
+
option(
'selinux',
type : 'boolean',
value : false,
- description : 'Build an SELinux-aware Mesa. This currently disables execmem support at runtime unless SELinux is configured with allow_execmem.'
+ description : 'Build an SELinux-aware Mesa. This currently disables ' +
+ 'execmem support at runtime unless SELinux is configured ' +
+ 'with allow_execmem.'
)
+
option(
'execmem',
type : 'boolean',
value : true,
- 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.'
+ 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.'
)
+
option(
'osmesa',
type : 'boolean',
value : false,
description : 'Build OSmesa.'
)
+
option(
'tools',
type : 'array',
value : [],
- choices : ['drm-shim', 'etnaviv', 'freedreno', 'glsl', 'intel', 'intel-ui', 'nir', 'nouveau', 'lima', 'panfrost', 'asahi', 'imagination', 'all', 'dlclose-skip'],
+ choices : ['drm-shim', 'etnaviv', 'freedreno', 'glsl', 'intel', 'intel-ui',
+ 'nir', 'nouveau', 'lima', 'panfrost', 'asahi', 'imagination',
+ 'all', 'dlclose-skip'],
description : 'List of tools to build. (Note: `intel-ui` selects `intel`)',
)
+
option(
'power8',
type : 'feature',
description : 'Enable power8 optimizations.',
)
+
option(
'xlib-lease',
type : 'feature',
description : 'Enable VK_EXT_acquire_xlib_display.'
)
+
option(
'glx-direct',
type : 'boolean',
value : true,
description : 'Enable direct rendering in GLX and EGL for DRI',
)
+
option('egl-lib-suffix',
type : 'string',
value : '',
description : 'Suffix to append to EGL library name. Default: none.'
)
+
option(
'gles-lib-suffix',
type : 'string',
value : '',
description : 'Suffix to append to GLES library names. Default: none.'
)
+
option(
'platform-sdk-version',
type : 'integer',
@@ -427,65 +509,84 @@ option(
value : 25,
description : 'Android Platform SDK version. Default: Nougat version.'
)
+
option(
'allow-kcmp',
type : 'feature',
- description : 'Allow using KCMP_FILE to compare file descriptions. auto = allowed everywhere except on Android'
+ description : 'Allow using KCMP_FILE to compare file descriptions. ' +
+ 'auto = allowed everywhere except on Android'
)
+
option(
'zstd',
type : 'feature',
description : 'Use ZSTD instead of ZLIB in some cases.'
)
+
option(
'zlib',
type : 'feature',
value : 'enabled',
description : 'Use ZLIB to build driver. Default: enabled'
)
+
option(
'sse2',
type : 'boolean',
value : true,
description : 'use msse2 flag for x86. Uses sse/sse2 instead of x87. Default: true',
)
+
option(
'perfetto',
type : 'boolean',
value : false,
description : 'Enable performance analysis with Perfetto. Default: false'
)
+
option(
'datasources',
type : 'array',
value : ['auto'],
choices : ['auto', 'panfrost', 'intel', 'freedreno'],
- description: 'List of Perfetto datasources to build. If this is set to `auto`, datasources that can not be build are skipped. Default: [`auto`]'
+ description : 'List of Perfetto datasources to build. If this is set to ' +
+ '`auto`, datasources that can not be build are skipped. ' +
+ 'Default: [`auto`]'
)
+
option(
'custom-shader-replacement',
type : 'string',
value : '',
- 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).'
+ 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).'
)
+
option(
'vmware-mks-stats',
type : 'boolean',
value : false,
- description : 'Build gallium VMware/svga driver with mksGuestStats instrumentation.'
+ description : 'Build gallium VMware/svga driver with mksGuestStats ' +
+ 'instrumentation.'
)
+
option(
'vulkan-beta',
type : 'boolean',
value : false,
description : 'Build vulkan drivers with BETA extensions enabled.'
)
+
option(
'intel-clc',
type : 'feature',
value : 'disabled',
- description : 'Build the intel-clc compiler (enables Vulkan Intel Ray Tracing on supported hardware).'
+ description : 'Build the intel-clc compiler (enables Vulkan Intel ' +
+ 'Ray Tracing on supported hardware).'
)
+
option(
'video-codecs',
type : 'array',
@@ -493,20 +594,28 @@ option(
choices: [
'vc1dec', 'h264dec', 'h264enc', 'h265dec', 'h265enc'
],
- 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.'
+ 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.'
)
+
option(
'gallium-d3d12-video',
type : 'feature',
value : 'auto',
description : 'build gallium d3d12 with video support.',
)
+
option(
'radv-build-id',
type : 'string',
value : '',
- description : 'Override build id for shader cache keys (hex string). Can be extracted with readelf -x .note.gnu.build-id'
+ description : 'Override build id for shader cache keys (hex string). ' +
+ 'Can be extracted with readelf -x .note.gnu.build-id'
)
+
option(
'min-windows-version',
type : 'integer',
@@ -515,9 +624,12 @@ option(
value : 8,
description : 'Minimum Windows version to support. Defaults to Windows 8.'
)
+
option(
'xmlconfig',
type : 'feature',
value : 'auto',
- description : 'Build custom xmlconfig (driconf) support. If disabled, the default driconf file is hardcoded into Mesa. Requires expat.'
+ description : 'Build custom xmlconfig (driconf) support. If disabled, ' +
+ 'the default driconf file is hardcoded into Mesa. ' +
+ 'Requires expat.'
)