diff options
author | Laura Ekstrand <laura@jlekstrand.net> | 2018-05-21 17:59:12 -0700 |
---|---|---|
committer | Laura Ekstrand <laura@jlekstrand.net> | 2018-06-15 16:07:20 -0700 |
commit | 25f7230f6e9075c47a146f172a674abe8120c5bc (patch) | |
tree | bd1cabdd8e1fe36294f14650588dfaf80edf2d3a | |
parent | f5a3d4a5792a24c2a970c30674c34b16d2b1bf7f (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.rst | 604 |
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. |