variable is set), or else within ``.cache/mesa_shader_cache`` within
the user's home directory.
``MESA_GLSL``
- `shading language compiler options <shading.rst#envvars>`__
+ :ref:`shading language compiler options <envvars>`
``MESA_NO_MINMAX_CACHE``
when set, the minmax index cache is globally disabled.
``MESA_SHADER_CAPTURE_PATH``
- see `Capturing Shaders <shading.rst#capture>`__
+ see :ref:`Capturing Shaders <capture>`
``MESA_SHADER_DUMP_PATH`` and ``MESA_SHADER_READ_PATH``
- see `Experimenting with Shader
- Replacements <shading.rst#replacement>`__
+ see :ref:`Experimenting with Shader
+ Replacements <replacement>`
``MESA_VK_VERSION_OVERRIDE``
changes the Vulkan physical device version as returned in
``VkPhysicalDeviceProperties::apiVersion``.
- This can be very useful for debugging but some features may not be
implemented correctly. (For developers only)
-NIR passes enviroment variables
--------------------------------
+NIR passes environment 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
``NIR_PRINT``
If defined, the resulting NIR shader will be printed out at each
- succesful NIR lowering/optimization call.
+ successful NIR lowering/optimization call.
``NIR_TEST_CLONE``
- If defined, cloning a NIR shader would be tested at each succesful
+ If defined, cloning a NIR shader would be tested at each successful
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.
+ each successful 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.rst>`__ for details.
+the :doc:`Xlib software driver page <xlibdriver>` for details.
``MESA_RGB_VISUAL``
specifies the X visual and depth for RGB mode
EGL environment variables
-------------------------
-Mesa EGL supports different sets of environment variables. See the `Mesa
-EGL <egl.rst>`__ page for the details.
+Mesa EGL supports different sets of environment variables. See the
+:doc:`Mesa EGL <egl>` page for the details.
Gallium environment variables
-----------------------------
Softpipe driver environment variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-``SOFTPIPE_DUMP_FS``
- if set, the softpipe driver will print fragment shaders to stderr
-``SOFTPIPE_DUMP_GS``
- if set, the softpipe driver will print geometry shaders to stderr
-``SOFTPIPE_NO_RAST``
- if set, rasterization is no-op'd. For profiling purposes.
-``SOFTPIPE_USE_LLVM``
- if set, the softpipe driver will try to use LLVM JIT for vertex
- shading processing.
+``SOFTPIPE_DEBUG``
+ a comma-separated list of named flags, which do various things:
+
+ ``vs``
+ Dump vertex shader assembly to stderr
+ ``fs``
+ Dump fragment shader assembly to stderr
+ ``gs``
+ Dump geometry shader assembly to stderr
+ ``cs``
+ Dump compute shader assembly to stderr
+ ``no_rast``
+ rasterization is no-op'd. For profiling purposes.
+ ``use_llvm``
+ the softpipe driver will try to use LLVM JIT for vertex
+ shading processing.
LLVMpipe driver environment variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``RADV_DEBUG``
a comma-separated list of named flags, which do various things:
+ ``llvm``
+ enable LLVM compiler backend
``allbos``
force all allocated buffers to be referenced in submissions
``allentrypoints``
validate the LLVM IR before LLVM compiles the shader
``errors``
display more info about errors
+ ``forcecompress``
+ Enables DCC,FMASK,CMASK,HTILE in situations where the driver supports it
+ but normally does not deem it beneficial.
``info``
show GPU-related information
``metashaders``
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``
``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 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``
validate register assignment of ACO IR and catches many RA bugs
``perfwarn``
abort on some suboptimal code generation
+ ``force-waitcnt``
+ force emitting waitcnt states if there is something to wait for
radeonsi driver environment variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~