| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <html lang="en"> |
| <head> |
| <meta http-equiv="content-type" content="text/html; charset=utf-8"> |
| <title>Environment Variables</title> |
| <link rel="stylesheet" type="text/css" href="mesa.css"> |
| </head> |
| <body> |
| |
| <div class="header"> |
| The Mesa 3D Graphics Library |
| </div> |
| |
| <iframe src="contents.html"></iframe> |
| <div class="content"> |
| |
| <h1>Environment Variables</h1> |
| |
| <p> |
| Normally, no environment variables need to be set. Most of the environment |
| variables used by Mesa/Gallium are for debugging purposes, but they can |
| sometimes be useful for debugging end-user issues. |
| </p> |
| |
| |
| <h2>LibGL environment variables</h2> |
| |
| <dl> |
| <dt><code>LIBGL_DEBUG</code></dt> |
| <dd>If defined debug information will be printed to stderr. |
| If set to <code>verbose</code> additional information will be |
| printed.</dd> |
| <dt><code>LIBGL_DRIVERS_PATH</code></dt> |
| <dd>colon-separated list of paths to search for DRI drivers</dd> |
| <dt><code>LIBGL_ALWAYS_INDIRECT</code></dt> |
| <dd>if set to <code>true</code>, forces an indirect rendering |
| context/connection.</dd> |
| <dt><code>LIBGL_ALWAYS_SOFTWARE</code></dt> |
| <dd>if set to <code>true</code>, always use software rendering</dd> |
| <dt><code>LIBGL_NO_DRAWARRAYS</code></dt> |
| <dd>if set to <code>true</code>, do not use DrawArrays GLX protocol |
| (for debugging)</dd> |
| <dt><code>LIBGL_SHOW_FPS</code></dt> |
| <dd>print framerate to stdout based on the number of |
| <code>glXSwapBuffers</code> calls per second.</dd> |
| <dt><code>LIBGL_DRI3_DISABLE</code></dt> |
| <dd>disable DRI3 if set to <code>true</code>.</dd> |
| </dl> |
| |
| <h2>Core Mesa environment variables</h2> |
| |
| <dl> |
| <dt><code>MESA_NO_ASM</code></dt> |
| <dd>if set, disables all assembly language optimizations</dd> |
| <dt><code>MESA_NO_MMX</code></dt> |
| <dd>if set, disables Intel MMX optimizations</dd> |
| <dt><code>MESA_NO_3DNOW</code></dt> |
| <dd>if set, disables AMD 3DNow! optimizations</dd> |
| <dt><code>MESA_NO_SSE</code></dt> |
| <dd>if set, disables Intel SSE optimizations</dd> |
| <dt><code>MESA_NO_ERROR</code></dt> |
| <dd>if set to 1, error checking is disabled as per <code>KHR_no_error</code>. |
| 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.</dd> |
| <dt><code>MESA_DEBUG</code></dt> |
| <dd>if set, error messages are printed to stderr. For example, |
| if the application generates a <code>GL_INVALID_ENUM</code> error, a |
| corresponding error message indicating where the error occurred, and |
| possibly why, will be printed to stderr. For release builds, |
| <code>MESA_DEBUG</code> defaults to off (no debug output). |
| <code>MESA_DEBUG</code> accepts the following comma-separated list of |
| named flags, which adds extra behaviour to just set |
| <code>MESA_DEBUG=1</code>: |
| <dl> |
| <dt><code>silent</code></dt> |
| <dd>turn off debug messages. Only useful for debug builds.</dd> |
| <dt><code>flush</code></dt> |
| <dd>flush after each drawing command</dd> |
| <dt><code>incomplete_tex</code></dt> |
| <dd>extra debug messages when a texture is incomplete</dd> |
| <dt><code>incomplete_fbo</code></dt> |
| <dd>extra debug messages when a fbo is incomplete</dd> |
| <dt><code>context</code></dt> |
| <dd>create a debug context (see <code>GLX_CONTEXT_DEBUG_BIT_ARB</code>) |
| and print error and performance messages to stderr (or |
| <code>MESA_LOG_FILE</code>).</dd> |
| </dl> |
| </dd> |
| <dt><code>MESA_LOG_FILE</code></dt> |
| <dd>specifies a file name for logging all errors, warnings, |
| etc., rather than stderr</dd> |
| <dt><code>MESA_TEX_PROG</code></dt> |
| <dd>if set, implement conventional texture env modes with |
| fragment programs (intended for developers only)</dd> |
| <dt><code>MESA_TNL_PROG</code></dt> |
| <dd>if set, implement conventional vertex transformation operations with |
| vertex programs (intended for developers only). Setting this variable |
| automatically sets the <code>MESA_TEX_PROG</code> variable as well.</dd> |
| <dt><code>MESA_EXTENSION_OVERRIDE</code></dt> |
| <dd>can be used to enable/disable extensions. A value such as |
| <code>GL_EXT_foo -GL_EXT_bar</code> will enable the |
| <code>GL_EXT_foo</code> extension and disable the |
| <code>GL_EXT_bar</code> extension.</dd> |
| <dt><code>MESA_EXTENSION_MAX_YEAR</code></dt> |
| <dd>The <code>GL_EXTENSIONS</code> 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.</dd> |
| <dt><code>MESA_GL_VERSION_OVERRIDE</code></dt> |
| <dd>changes the value returned by |
| <code>glGetString(GL_VERSION)</code> and possibly the GL API type. |
| <ul> |
| <li>The format should be <code>MAJOR.MINOR[FC|COMPAT]</code> |
| <li><code>FC</code> is an optional suffix that indicates a forward |
| compatible context. This is only valid for versions >= 3.0. |
| <li><code>COMPAT</code> is an optional suffix that indicates a |
| compatibility context or <code>GL_ARB_compatibility</code> support. |
| This is only valid for versions >= 3.1. |
| <li>GL versions <= 3.0 are set to a compatibility (non-Core) |
| profile |
| <li>GL versions = 3.1, depending on the driver, it may or may not |
| have the <code>ARB_compatibility</code> extension enabled. |
| <li>GL versions >= 3.2 are set to a Core profile |
| <li>Examples: |
| <dl> |
| <dt><code>2.1</code></dt> |
| <dd>select a compatibility (non-Core) profile with GL version 2.1.</dd> |
| <dt><code>3.0</code></dt> |
| <dd>select a compatibility (non-Core) profile with GL version 3.0.</dd> |
| <dt><code>3.0FC</code></dt> |
| <dd>select a Core+Forward Compatible profile with GL version 3.0.</dd> |
| <dt><code>3.1</code></dt> |
| <dd>select GL version 3.1 with <code>GL_ARB_compatibility</code> |
| enabled per the driver default.</dd> |
| <dt><code>3.1FC</code></dt> |
| <dd>select GL version 3.1 with forward compatibility and |
| <code>GL_ARB_compatibility</code> disabled.</dd> |
| <dt><code>3.1COMPAT</code></dt> |
| <dd>select GL version 3.1 with <code>GL_ARB_compatibility</code> |
| enabled.</dd> |
| <dt><code>X.Y</code></dt> |
| <dd>override GL version to X.Y without changing the profile.</dd> |
| <dt><code>X.YFC</code></dt> |
| <dd>select a Core+Forward Compatible profile with GL version X.Y.</dd> |
| <dt><code>X.YCOMPAT</code></dt> |
| <dd>select a Compatibility profile with GL version X.Y.</dd> |
| </dl> |
| <li>Mesa may not really implement all the features of the given |
| version. (for developers only) |
| </ul> |
| </dd> |
| <dt><code>MESA_GLES_VERSION_OVERRIDE</code></dt> |
| <dd>changes the value returned by <code>glGetString(GL_VERSION)</code> |
| for OpenGL ES. |
| <ul> |
| <li> The format should be <code>MAJOR.MINOR</code> |
| <li> Examples: <code>2.0</code>, <code>3.0</code>, <code>3.1</code> |
| <li> Mesa may not really implement all the features of the given version. |
| (for developers only) |
| </ul> |
| </dd> |
| <dt><code>MESA_GLSL_VERSION_OVERRIDE</code></dt> |
| <dd>changes the value returned by |
| <code>glGetString(GL_SHADING_LANGUAGE_VERSION)</code>. |
| Valid values are integers, such as <code>130</code>. 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) |
| </dd> |
| <dt><code>MESA_GLSL_CACHE_DISABLE</code></dt> |
| <dd>if set to <code>true</code>, disables the GLSL shader cache</dd> |
| <dt><code>MESA_GLSL_CACHE_MAX_SIZE</code></dt> |
| <dd>if set, determines the maximum size of the on-disk cache of compiled GLSL |
| programs. Should be set to a number optionally followed by <code>K</code>, |
| <code>M</code>, or <code>G</code> 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.</dd> |
| <dt><code>MESA_GLSL_CACHE_DIR</code></dt> |
| <dd>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 <code>$XDG_CACHE_HOME/mesa_shader_cache</code> (if that |
| variable is set), or else within <code>.cache/mesa_shader_cache</code> |
| within the user's home directory. |
| </dd> |
| <dt><code>MESA_GLSL</code></dt> |
| <dd><a href="shading.html#envvars">shading language compiler options</a></dd> |
| <dt><code>MESA_NO_MINMAX_CACHE</code></dt> |
| <dd>when set, the minmax index cache is globally disabled.</dd> |
| <dt><code>MESA_SHADER_CAPTURE_PATH</code></dt> |
| <dd>see <a href="shading.html#capture">Capturing Shaders</a></dd> |
| <dt><code>MESA_SHADER_DUMP_PATH</code> and <code>MESA_SHADER_READ_PATH</code></dt> |
| <dd>see <a href="shading.html#replacement">Experimenting with Shader Replacements</a></dd> |
| <dt><code>MESA_VK_VERSION_OVERRIDE</code></dt> |
| <dd>changes the Vulkan physical device version |
| as returned in <code>VkPhysicalDeviceProperties::apiVersion</code>. |
| <ul> |
| <li>The format should be <code>MAJOR.MINOR[.PATCH]</code></li> |
| <li>This will not let you force a version higher than the driver's |
| instance version as advertised by |
| <code>vkEnumerateInstanceVersion</code></li> |
| <li>This can be very useful for debugging but some features may not be |
| implemented correctly. (For developers only)</li> |
| </ul> |
| </dd> |
| </dl> |
| |
| |
| <h2>NIR passes enviroment variables</h2> |
| <p> |
| 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. |
| </p> |
| |
| <dl> |
| <dt><code>NIR_PRINT</code></dt> |
| <dd>If defined, the resulting NIR shader will be printed out at each succesful NIR lowering/optimization call.</dd> |
| <dt><code>NIR_TEST_CLONE</code></dt> |
| <dd>If defined, cloning a NIR shader would be tested at each succesful NIR lowering/optimization call.</dd> |
| <dt><code>NIR_TEST_SERIALIZE</code></dt> |
| <dd>If defined, serialize and deserialize a NIR shader would be tested at each succesful NIR lowering/optimization call.</dd> |
| </dl> |
| |
| |
| <h2>Mesa Xlib driver environment variables</h2> |
| |
| <p> |
| The following are only applicable to the Mesa Xlib software driver. |
| See the <a href="xlibdriver.html">Xlib software driver page</a> for details. |
| </p> |
| <dl> |
| <dt><code>MESA_RGB_VISUAL</code></dt> |
| <dd>specifies the X visual and depth for RGB mode</dd> |
| <dt><code>MESA_CI_VISUAL</code></dt> |
| <dd>specifies the X visual and depth for CI mode</dd> |
| <dt><code>MESA_BACK_BUFFER</code></dt> |
| <dd>specifies how to implement the back color buffer, either |
| <code>pixmap</code> or <code>ximage</code></dd> |
| <dt><code>MESA_GAMMA</code></dt> |
| <dd>gamma correction coefficients for red, green, blue channels</dd> |
| <dt><code>MESA_XSYNC</code></dt> |
| <dd>enable synchronous X behavior (for debugging only)</dd> |
| <dt><code>MESA_GLX_FORCE_CI</code></dt> |
| <dd>if set, force GLX to treat 8bpp visuals as CI visuals</dd> |
| <dt><code>MESA_GLX_FORCE_ALPHA</code></dt> |
| <dd>if set, forces RGB windows to have an alpha channel.</dd> |
| <dt><code>MESA_GLX_DEPTH_BITS</code></dt> |
| <dd>specifies default number of bits for depth buffer.</dd> |
| <dt><code>MESA_GLX_ALPHA_BITS</code></dt> |
| <dd>specifies default number of bits for alpha channel.</dd> |
| </dl> |
| |
| |
| <h2>i945/i965 driver environment variables (non-Gallium)</h2> |
| |
| <dl> |
| <dt><code>INTEL_NO_HW</code></dt> |
| <dd>if set to 1, prevents batches from being submitted to the hardware. |
| This is useful for debugging hangs, etc.</dd> |
| <dt><code>INTEL_DEBUG</code></dt> |
| <dd>a comma-separated list of named flags, which do various things: |
| <dl> |
| <dt><code>ann</code></dt> |
| <dd>annotate IR in assembly dumps</dd> |
| <dt><code>aub</code></dt> |
| <dd>dump batches into an AUB trace for use with simulation tools</dd> |
| <dt><code>bat</code></dt> |
| <dd>emit batch information</dd> |
| <dt><code>blit</code></dt> |
| <dd>emit messages about blit operations</dd> |
| <dt><code>blorp</code></dt> |
| <dd>emit messages about the blorp operations (blits & clears)</dd> |
| <dt><code>buf</code></dt> |
| <dd>emit messages about buffer objects</dd> |
| <dt><code>clip</code></dt> |
| <dd>emit messages about the clip unit (for old gens, includes the CLIP program)</dd> |
| <dt><code>color</code></dt> |
| <dd>use color in output</dd> |
| <dt><code>cs</code></dt> |
| <dd>dump shader assembly for compute shaders</dd> |
| <dt><code>do32</code></dt> |
| <dd>generate compute shader SIMD32 programs even if workgroup size doesn't exceed the SIMD16 limit</dd> |
| <dt><code>dri</code></dt> |
| <dd>emit messages about the DRI interface</dd> |
| <dt><code>fbo</code></dt> |
| <dd>emit messages about framebuffers</dd> |
| <dt><code>fs</code></dt> |
| <dd>dump shader assembly for fragment shaders</dd> |
| <dt><code>gs</code></dt> |
| <dd>dump shader assembly for geometry shaders</dd> |
| <dt><code>hex</code></dt> |
| <dd>print instruction hex dump with the disassembly</dd> |
| <dt><code>l3</code></dt> |
| <dd>emit messages about the new L3 state during transitions</dd> |
| <dt><code>miptree</code></dt> |
| <dd>emit messages about miptrees</dd> |
| <dt><code>no8</code></dt> |
| <dd>don't generate SIMD8 fragment shader</dd> |
| <dt><code>no16</code></dt> |
| <dd>suppress generation of 16-wide fragment shaders. useful for debugging broken shaders</dd> |
| <dt><code>nocompact</code></dt> |
| <dd>disable instruction compaction</dd> |
| <dt><code>nodualobj</code></dt> |
| <dd>suppress generation of dual-object geometry shader code</dd> |
| <dt><code>nofc</code></dt> |
| <dd>disable fast clears</dd> |
| <dt><code>norbc</code></dt> |
| <dd>disable single sampled render buffer compression</dd> |
| <dt><code>optimizer</code></dt> |
| <dd>dump shader assembly to files at each optimization pass and iteration that make progress</dd> |
| <dt><code>perf</code></dt> |
| <dd>emit messages about performance issues</dd> |
| <dt><code>perfmon</code></dt> |
| <dd>emit messages about <code>AMD_performance_monitor</code></dd> |
| <dt><code>pix</code></dt> |
| <dd>emit messages about pixel operations</dd> |
| <dt><code>prim</code></dt> |
| <dd>emit messages about drawing primitives</dd> |
| <dt><code>reemit</code></dt> |
| <dd>mark all state dirty on each draw call</dd> |
| <dt><code>sf</code></dt> |
| <dd>emit messages about the strips & fans unit (for old gens, includes the SF program)</dd> |
| <dt><code>shader_time</code></dt> |
| <dd>record how much GPU time is spent in each shader</dd> |
| <dt><code>spill_fs</code></dt> |
| <dd>force spilling of all registers in the scalar backend (useful to debug spilling code)</dd> |
| <dt><code>spill_vec4</code></dt> |
| <dd>force spilling of all registers in the vec4 backend (useful to debug spilling code)</dd> |
| <dt><code>state</code></dt> |
| <dd>emit messages about state flag tracking</dd> |
| <dt><code>submit</code></dt> |
| <dd>emit batchbuffer usage statistics</dd> |
| <dt><code>sync</code></dt> |
| <dd>after sending each batch, emit a message and wait for that batch to finish rendering</dd> |
| <dt><code>tcs</code></dt> |
| <dd>dump shader assembly for tessellation control shaders</dd> |
| <dt><code>tes</code></dt> |
| <dd>dump shader assembly for tessellation evaluation shaders</dd> |
| <dt><code>tex</code></dt> |
| <dd>emit messages about textures.</dd> |
| <dt><code>urb</code></dt> |
| <dd>emit messages about URB setup</dd> |
| <dt><code>vert</code></dt> |
| <dd>emit messages about vertex assembly</dd> |
| <dt><code>vs</code></dt> |
| <dd>dump shader assembly for vertex shaders</dd> |
| </dl> |
| </dd> |
| <dt><code>INTEL_SCALAR_VS</code> (or <code>TCS</code>, <code>TES</code>, |
| <code>GS</code>)</dt> |
| <dd>force scalar/vec4 mode for a shader stage (Gen8-9 only)</dd> |
| <dt><code>INTEL_PRECISE_TRIG</code></dt> |
| <dd>if set to 1, true or yes, then the driver prefers accuracy over |
| performance in trig functions.</dd> |
| </dl> |
| |
| |
| <h2>Radeon driver environment variables (radeon, r200, and r300g)</h2> |
| |
| <dl> |
| <dt><code>RADEON_NO_TCL</code></dt> |
| <dd>if set, disable hardware-accelerated Transform/Clip/Lighting.</dd> |
| </dl> |
| |
| |
| <h2>EGL environment variables</h2> |
| |
| <p> |
| Mesa EGL supports different sets of environment variables. See the |
| <a href="egl.html">Mesa EGL</a> page for the details. |
| </p> |
| |
| |
| <h2>Gallium environment variables</h2> |
| |
| <dl> |
| <dt><code>GALLIUM_HUD</code></dt> |
| <dd>draws various information on the screen, like framerate, |
| cpu load, driver statistics, performance counters, etc. |
| Set <code>GALLIUM_HUD=help</code> and run e.g. |
| <code>glxgears</code> for more info.</dd> |
| <dt><code>GALLIUM_HUD_PERIOD</code></dt> |
| <dd>sets the hud update rate in seconds (float). Use zero |
| to update every frame. The default period is 1/2 second.</dd> |
| <dt><code>GALLIUM_HUD_VISIBLE</code></dt> |
| <dd>control default visibility, defaults to true.</dd> |
| <dt><code>GALLIUM_HUD_TOGGLE_SIGNAL</code></dt> |
| <dd>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 |
| <code>GALLIUM_HUD_VISIBLE</code> to <code>false</code> and |
| <code>GALLIUM_HUD_TOGGLE_SIGNAL</code> to <code>10</code> |
| (<code>SIGUSR1</code>). |
| Use <code>kill -10 <pid></code> to toggle the hud as desired.</dd> |
| <dt><code>GALLIUM_HUD_DUMP_DIR</code></dt> |
| <dd>specifies a directory for writing the displayed hud values into files.</dd> |
| <dt><code>GALLIUM_DRIVER</code></dt> |
| <dd>useful in combination with <code>LIBGL_ALWAYS_SOFTWARE=true</code> for |
| choosing one of the software renderers <code>softpipe</code>, |
| <code>llvmpipe</code> or <code>swr</code>.</dd> |
| <dt><code>GALLIUM_LOG_FILE</code></dt> |
| <dd>specifies a file for logging all errors, warnings, etc. |
| rather than stderr.</dd> |
| <dt><code>GALLIUM_PRINT_OPTIONS</code></dt> |
| <dd>if non-zero, print all the Gallium environment variables which are |
| used, and their current values.</dd> |
| <dt><code>GALLIUM_DUMP_CPU</code></dt> |
| <dd>if non-zero, print information about the CPU on start-up</dd> |
| <dt><code>TGSI_PRINT_SANITY</code></dt> |
| <dd>if set, do extra sanity checking on TGSI shaders and |
| print any errors to stderr.</dd> |
| <dt><code>DRAW_FSE</code></dt> |
| <dd>???</dd> |
| <dt><code>DRAW_NO_FSE</code></dt> |
| <dd>???</dd> |
| <dt><code>DRAW_USE_LLVM</code></dt> |
| <dd>if set to zero, the draw module will not use LLVM to execute |
| shaders, vertex fetch, etc.</dd> |
| <dt><code>ST_DEBUG</code></dt> |
| <dd>controls debug output from the Mesa/Gallium state tracker. |
| Setting to <code>tgsi</code>, for example, will print all the TGSI |
| shaders. See <code>src/mesa/state_tracker/st_debug.c</code> for other |
| options.</dd> |
| </dl> |
| |
| <h3>Clover state tracker environment variables</h3> |
| |
| <dl> |
| <dt><code>CLOVER_EXTRA_BUILD_OPTIONS</code></dt> |
| <dd>allows specifying additional compiler and linker |
| options. Specified options are appended after the options set by the OpenCL |
| program in <code>clBuildProgram</code>.</dd> |
| <dt><code>CLOVER_EXTRA_COMPILE_OPTIONS</code></dt> |
| <dd>allows specifying additional compiler |
| options. Specified options are appended after the options set by the OpenCL |
| program in <code>clCompileProgram</code>.</dd> |
| <dt><code>CLOVER_EXTRA_LINK_OPTIONS</code></dt> |
| <dd>allows specifying additional linker |
| options. Specified options are appended after the options set by the OpenCL |
| program in <code>clLinkProgram</code>.</dd> |
| </dl> |
| |
| |
| <h3>Softpipe driver environment variables</h3> |
| <dl> |
| <dt><code>SOFTPIPE_DUMP_FS</code></dt> |
| <dd>if set, the softpipe driver will print fragment shaders to stderr</dd> |
| <dt><code>SOFTPIPE_DUMP_GS</code></dt> |
| <dd>if set, the softpipe driver will print geometry shaders to stderr</dd> |
| <dt><code>SOFTPIPE_NO_RAST</code></dt> |
| <dd>if set, rasterization is no-op'd. For profiling purposes.</dd> |
| <dt><code>SOFTPIPE_USE_LLVM</code></dt> |
| <dd>if set, the softpipe driver will try to use LLVM JIT for |
| vertex shading processing.</dd> |
| </dl> |
| |
| |
| <h3>LLVMpipe driver environment variables</h3> |
| <dl> |
| <dt><code>LP_NO_RAST</code></dt> |
| <dd>if set LLVMpipe will no-op rasterization</dd> |
| <dt><code>LP_DEBUG</code></dt> |
| <dd>a comma-separated list of debug options is accepted. See the |
| source code for details.</dd> |
| <dt><code>LP_PERF</code></dt> |
| <dd>a comma-separated list of options to selectively no-op various |
| parts of the driver. See the source code for details.</dd> |
| <dt><code>LP_NUM_THREADS</code></dt> |
| <dd>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.</dd> |
| </dl> |
| |
| <h3>VMware SVGA driver environment variables</h3> |
| <dl> |
| <dt><code>SVGA_FORCE_SWTNL</code></dt> |
| <dd>force use of software vertex transformation</dd> |
| <dt><code>SVGA_NO_SWTNL</code></dt> |
| <dd>don't allow software vertex transformation fallbacks (will often result |
| in incorrect rendering).</dd> |
| <dt><code>SVGA_DEBUG</code></dt> |
| <dd>for dumping shaders, constant buffers, etc. See the code for |
| details.</dd> |
| <dt><code>SVGA_EXTRA_LOGGING</code></dt> |
| <dd>if set, enables extra logging to the <code>vmware.log</code> file, |
| such as the OpenGL program's name and command line arguments.</dd> |
| <dt><code>SVGA_NO_LOGGING</code></dt> |
| <dd>if set, disables logging to the <code>vmware.log</code> file. This is |
| useful when using Valgrind because it otherwise crashes when |
| initializing the host log feature.</dd> |
| </dl> |
| <p>See the driver code for other, lesser-used variables.</p> |
| |
| <h3>WGL environment variables</h3> |
| <dl> |
| <dt><code>WGL_SWAP_INTERVAL</code></dt> |
| <dd>to set a swap interval, equivalent to calling |
| <code>wglSwapIntervalEXT()</code> in an application. If this |
| environment variable is set, application calls to |
| <code>wglSwapIntervalEXT()</code> will have no effect.</dd> |
| </dl> |
| |
| <h3>VA-API state tracker environment variables</h3> |
| <dl> |
| <dt><code>VAAPI_MPEG4_ENABLED</code></dt> |
| <dd>enable MPEG4 for VA-API, disabled by default.</dd> |
| </dl> |
| |
| |
| <h3>VC4 driver environment variables</h3> |
| <dl> |
| <dt><code>VC4_DEBUG</code></dt> |
| <dd>a comma-separated list of named flags, which do various things: |
| <dl> |
| <dt><code>cl</code></dt> |
| <dd>dump command list during creation</dd> |
| <dt><code>qpu</code></dt> |
| <dd>dump generated QPU instructions</dd> |
| <dt><code>qir</code></dt> |
| <dd>dump QPU IR during program compile</dd> |
| <dt><code>nir</code></dt> |
| <dd>dump NIR during program compile</dd> |
| <dt><code>tgsi</code></dt> |
| <dd>dump TGSI during program compile</dd> |
| <dt><code>shaderdb</code></dt> |
| <dd>dump program compile information for shader-db analysis</dd> |
| <dt><code>perf</code></dt> |
| <dd>print during performance-related events</dd> |
| <dt><code>norast</code></dt> |
| <dd>skip actual hardware execution of commands</dd> |
| <dt><code>always_flush</code></dt> |
| <dd>flush after each draw call</dd> |
| <dt><code>always_sync</code></dt> |
| <dd>wait for finish after each flush</dd> |
| <dt><code>dump</code></dt> |
| <dd>write a GPU command stream trace file (VC4 simulator only)</dd> |
| </dl> |
| </dd> |
| </dl> |
| |
| |
| <h3>RADV driver environment variables</h3> |
| <dl> |
| <dt><code>RADV_DEBUG</code></dt> |
| <dd>a comma-separated list of named flags, which do various things: |
| <dl> |
| <dt><code>allbos</code></dt> |
| <dd>force all allocated buffers to be referenced in submissions</dd> |
| <dt><code>allentrypoints</code></dt> |
| <dd>enable all device/instance entrypoints</dd> |
| <dt><code>checkir</code></dt> |
| <dd>validate the LLVM IR before LLVM compiles the shader</dd> |
| <dt><code>errors</code></dt> |
| <dd>display more info about errors</dd> |
| <dt><code>info</code></dt> |
| <dd>show GPU-related information</dd> |
| <dt><code>metashaders</code></dt> |
| <dd>dump internal meta shaders</dd> |
| <dt><code>nobinning</code></dt> |
| <dd>disable primitive binning</dd> |
| <dt><code>nocache</code></dt> |
| <dd>disable shaders cache</dd> |
| <dt><code>nocompute</code></dt> |
| <dd>disable compute queue</dd> |
| <dt><code>nodcc</code></dt> |
| <dd>disable Delta Color Compression (DCC) on images</dd> |
| <dt><code>nodynamicbounds</code></dt> |
| <dd>do not check OOB access for dynamic descriptors</dd> |
| <dt><code>nofastclears</code></dt> |
| <dd>disable fast color/depthstencil clears</dd> |
| <dt><code>nohiz</code></dt> |
| <dd>disable HIZ for depthstencil images</dd> |
| <dt><code>noibs</code></dt> |
| <dd>disable directly recording command buffers in GPU-visible memory</dd> |
| <dt><code>noloadstoreopt</code></dt> |
| <dd>disable LLVM SILoadStoreOptimizer pass</dd> |
| <dt><code>nomemorycache</code></dt> |
| <dd>disable memory shaders cache</dd> |
| <dt><code>nongg</code></dt> |
| <dd>disable NGG for GFX10+</dd> |
| <dt><code>nooutoforder</code></dt> |
| <dd>disable out-of-order rasterization</dd> |
| <dt><code>noshaderballot</code></dt> |
| <dd>disable shader ballot</dd> |
| <dt><code>nosisched</code></dt> |
| <dd>disable LLVM sisched experimental scheduler</dd> |
| <dt><code>nothreadllvm</code></dt> |
| <dd>disable LLVM threaded compilation</dd> |
| <dt><code>preoptir</code></dt> |
| <dd>dump LLVM IR before any optimizations</dd> |
| <dt><code>shaders</code></dt> |
| <dd>dump shaders</dd> |
| <dt><code>shaderstats</code></dt> |
| <dd>dump shader statistics</dd> |
| <dt><code>spirv</code></dt> |
| <dd>dump SPIR-V</dd> |
| <dt><code>startup</code></dt> |
| <dd>display info at startup</dd> |
| <dt><code>syncshaders</code></dt> |
| <dd>synchronize shaders after all draws/dispatches</dd> |
| <dt><code>vmfaults</code></dt> |
| <dd>check for VM memory faults via dmesg</dd> |
| <dt><code>zerovram</code></dt> |
| <dd>initialize all memory allocated in VRAM as zero</dd> |
| </dl> |
| </dd> |
| <dt><code>RADV_FORCE_FAMILY</code></dt> |
| <dd>force the driver to use a specific family eg. gfx900 (developers only)</dd> |
| <dt><code>RADV_PERFTEST</code></dt> |
| <dd>a comma-separated list of named flags, which do various things: |
| <dl> |
| <dt><code>aco</code></dt> |
| <dd>enable ACO experimental compiler</dd> |
| <dt><code>bolist</code></dt> |
| <dd>enable the global BO list</dd> |
| <dt><code>cswave32</code></dt> |
| <dd>enable wave32 for compute shaders (GFX10+)</dd> |
| <dt><code>dccmsaa</code></dt> |
| <dd>enable DCC for MSAA images</dd> |
| <dt><code>dfsm</code></dt> |
| <dd>enable dfsm</dd> |
| <dt><code>gewave32</code></dt> |
| <dd>enable wave32 for vertex/tess/geometry shaders (GFX10+)</dd> |
| <dt><code>localbos</code></dt> |
| <dd>enable local BOs</dd> |
| <dt><code>nobatchchain</code></dt> |
| <dd>disable chained submissions</dd> |
| <dt><code>pswave32</code></dt> |
| <dd>enable wave32 for pixel shaders (GFX10+)</dd> |
| <dt><code>shader_ballot</code></dt> |
| <dd>enable shader ballot</dd> |
| <dt><code>sisched</code></dt> |
| <dd>enable LLVM sisched experimental scheduler</dd> |
| <dt><code>tccompatcmask</code></dt> |
| <dd>enable TC-compat cmask for MSAA images</dd> |
| </dl> |
| </dd> |
| <dt><code>RADV_SECURE_COMPILE_THREADS</code></dt> |
| <dd>maximum number of secure compile threads (up to 32)</dd> |
| <dt><code>RADV_TRACE_FILE</code></dt> |
| <dd>generate cmdbuffer tracefiles when a GPU hang is detected</dd> |
| </dl> |
| |
| |
| <p> |
| Other Gallium drivers have their own environment variables. These may change |
| frequently so the source code should be consulted for details. |
| </p> |
| |
| </div> |
| </body> |
| </html> |