| Environment Variables |
| ===================== |
| |
| 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. |
| |
| 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. |
| |
| - 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_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 <shading.html#envvars>`__ |
| ``MESA_NO_MINMAX_CACHE`` |
| when set, the minmax index cache is globally disabled. |
| ``MESA_SHADER_CAPTURE_PATH`` |
| see `Capturing Shaders <shading.html#capture>`__ |
| ``MESA_SHADER_DUMP_PATH`` and ``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]`` |
| - 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 |
| -------------------------------------- |
| |
| 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 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 |
| ``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. |
| |
| EGL environment variables |
| ------------------------- |
| |
| Mesa EGL supports different sets of environment variables. See the `Mesa |
| EGL <egl.html>`__ page for the details. |
| |
| Gallium environment variables |
| ----------------------------- |
| |
| ``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). 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_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. |
| |
| 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 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: |
| ``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`` |
| Print driver information |
| ``tex`` |
| Print texture info |
| ``compute`` |
| Print compute info |
| ``vm`` |
| Print virtual addresses when creating resources |
| ``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 |
| ``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. |
| ``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 frequently so the source code should be consulted for details. |