X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2Fenvvars.html;h=a642daf59c2ad6e1b1013e2dcef8a2c2eed09db4;hb=dde998685e7b254b1a80ceafe64776d6d1f28ea9;hp=530bbb7869671c720c65f25716250ed4d705cfcf;hpb=56a1c10bb8cc957caa9ebc3723b4692a522a02f5;p=mesa.git
diff --git a/docs/envvars.html b/docs/envvars.html
index 530bbb78696..a642daf59c2 100644
--- a/docs/envvars.html
+++ b/docs/envvars.html
@@ -8,7 +8,7 @@
@@ -25,78 +25,206 @@ 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 DRI drivers
-
- LIBGL_ALWAYS_INDIRECT - forces an indirect rendering context/connection.
-
- LIBGL_ALWAYS_SOFTWARE - if set, always use software rendering
-
- LIBGL_NO_DRAWARRAYS - if set 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 (the value does not matter)
-
-
-
+
+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 rendering
+ context/connection.
+LIBGL_ALWAYS_SOFTWARE
+- if set to
true
, always use software rendering
+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
.
+
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 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
+ 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
:
+
+ 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 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, warnings,
+ etc., rather than stderr
+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 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 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.
-- 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_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.
- If the value of MESA_DEBUG is 'FP' floating point arithmetic errors will
- generate exceptions.
- - 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 with
-fragment programs (intended for developers only)
-
- 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 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]
-
- FC is an optional suffix that indicates a forward compatible context.
-This is only valid for versions >= 3.0.
-
- GL versions < 3.0 are set to a compatibility (non-Core) profile
-
- GL versions = 3.0, see below
-
- GL versions > 3.0 are set to a Core profile
-
- Examples: 2.1, 3.0, 3.0FC, 3.1, 3.1FC
-
-- 2.1 - select a compatibility (non-Core) profile with GL version 2.1
-
- 3.0 - select a compatibility (non-Core) profile with GL version 3.0
-
- 3.0FC - select a Core+Forward Compatible profile with GL version 3.0
-
- 3.1 - select a Core profile with GL version 3.1
-
- 3.1FC - select a Core+Forward Compatible profile with GL version 3.1
+
- 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 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.
+ - GL versions >= 3.2 are set to a Core profile
+
- Examples:
+
+ 2.1
+ - select a compatibility (non-Core) profile with GL version 2.1.
+ 3.0
+ - select a compatibility (non-Core) profile with GL version 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 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
+ enabled.
+ X.Y
+ - override GL version to X.Y without changing the profile.
+ X.YFC
+ - select a Core+Forward Compatible profile with GL version X.Y.
+ X.YCOMPAT
+ - select a Compatibility profile with GL version X.Y.
+
+ - 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.
+
+- 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 features of the given language version
-if it's higher than what's normally reported. (for developers only)
-
- MESA_GLSL - shading language compiler options
-
+
+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 shader cache
+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 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 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_shader_cache
(if that
+ variable is set), or else within .cache/mesa_shader_cache
+ within the user's home directory.
+
+MESA_GLSL
+- shading language compiler options
+MESA_NO_MINMAX_CACHE
+- when set, the minmax index cache is globally disabled.
+MESA_SHADER_CAPTURE_PATH
+- see Capturing Shaders
+MESA_SHADER_DUMP_PATH
and MESA_SHADER_READ_PATH
+- see Experimenting with Shader Replacements
+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 version as advertised by
+
vkEnumerateInstanceVersion
+ - This can be very useful for debugging but some features may not be
+ implemented correctly. (For developers only)
+
+
+
+
+
+NIR passes enviroment variables
+
+The following are only applicable for drivers that uses NIR, as they
+modify the behaviour for the common NIR_PASS and NIR_PASS_V macros,
+that wrap calls to NIR lowering/optimizations.
+
+
+
+ NIR_PRINT
+ - If defined, the resulting NIR shader will be printed out at each succesful NIR lowering/optimization call.
+ NIR_TEST_CLONE
+ - If defined, cloning a NIR shader would be tested at each succesful NIR lowering/optimization call.
+ NIR_TEST_SERIALIZE
+ - If defined, serialize and deserialize a NIR shader would be tested at each succesful NIR lowering/optimization call.
+
Mesa Xlib driver environment variables
@@ -105,64 +233,139 @@ if it's higher than what's normally reported. (for developers only)
The following are only applicable to the Mesa Xlib software driver.
See the Xlib software driver page 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 channels
-
- 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 channel.
-
- MESA_GLX_DEPTH_BITS - specifies default number of bits for depth buffer.
-
- MESA_GLX_ALPHA_BITS - specifies default number of bits for alpha channel.
-
+
+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 visuals
+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 buffer.
+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 the hardware.
- This is useful for debugging hangs, etc.
-- INTEL_DEBUG - a comma-separated list of named flags, which do various things:
-
- - tex - emit messages about textures.
- - state - emit messages about state flag tracking
- - blit - emit messages about blit operations
- - miptree - emit messages about miptrees
- - perf - emit messages about performance issues
- - perfmon - emit messages about AMD_performance_monitor
- - bat - emit batch information
- - pix - emit messages about pixel operations
- - buf - emit messages about buffer objects
- - reg - emit messages about regions
- - fbo - emit messages about framebuffers
- - fs - dump shader assembly for fragment shaders
- - gs - dump shader assembly for geometry shaders
- - sync - emit messages about synchronization
- - prim - emit messages about drawing primitives
- - vert - emit messages about vertex assembly
- - dri - emit messages about the DRI interface
- - sf - emit messages about the strips & fans unit (for old gens, includes the SF program)
- - stats - enable statistics counters. you probably actually want perfmon or intel_gpu_top instead.
- - urb - emit messages about URB setup
- - vs - dump shader assembly for vertex shaders
- - clip - emit messages about the clip unit (for old gens, includes the CLIP program)
- - aub - dump batches into an AUB trace for use with simulation tools
- - shader_time - record how much GPU time is spent in each shader
- - no16 - suppress generation of 16-wide fragment shaders. useful for debugging broken shaders
- - blorp - emit messages about the blorp operations (blits & clears)
- - nodualobj - suppress generation of dual-object geometry shader code
- - optimizer - dump shader assembly to files at each optimization pass and iteration that make progress
-
-
+
+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 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 the CLIP program)
+ 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 debugging broken shaders
+ nocompact
+ - disable instruction compaction
+ nodualobj
+ - suppress generation of dual-object geometry shader code
+ nofc
+ - disable fast clears
+ 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, 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 (useful to debug spilling code)
+ 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 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 shader stage (Gen8-9 only)
+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 Transform/Clip/Lighting.
-
+
+RADEON_NO_TCL
+- if set, disable hardware-accelerated Transform/Clip/Lighting.
+
EGL environment variables
@@ -175,66 +378,403 @@ Mesa EGL supports different sets of environment variables. See the
Gallium environment variables
-
-- GALLIUM_HUD - draws various information on the screen, like framerate,
+
+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_VISIBLE - control default visibility, defaults to true.
-
- GALLIUM_HUD_TOGGLE_SIGNAL - toggle visibility via user specified signal.
+ 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 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_SIGNAL_TOGGLE to 10 (SIGUSR1).
- Use kill -10 to toggle the hud as desired.
-
- 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 environment
- variables which are used, and their current values.
-
- 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 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 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.
-
+ 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_SCALE
+Scale hud by an integer factor, for high DPI displays. Default is 1.
+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, warnings, etc.
+ rather than stderr.
+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 start-up
+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 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.
+
+
+Clover environment variables
+
+
+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 compiler
+ options. Specified options are appended after the options 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
.
+
+
Softpipe driver environment variables
-
-- 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 shaders
- to stderr
-
- 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 LLVM JIT for
- vertex shading processing.
-
+
+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 shaders to stderr
+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 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 the
- source code for details.
-
- 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 rendering.
- Zero turns of threading completely. The default value is the number of CPU
- cores present.
-
+
+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 various
+ parts of the driver. See the source code for details.
+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 fallbacks
-(will often result in incorrect rendering).
-
- SVGA_DEBUG - for dumping shaders, constant buffers, etc. See the code
-for details.
-
- See the driver code for other, lesser-used variables.
-
-
+
+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 code for
+ details.
+SVGA_EXTRA_LOGGING
+- if set, enables extra logging to the
vmware.log
file,
+ such as the OpenGL program's name and command line arguments.
+SVGA_NO_LOGGING
+- if set, disables logging to the
vmware.log
file. This is
+ useful when using Valgrind because it otherwise crashes when
+ initializing the host log feature.
+
+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 effect.
+
+
+VA-API environment variables
+
+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 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)
+
+
+
+
+
+RADV driver environment variables
+
+RADV_DEBUG
+- a comma-separated list of named flags, which do various things:
+
+ allbos
+ - force all allocated buffers to be referenced in submissions
+ allentrypoints
+ - enable all device/instance entrypoints
+ checkir
+ - validate the LLVM IR before LLVM compiles the shader
+ errors
+ - display more info about errors
+ info
+ - show GPU-related information
+ metashaders
+ - dump internal meta shaders
+ nobinning
+ - disable primitive binning
+ nocache
+ - disable shaders cache
+ nocompute
+ - disable compute queue
+ nodcc
+ - disable Delta Color Compression (DCC) on images
+ nodynamicbounds
+ - do not check OOB access for dynamic descriptors
+ nofastclears
+ - disable fast color/depthstencil clears
+ nohiz
+ - disable HIZ for depthstencil images
+ noibs
+ - disable directly recording command buffers in GPU-visible memory
+ noloadstoreopt
+ - disable LLVM SILoadStoreOptimizer pass
+ nomemorycache
+ - disable memory shaders cache
+ nongg
+ - disable NGG for GFX10+
+ nooutoforder
+ - disable out-of-order rasterization
+ noshaderballot
+ - disable shader ballot
+ nothreadllvm
+ - disable LLVM threaded compilation
+ preoptir
+ - dump LLVM IR before any optimizations
+ shaders
+ - dump shaders
+ shaderstats
+ - dump shader statistics
+ spirv
+ - dump SPIR-V
+ startup
+ - display info at startup
+ syncshaders
+ - synchronize shaders after all draws/dispatches
+ vmfaults
+ - check for VM memory faults via dmesg
+ zerovram
+ - initialize all memory allocated in VRAM as zero
+
+
+RADV_FORCE_FAMILY
+- create a null device to compile shaders without a AMD GPU (eg. gfx900)
+RADV_PERFTEST
+- a comma-separated list of named flags, which do various things:
+
+ aco
+ - enable ACO experimental compiler
+ bolist
+ - enable the global BO list
+ cswave32
+ - enable wave32 for compute shaders (GFX10+)
+ dccmsaa
+ - enable DCC for MSAA images
+ dfsm
+ - enable dfsm
+ gewave32
+ - enable wave32 for vertex/tess/geometry shaders (GFX10+)
+ localbos
+ - enable local BOs
+ pswave32
+ - enable wave32 for pixel shaders (GFX10+)
+ shader_ballot
+ - enable shader ballot
+ tccompatcmask
+ - enable TC-compat cmask for MSAA images
+
+
+RADV_SECURE_COMPILE_THREADS
+- maximum number of secure compile threads (up to 32)
+RADV_TEX_ANISO
+- force anisotropy filter (up to 16)
+RADV_TRACE_FILE
+- generate cmdbuffer tracefiles when a GPU hang is detected
+ACO_DEBUG
+- a comma-separated list of named flags, which do various things:
+
+ validateir
+ - validate the ACO IR at various points of compilation (enabled by default for debug/debugoptimized builds)
+ validatera
+ - validate register assignment of ACO IR and catches many RA bugs
+ perfwarn
+ - abort on some suboptimal code generation
+
+
+
+
+radeonsi driver environment variables
+
+AMD_DEBUG
+- a comma-separated list of named flags, which do various things:
+
+
+ Disable features / workaround flags (useful to diagnose an issue):
+ nodma
+ - Disable SDMA
+ nodmaclear
+ - Disable SDMA clears
+ nodmacopyimage
+ - Disable SDMA image copies
+ zerovram
+ - Clear VRAM allocations.
+ nodcc
+ - Disable DCC.
+ nodccclear
+ - Disable DCC fast clear.
+ nodccfb
+ - Disable separate DCC on the main framebuffer
+ nodccmsaa
+ - Disable DCC for MSAA
+ nodpbb
+ - Disable DPBB.
+ nodfsm
+ - Disable DFSM.
+ notiling
+ - Disable tiling
+ nofmask
+ - Disable MSAA compression
+ nohyperz
+ - Disable Hyper-Z
+ norbplus
+ - Disable RB+.
+ no2d
+ - Disable 2D tiling
+ Info flags:
+ info
+ - Print driver information
+ tex
+ - Print texture info
+ compute
+ - Print compute info
+ vm
+ - Print virtual addresses when creating resources
+ Print shaders flags:
+ vs
+ - Print vertex shaders
+ ps
+ - Print pixel shaders
+ gs
+ - Print geometry shaders
+ tcs
+ - Print tessellation control shaders
+ tes
+ - Print tessellation evaluation shaders
+ cs
+ - Print compute shaders
+ noir
+ - Don't print the LLVM IR
+ nonir
+ - Don't print NIR when printing shaders
+ noasm
+ - Don't print disassembled shaders
+ preoptir
+ - Print the LLVM IR before initial optimizations
+ Shader compilation tuning flags:
+ gisel
+ - Enable LLVM global instruction selector.
+ w32ge
+ - Use Wave32 for vertex, tessellation, and geometry shaders.
+ w32ps
+ - Use Wave32 for pixel shaders.
+ w32cs
+ - Use Wave32 for computes shaders.
+ w64ge
+ - Use Wave64 for vertex, tessellation, and geometry shaders.
+ w64ps
+ - Use Wave64 for pixel shaders.
+ w64cs
+ - Use Wave64 for computes shaders.
+ checkir
+ - Enable additional sanity checks on shader IR
+ mono
+ - Use old-style monolithic shaders compiled on demand
+ nooptvariant
+ - Disable compiling optimized shader variants.
+ Advanced usage flags:
+ forcedma
+ - Use SDMA for all operations when possible.
+ nowc
+ - Disable GTT write combining
+ check_vm
+ - Check VM faults and dump debug info.
+ reserve_vmid
+ - Force VMID reservation per context.
+ nogfx
+ - Disable graphics. Only multimedia compute paths can be used.
+ nongg
+ - Disable NGG and use the legacy pipeline.
+ nggc
+ - Always use NGG culling even when it can hurt.
+ nonggc
+ - Disable NGG culling.
+ alwayspd
+ - Always enable the primitive discard compute shader.
+ pd
+ - Enable the primitive discard compute shader for large draw calls.
+ nopd
+ - Disable the primitive discard compute shader.
+ switch_on_eop
+ - Program WD/IA to switch on end-of-packet.
+ nooutoforder
+ - Disable out-of-order rasterization
+ dpbb
+ - Enable DPBB.
+ dfsm
+ - Enable DFSM.
+
Other Gallium drivers have their own environment variables. These may change