X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2Fenvvars.html;h=92f9207c80e145168abd87e85a16bf85cdc30f0b;hb=678140e195fe1e58edc888e7ea2b6ce3a4d61935;hp=530bbb7869671c720c65f25716250ed4d705cfcf;hpb=56a1c10bb8cc957caa9ebc3723b4692a522a02f5;p=mesa.git diff --git a/docs/envvars.html b/docs/envvars.html index 530bbb78696..92f9207c80e 100644 --- a/docs/envvars.html +++ b/docs/envvars.html @@ -8,7 +8,7 @@
-

The Mesa 3D Graphics Library

+ The Mesa 3D Graphics Library
@@ -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
+
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_GLES_VERSION_OVERRIDE
+
changes the value returned by glGetString(GL_VERSION) + for OpenGL ES. + -
  • 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. + +
    +
    + + +

    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,137 @@ 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.
    +

    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: +
    +
    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
    +
    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.
    +

    EGL environment variables

    @@ -175,65 +376,170 @@ Mesa EGL supports different sets of environment variables. See the

    Gallium environment variables

    - + 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, 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 state tracker 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.
    +

    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 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.
    +
    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 state tracker 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)
    +
    +
    +