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.
+ 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
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>`__
+ :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.html#capture>`__
+ see :ref:`Capturing Shaders <capture>`
``MESA_SHADER_DUMP_PATH`` and ``MESA_SHADER_READ_PATH``
- see `Experimenting with Shader
- Replacements <shading.html#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.html>`__ 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.html>`__ 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
+ ``novn``
+ disable value numbering
+ ``noopt``
+ disable various optimizations
+ ``noscheduling``
+ disable instructions scheduling
radeonsi driver environment variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~