summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaura Ekstrand <laura@jlekstrand.net>2018-05-21 17:59:12 -0700
committerLaura Ekstrand <laura@jlekstrand.net>2018-06-15 16:07:20 -0700
commit25f7230f6e9075c47a146f172a674abe8120c5bc (patch)
treebd1cabdd8e1fe36294f14650588dfaf80edf2d3a
parentf5a3d4a5792a24c2a970c30674c34b16d2b1bf7f (diff)
docs: Major manual edits to environment vars.
This is a huge page. The edits I've done here take full advantage of reStructured text and Sphinx's awesome built-in style for explaining commands and variables. Enjoy!
-rw-r--r--docs/envvars.rst604
1 files changed, 425 insertions, 179 deletions
diff --git a/docs/envvars.rst b/docs/envvars.rst
index a9db746e79..a1427552e7 100644
--- a/docs/envvars.rst
+++ b/docs/envvars.rst
@@ -8,78 +8,122 @@ but they can sometimes be useful for debugging end-user issues.
LibGL environment variables
---------------------------
-- LIBGL\_DEBUG - If defined debug information will be printed to
- stderr. If set to 'verbose' additional information will be printed.
-- LIBGL\_DRIVERS\_PATH - colon-separated list of paths to search for
+``LIBGL_DEBUG``
+ If defined debug information will be printed to
+ stderr. If set to ``verbose`` additional information will be printed.
+
+``LIBGL_DRIVERS_PATH``
+ colon-separated list of paths to search for
DRI drivers
-- LIBGL\_ALWAYS\_INDIRECT - if set to \`true\`, forces an indirect
+
+``LIBGL_ALWAYS_INDIRECT``
+ if set to ``true``, forces an indirect
rendering context/connection.
-- LIBGL\_ALWAYS\_SOFTWARE - if set to \`true\`, always use software
+
+``LIBGL_ALWAYS_SOFTWARE``
+ if set to ``true``, always use software
rendering
-- LIBGL\_NO\_DRAWARRAYS - if set to \`true\`, do not use DrawArrays GLX
+
+``LIBGL_NO_DRAWARRAYS``
+ if set to ``true``, do not use DrawArrays GLX
protocol (for debugging)
-- LIBGL\_SHOW\_FPS - print framerate to stdout based on the number of
- glXSwapBuffers calls per second.
-- LIBGL\_DRI3\_DISABLE - disable DRI3 if set to \`true\`.
+
+``LIBGL_SHOW_FPS``
+ print framerate to stdout based on the number of
+ ``glXSwapBuffers`` calls per second.
+
+``LIBGL_DRI3_DISABLE``
+ disable DRI3 if set to ``true``.
Core Mesa environment variables
-------------------------------
-- MESA\_NO\_ASM - if set, disables all assembly language optimizations
-- MESA\_NO\_MMX - if set, disables Intel MMX optimizations
-- MESA\_NO\_3DNOW - if set, disables AMD 3DNow! optimizations
-- MESA\_NO\_SSE - if set, disables Intel SSE optimizations
-- MESA\_NO\_ERROR - if set to 1, error checking is disabled as per
- KHR\_no\_error. This will result in undefined behaviour for invalid
+``MESA_NO_ASM``
+ if set, disables all assembly language optimizations
+
+``MESA_NO_MMX``
+ if set, disables Intel MMX optimizations
+
+``MESA_NO_3DNOW``
+ if set, disables AMD 3DNow! optimizations
+
+``MESA_NO_SSE``
+ if set, disables Intel SSE optimizations
+
+``MESA_NO_ERROR``
+ if set to 1, error checking is disabled as per
+ ``KHR_no_error``. This will result in undefined behaviour for invalid
use of the api, but can reduce CPU use for apps that are known to be
error free.
-- MESA\_DEBUG - if set, error messages are printed to stderr. For
- example, if the application generates a GL\_INVALID\_ENUM error, a
+
+``MESA_DEBUG``
+ if set, error messages are printed to stderr. For
+ example, if the application generates a ``GL_INVALID_ENUM`` error, a
corresponding error message indicating where the error occurred, and
possibly why, will be printed to stderr.
- For release builds, MESA\_DEBUG defaults to off (no debug output).
- MESA\_DEBUG accepts the following comma-separated list of named
- flags, which adds extra behaviour to just set MESA\_DEBUG=1:
+ For release builds, ``MESA_DEBUG`` defaults to off (no debug output).
+ ``MESA_DEBUG`` accepts the following comma-separated list of named
+ flags, which adds extra behaviour to just set ``MESA_DEBUG=1``:
+
+ ``silent``
+ turn off debug messages. Only useful for debug builds.
- - silent - turn off debug messages. Only useful for debug builds.
- - flush - flush after each drawing command
- - incomplete\_tex - extra debug messages when a texture is
+ ``flush``
+ flush after each drawing command
+
+ ``incomplete_tex``
+ extra debug messages when a texture is
incomplete
- - incomplete\_fbo - extra debug messages when a fbo is incomplete
- - context - create a debug context (see
- GLX\_CONTEXT\_DEBUG\_BIT\_ARB) and print error and performance
- messages to stderr (or MESA\_LOG\_FILE).
-- MESA\_LOG\_FILE - specifies a file name for logging all errors,
+ ``incomplete_fbo``
+ extra debug messages when a fbo is incomplete
+
+ ``context``
+ create a debug context (see
+ ``GLX_CONTEXT_DEBUG_BIT_ARB``) and print error and performance
+ messages to stderr (or ``MESA_LOG_FILE``).
+
+``MESA_LOG_FILE``
+ specifies a file name for logging all errors,
warnings, etc., rather than stderr
-- MESA\_TEX\_PROG - if set, implement conventional texture env modes
+
+``MESA_TEX_PROG``
+ if set, implement conventional texture env modes
with fragment programs (intended for developers only)
-- MESA\_TNL\_PROG - if set, implement conventional vertex
+
+``MESA_TNL_PROG``
+ if set, implement conventional vertex
transformation operations with vertex programs (intended for
developers only). Setting this variable automatically sets the
- MESA\_TEX\_PROG variable as well.
-- MESA\_EXTENSION\_OVERRIDE - can be used to enable/disable extensions.
- A value such as "GL\_EXT\_foo -GL\_EXT\_bar" will enable the
- GL\_EXT\_foo extension and disable the GL\_EXT\_bar extension.
-- MESA\_EXTENSION\_MAX\_YEAR - The GL\_EXTENSIONS string returned by
+ ``MESA_TEX_PROG`` variable as well.
+
+``MESA_EXTENSION_OVERRIDE``
+ can be used to enable/disable extensions.
+ A value such as ``GL_EXT_foo -GL_EXT_bar`` will enable the
+ ``GL_EXT_foo`` extension and disable the ``GL_EXT_bar`` extension.
+
+``MESA_EXTENSION_MAX_YEAR``
+ The ``GL_EXTENSIONS`` string returned by
Mesa is sorted by extension year. If this variable is set to year X,
only extensions defined on or before year X will be reported. This is
to work-around a bug in some games where the extension string is
copied into a fixed-size buffer without truncating. If the extension
string is too long, the buffer overrun can cause the game to crash.
This is a work-around for that.
-- MESA\_GL\_VERSION\_OVERRIDE - changes the value returned by
- glGetString(GL\_VERSION) and possibly the GL API type.
- - The format should be MAJOR.MINOR[FC\|COMPAT]
- - FC is an optional suffix that indicates a forward compatible
+``MESA_GL_VERSION_OVERRIDE``
+ changes the value returned by
+ ``glGetString(GL_VERSION)`` and possibly the GL API type.
+
+ - The format should be ``MAJOR.MINOR[FC\|COMPAT]``
+ - ``FC`` is an optional suffix that indicates a forward compatible
context. This is only valid for versions >= 3.0.
- - COMPAT is an optional suffix that indicates a compatibility
- context or GL\_ARB\_compatibility support. This is only valid for
+ - ``COMPAT`` is an optional suffix that indicates a compatibility
+ context or ``GL_ARB_compatibility support``. This is only valid for
versions >= 3.1.
- GL versions <= 3.0 are set to a compatibility (non-Core) profile
- GL versions = 3.1, depending on the driver, it may or may not have
- the ARB\_compatibility extension enabled.
+ the ``ARB_compatibility`` extension enabled.
- GL versions >= 3.2 are set to a Core profile
- Examples: 2.1, 3.0, 3.0FC, 3.1, 3.1FC, 3.1COMPAT, X.Y, X.YFC,
X.YCOMPAT.
@@ -90,11 +134,11 @@ Core Mesa environment variables
3.0.
- 3.0FC - select a Core+Forward Compatible profile with GL
version 3.0.
- - 3.1 - select GL version 3.1 with GL\_ARB\_compatibility enabled
+ - 3.1 - select GL version 3.1 with ``GL_ARB_compatibility`` enabled
per the driver default.
- 3.1FC - select GL version 3.1 with forward compatibility and
- GL\_ARB\_compatibility disabled.
- - 3.1COMPAT - select GL version 3.1 with GL\_ARB\_compatibility
+ ``GL_ARB_compatibility`` disabled.
+ - 3.1COMPAT - select GL version 3.1 with ``GL_ARB_compatibility``
enabled.
- X.Y - override GL version to X.Y without changing the profile.
- X.YFC - select a Core+Forward Compatible profile with GL
@@ -104,49 +148,70 @@ Core Mesa environment variables
- Mesa may not really implement all the features of the given
version. (for developers only)
-- MESA\_GLES\_VERSION\_OVERRIDE - changes the value returned by
- glGetString(GL\_VERSION) for OpenGL ES.
+``MESA_GLES_VERSION_OVERRIDE``
+ changes the value returned by
+ ``glGetString(GL_VERSION)`` for OpenGL ES.
- - The format should be MAJOR.MINOR
+ - The format should be ``MAJOR.MINOR``
- Examples: 2.0, 3.0, 3.1
- Mesa may not really implement all the features of the given
version. (for developers only)
-- MESA\_GLSL\_VERSION\_OVERRIDE - changes the value returned by
- glGetString(GL\_SHADING\_LANGUAGE\_VERSION). Valid values are
- integers, such as "130". Mesa will not really implement all the
+``MESA_GLSL_VERSION_OVERRIDE``
+ changes the value returned by
+ ``glGetString(GL_SHADING_LANGUAGE_VERSION)``. Valid values are
+ integers, such as ``130``. Mesa will not really implement all the
features of the given language version if it's higher than what's
normally reported. (for developers only)
-- MESA\_GLSL\_CACHE\_DISABLE - if set to \`true\`, disables the GLSL
+
+``MESA_GLSL_CACHE_DISABLE``
+ if set to ``true``, disables the GLSL
shader cache
-- MESA\_GLSL\_CACHE\_MAX\_SIZE - if set, determines the maximum size of
+
+``MESA_GLSL_CACHE_MAX_SIZE``
+ if set, determines the maximum size of
the on-disk cache of compiled GLSL programs. Should be set to a
- number optionally followed by 'K', 'M', or 'G' to specify a size in
+ 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. Note: A
separate cache might be created for each architecture that Mesa is
installed for on your system. For example under the default settings
you may end up with a 1GB cache for x86\_64 and another 1GB cache for
i386.
-- MESA\_GLSL\_CACHE\_DIR - if set, determines the directory to be used
+
+``MESA_GLSL_CACHE_DIR``
+ if set, determines the directory to be used
for the on-disk cache of compiled GLSL programs. If this variable is
- not set, then the cache will be stored in $XDG\_CACHE\_HOME/mesa (if
- that variable is set), or else within .cache/mesa within the user's
+ not set, then the cache will be stored in ``$XDG_CACHE_HOME/mesa`` (if
+ that variable is set), or else within ``.cache/mesa`` within the user's
home directory.
-- MESA\_GLSL - `shading language compiler
+
+``MESA_GLSL``
+ `shading language compiler
options <shading.html#envvars>`__
-- MESA\_NO\_MINMAX\_CACHE - when set, the minmax index cache is
+
+``MESA_NO_MINMAX_CACHE``
+ when set, the minmax index cache is
globally disabled.
-- MESA\_SHADER\_CAPTURE\_PATH - see `Capturing
+
+``MESA_SHADER_CAPTURE_PATH``
+ see `Capturing
Shaders <shading.html#capture>`__
-- MESA\_SHADER\_DUMP\_PATH and MESA\_SHADER\_READ\_PATH - see
+
+``MESA_SHADER_DUMP_PATH``
+ .. continues below
+
+``MESA_SHADER_READ_PATH``
+ see
`Experimenting with Shader Replacements <shading.html#replacement>`__
-- MESA\_VK\_VERSION\_OVERRIDE - changes the Vulkan physical device
- version as returned in VkPhysicalDeviceProperties::apiVersion.
- - The format should be MAJOR.MINOR[.PATCH]
+``MESA_VK_VERSION_OVERRIDE``
+ changes the Vulkan physical device
+ version as returned in ``VkPhysicalDeviceProperties::apiVersion``.
+
+ - The format should be ``MAJOR.MINOR[.PATCH]``
- This will not let you force a version higher than the driver's
- instance versionas advertised by vkEnumerateInstanceVersion
+ instance versions advertised by ``vkEnumerateInstanceVersion``
- This can be very useful for debugging but some features may not be
implemented correctly. (For developers only)
@@ -156,90 +221,193 @@ Mesa Xlib driver environment variables
The following are only applicable to the Mesa Xlib software driver. See
the `Xlib software driver page <xlibdriver.html>`__ for details.
-- MESA\_RGB\_VISUAL - specifies the X visual and depth for RGB mode
-- MESA\_CI\_VISUAL - specifies the X visual and depth for CI mode
-- MESA\_BACK\_BUFFER - specifies how to implement the back color
- buffer, either "pixmap" or "ximage"
-- MESA\_GAMMA - gamma correction coefficients for red, green, blue
+``MESA_RGB_VISUAL``
+ specifies the X visual and depth for RGB mode
+
+``MESA_CI_VISUAL``
+ specifies the X visual and depth for CI mode
+
+``MESA_BACK_BUFFER``
+ specifies how to implement the back color
+ buffer, either ``pixmap`` or ``ximage``
+
+``MESA_GAMMA``
+ gamma correction coefficients for red, green, blue
channels
-- MESA\_XSYNC - enable synchronous X behavior (for debugging only)
-- MESA\_GLX\_FORCE\_CI - if set, force GLX to treat 8bpp visuals as CI
+
+``MESA_XSYNC``
+ enable synchronous X behavior (for debugging only)
+
+``MESA_GLX_FORCE_CI``
+ if set, force GLX to treat 8bpp visuals as CI
visuals
-- MESA\_GLX\_FORCE\_ALPHA - if set, forces RGB windows to have an alpha
+
+``MESA_GLX_FORCE_ALPHA``
+ if set, forces RGB windows to have an alpha
channel.
-- MESA\_GLX\_DEPTH\_BITS - specifies default number of bits for depth
+
+``MESA_GLX_DEPTH_BITS``
+ specifies default number of bits for depth
buffer.
-- MESA\_GLX\_ALPHA\_BITS - specifies default number of bits for alpha
+
+``MESA_GLX_ALPHA_BITS``
+ specifies default number of bits for alpha
channel.
i945/i965 driver environment variables (non-Gallium)
----------------------------------------------------
-- INTEL\_NO\_HW - if set to 1, prevents batches from being submitted to
+``INTEL_NO_HW``
+ if set to 1, prevents batches from being submitted to
the hardware. This is useful for debugging hangs, etc.
-- INTEL\_DEBUG - a comma-separated list of named flags, which do
+
+``INTEL_DEBUG``
+ a comma-separated list of named flags, which do
various things:
- - ann - annotate IR in assembly dumps
- - aub - dump batches into an AUB trace for use with simulation tools
- - bat - emit batch information
- - blit - emit messages about blit operations
- - blorp - emit messages about the blorp operations (blits & clears)
- - buf - emit messages about buffer objects
- - clip - emit messages about the clip unit (for old gens, includes
+ ``ann``
+ annotate IR in assembly dumps
+
+ ``aub``
+ dump batches into an AUB trace for use with simulation tools
+
+ ``bat``
+ emit batch information
+
+ ``blit``
+ emit messages about blit operations
+
+ ``blorp``
+ emit messages about the blorp operations (blits & clears)
+
+ ``buf``
+ emit messages about buffer objects
+
+ ``clip``
+ emit messages about the clip unit (for old gens, includes
the CLIP program)
- - color - use color in output
- - cs - dump shader assembly for compute shaders
- - do32 - generate compute shader SIMD32 programs even if workgroup
+
+ ``color``
+ use color in output
+
+ ``cs``
+ dump shader assembly for compute shaders
+
+ ``do32``
+ generate compute shader SIMD32 programs even if workgroup
size doesn't exceed the SIMD16 limit
- - dri - emit messages about the DRI interface
- - fbo - emit messages about framebuffers
- - fs - dump shader assembly for fragment shaders
- - gs - dump shader assembly for geometry shaders
- - hex - print instruction hex dump with the disassembly
- - l3 - emit messages about the new L3 state during transitions
- - miptree - emit messages about miptrees
- - no8 - don't generate SIMD8 fragment shader
- - no16 - suppress generation of 16-wide fragment shaders. useful for
+
+ ``dri``
+ emit messages about the DRI interface
+
+ ``fbo``
+ emit messages about framebuffers
+ ``fs``
+ dump shader assembly for fragment shaders
+
+ ``gs``
+ dump shader assembly for geometry shaders
+
+ ``hex``
+ print instruction hex dump with the disassembly
+
+ ``l3``
+ emit messages about the new L3 state during transitions
+
+ ``miptree``
+ emit messages about miptrees
+
+ ``no8``
+ don't generate SIMD8 fragment shader
+
+ ``no16``
+ suppress generation of 16-wide fragment shaders. useful for
debugging broken shaders
- - nocompact - disable instruction compaction
- - nodualobj - suppress generation of dual-object geometry shader
+
+ ``nocompact``
+ disable instruction compaction
+
+ ``nodualobj``
+ suppress generation of dual-object geometry shader
code
- - norbc - disable single sampled render buffer compression
- - optimizer - dump shader assembly to files at each optimization
+
+ ``norbc``
+ disable single sampled render buffer compression
+
+ ``optimizer``
+ dump shader assembly to files at each optimization
pass and iteration that make progress
- - perf - emit messages about performance issues
- - perfmon - emit messages about AMD\_performance\_monitor
- - pix - emit messages about pixel operations
- - prim - emit messages about drawing primitives
- - reemit - mark all state dirty on each draw call
- - sf - emit messages about the strips & fans unit (for old gens,
+
+ ``perf``
+ emit messages about performance issues
+
+ ``perfmon``
+ emit messages about ``AMD_performance_monitor``
+
+ ``pix``
+ emit messages about pixel operations
+
+ ``prim``
+ emit messages about drawing primitives
+
+ ``reemit``
+ mark all state dirty on each draw call
+
+ ``sf``
+ emit messages about the strips & fans unit (for old gens,
includes the SF program)
- - shader\_time - record how much GPU time is spent in each shader
- - spill\_fs - force spilling of all registers in the scalar backend
+
+ ``shader_time``
+ record how much GPU time is spent in each shader
+
+ ``spill_fs``
+ force spilling of all registers in the scalar backend
(useful to debug spilling code)
- - spill\_vec4 - force spilling of all registers in the vec4 backend
+
+ ``spill_vec4``
+ force spilling of all registers in the vec4 backend
(useful to debug spilling code)
- - state - emit messages about state flag tracking
- - submit - emit batchbuffer usage statistics
- - sync - after sending each batch, emit a message and wait for that
+
+ ``state``
+ emit messages about state flag tracking
+
+ ``submit``
+ emit batchbuffer usage statistics
+
+ ``sync``
+ after sending each batch, emit a message and wait for that
batch to finish rendering
- - tcs - dump shader assembly for tessellation control shaders
- - tes - dump shader assembly for tessellation evaluation shaders
- - tex - emit messages about textures.
- - urb - emit messages about URB setup
- - vert - emit messages about vertex assembly
- - vs - dump shader assembly for vertex shaders
-
-- INTEL\_SCALAR\_VS (or TCS, TES, GS) - force scalar/vec4 mode for a
+
+ ``tcs``
+ dump shader assembly for tessellation control shaders
+
+ ``tes``
+ dump shader assembly for tessellation evaluation shaders
+
+ ``tex``
+ emit messages about textures.
+
+ ``urb``
+ emit messages about URB setup
+
+ ``vert``
+ emit messages about vertex assembly
+
+ ``vs``
+ dump shader assembly for vertex shaders
+``INTEL_SCALAR_VS`` (or ``TCS``, ``TES``, ``GS``)
+ force scalar/vec4 mode for a
shader stage (Gen8-9 only)
-- INTEL\_PRECISE\_TRIG - if set to 1, true or yes, then the driver
+
+``INTEL_PRECISE_TRIG``
+ if set to 1, true or yes, then the driver
prefers accuracy over performance in trig functions.
Radeon driver environment variables (radeon, r200, and r300g)
-------------------------------------------------------------
-- RADEON\_NO\_TCL - if set, disable hardware-accelerated
+``RADEON_NO_TCL``
+ if set, disable hardware-accelerated
Transform/Clip/Lighting.
EGL environment variables
@@ -251,119 +419,197 @@ EGL <egl.html>`__ page for the details.
Gallium environment variables
-----------------------------
-- GALLIUM\_HUD - draws various information on the screen, like
+``GALLIUM_HUD``
+ draws various information on the screen, like
framerate, cpu load, driver statistics, performance counters, etc.
- Set GALLIUM\_HUD=help and run e.g. glxgears for more info.
-- GALLIUM\_HUD\_PERIOD - sets the hud update rate in seconds (float).
+ Set ``GALLIUM_HUD=help`` and run e.g. ``glxgears`` for more info.
+
+``GALLIUM_HUD_PERIOD``
+ sets the hud update rate in seconds (float).
Use zero to update every frame. The default period is 1/2 second.
-- GALLIUM\_HUD\_VISIBLE - control default visibility, defaults to true.
-- GALLIUM\_HUD\_TOGGLE\_SIGNAL - toggle visibility via user specified
+
+``GALLIUM_HUD_VISIBLE``
+ control default visibility, defaults to true.
+
+``GALLIUM_HUD_TOGGLE_SIGNAL``
+ toggle visibility via user specified
signal. Especially useful to toggle hud at specific points of
application and disable for unencumbered viewing the rest of the
- time. For example, set GALLIUM\_HUD\_VISIBLE to false and
- GALLIUM\_HUD\_TOGGLE\_SIGNAL to 10 (SIGUSR1). Use kill -10 <pid> to
- toggle the hud as desired.
-- GALLIUM\_HUD\_DUMP\_DIR - specifies a directory for writing the
+ time. For example, set ``GALLIUM_HUD_VISIBLE`` to ``false`` and
+ ``GALLIUM_HUD_TOGGLE_SIGNAL`` to ``10`` (``SIGUSR1``). Use ``kill -10 <pid>``
+ to toggle the hud as desired.
+
+``GALLIUM_HUD_DUMP_DIR``
+ specifies a directory for writing the
displayed hud values into files.
-- GALLIUM\_DRIVER - useful in combination with
- LIBGL\_ALWAYS\_SOFTWARE=true for choosing one of the software
- renderers "softpipe", "llvmpipe" or "swr".
-- GALLIUM\_LOG\_FILE - specifies a file for logging all errors,
+
+``GALLIUM_DRIVER``
+ useful in combination with
+ ``LIBGL_ALWAYS_SOFTWARE=true`` for choosing one of the software
+ renderers ``softpipe``, ``llvmpipe`` or ``swr``.
+
+``GALLIUM_LOG_FILE``
+ specifies a file for logging all errors,
warnings, etc. rather than stderr.
-- GALLIUM\_PRINT\_OPTIONS - if non-zero, print all the Gallium
+
+``GALLIUM_PRINT_OPTIONS``
+ if non-zero, print all the Gallium
environment variables which are used, and their current values.
-- GALLIUM\_DUMP\_CPU - if non-zero, print information about the CPU on
+
+``GALLIUM_DUMP_CPU``
+ if non-zero, print information about the CPU on
start-up
-- TGSI\_PRINT\_SANITY - if set, do extra sanity checking on TGSI
+
+``TGSI_PRINT_SANITY``
+ if set, do extra sanity checking on TGSI
shaders and print any errors to stderr.
-- DRAW\_FSE - ???
-- DRAW\_NO\_FSE - ???
-- DRAW\_USE\_LLVM - if set to zero, the draw module will not use LLVM
+
+``DRAW_FSE``
+ ???
+
+``DRAW_NO_FSE``
+ ???
+
+``DRAW_USE_LLVM``
+ if set to zero, the draw module will not use LLVM
to execute shaders, vertex fetch, etc.
-- ST\_DEBUG - controls debug output from the Mesa/Gallium state
- tracker. Setting to "tgsi", for example, will print all the TGSI
- shaders. See src/mesa/state\_tracker/st\_debug.c for other options.
+
+``ST_DEBUG``
+ controls debug output from the Mesa/Gallium state
+ tracker. Setting to ``tgsi``, for example, will print all the TGSI
+ shaders. See ``src/mesa/state_tracker/st_debug.c`` for other options.
Clover state tracker environment variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- CLOVER\_EXTRA\_BUILD\_OPTIONS - allows specifying additional compiler
+``CLOVER_EXTRA_BUILD_OPTIONS``
+ allows specifying additional compiler
and linker options. Specified options are appended after the options
- set by the OpenCL program in clBuildProgram.
-- CLOVER\_EXTRA\_COMPILE\_OPTIONS - allows specifying additional
+ set by the OpenCL program in ``clBuildProgram``.
+
+``CLOVER_EXTRA_COMPILE_OPTIONS``
+ allows specifying additional
compiler options. Specified options are appended after the options
- set by the OpenCL program in clCompileProgram.
-- CLOVER\_EXTRA\_LINK\_OPTIONS - allows specifying additional linker
+ set by the OpenCL program in ``clCompileProgram``.
+
+``CLOVER_EXTRA_LINK_OPTIONS``
+ allows specifying additional linker
options. Specified options are appended after the options set by the
- OpenCL program in clLinkProgram.
+ OpenCL program in ``clLinkProgram``.
Softpipe driver environment variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- SOFTPIPE\_DUMP\_FS - if set, the softpipe driver will print fragment
+``SOFTPIPE_DUMP_FS``
+ if set, the softpipe driver will print fragment
shaders to stderr
-- SOFTPIPE\_DUMP\_GS - if set, the softpipe driver will print geometry
+
+``SOFTPIPE_DUMP_GS``
+ if set, the softpipe driver will print geometry
shaders to stderr
-- SOFTPIPE\_NO\_RAST - if set, rasterization is no-op'd. For profiling
+
+``SOFTPIPE_NO_RAST``
+ if set, rasterization is no-op'd. For profiling
purposes.
-- SOFTPIPE\_USE\_LLVM - if set, the softpipe driver will try to use
+
+``SOFTPIPE_USE_LLVM``
+ if set, the softpipe driver will try to use
LLVM JIT for vertex shading processing.
LLVMpipe driver environment variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- LP\_NO\_RAST - if set LLVMpipe will no-op rasterization
-- LP\_DEBUG - a comma-separated list of debug options is accepted. See
+``LP_NO_RAST``
+ if set LLVMpipe will no-op rasterization
+
+``LP_DEBUG``
+ a comma-separated list of debug options is accepted. See
the source code for details.
-- LP\_PERF - a comma-separated list of options to selectively no-op
+
+``LP_PERF``
+ a comma-separated list of options to selectively no-op
various parts of the driver. See the source code for details.
-- LP\_NUM\_THREADS - an integer indicating how many threads to use for
+
+``LP_NUM_THREADS``
+ an integer indicating how many threads to use for
rendering. Zero turns off threading completely. The default value is
the number of CPU cores present.
VMware SVGA driver environment variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- SVGA\_FORCE\_SWTNL - force use of software vertex transformation
-- SVGA\_NO\_SWTNL - don't allow software vertex transformation
+``SVGA_FORCE_SWTNL``
+ force use of software vertex transformation
+
+``SVGA_NO_SWTNL``
+ don't allow software vertex transformation
fallbacks (will often result in incorrect rendering).
-- SVGA\_DEBUG - for dumping shaders, constant buffers, etc. See the
+
+``SVGA_DEBUG``
+ for dumping shaders, constant buffers, etc. See the
code for details.
-- SVGA\_EXTRA\_LOGGING - if set, enables extra logging to the
+
+``SVGA_EXTRA_LOGGING``
+ if set, enables extra logging to the
vmware.log file, such as the OpenGL program's name and command line
arguments.
-- See the driver code for other, lesser-used variables.
+
+See the driver code for other, lesser-used variables.
WGL environment variables
~~~~~~~~~~~~~~~~~~~~~~~~~
-- WGL\_SWAP\_INTERVAL - to set a swap interval, equivalent to calling
- wglSwapIntervalEXT() in an application. If this environment variable
- is set, application calls to wglSwapIntervalEXT() will have no
+``WGL_SWAP_INTERVAL``
+ to set a swap interval, equivalent to calling
+ ``wglSwapIntervalEXT()`` in an application. If this environment variable
+ is set, application calls to ``wglSwapIntervalEXT()`` will have no
effect.
VA-API state tracker environment variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- VAAPI\_MPEG4\_ENABLED - enable MPEG4 for VA-API, disabled by default.
+``VAAPI_MPEG4_ENABLED``
+ enable MPEG4 for VA-API, disabled by default.
VC4 driver environment variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- VC4\_DEBUG - a comma-separated list of named flags, which do various
+``VC4_DEBUG``
+ a comma-separated list of named flags, which do various
things:
- - cl - dump command list during creation
- - qpu - dump generated QPU instructions
- - qir - dump QPU IR during program compile
- - nir - dump NIR during program compile
- - tgsi - dump TGSI during program compile
- - shaderdb - dump program compile information for shader-db analysis
- - perf - print during performance-related events
- - norast - skip actual hardware execution of commands
- - always\_flush - flush after each draw call
- - always\_sync - wait for finish after each flush
- - dump - write a GPU command stream trace file (VC4 simulator only)
+ ``cl``
+ dump command list during creation
+
+ ``qpu``
+ dump generated QPU instructions
+
+ ``qir``
+ dump QPU IR during program compile
+
+ ``nir``
+ dump NIR during program compile
+
+ ``tgsi``
+ dump TGSI during program compile
+
+ ``shaderdb``
+ dump program compile information for shader-db analysis
+
+ ``perf``
+ print during performance-related events
+
+ ``norast``
+ skip actual hardware execution of commands
+
+ ``always_flush``
+ flush after each draw call
+
+ ``always_sync``
+ wait for finish after each flush
+
+ ``dump``
+ write a GPU command stream trace file (VC4 simulator only)
Other Gallium drivers have their own environment variables. These may
change frequently so the source code should be consulted for details.