1*61046927SAndroid Build Coastguard WorkerEnvironment Variables 2*61046927SAndroid Build Coastguard Worker===================== 3*61046927SAndroid Build Coastguard Worker 4*61046927SAndroid Build Coastguard WorkerNormally, no environment variables need to be set. Most of the 5*61046927SAndroid Build Coastguard Workerenvironment variables used by Mesa/Gallium are for debugging purposes, 6*61046927SAndroid Build Coastguard Workerbut they can sometimes be useful for debugging end-user issues. 7*61046927SAndroid Build Coastguard Worker 8*61046927SAndroid Build Coastguard WorkerLibGL environment variables 9*61046927SAndroid Build Coastguard Worker--------------------------- 10*61046927SAndroid Build Coastguard Worker 11*61046927SAndroid Build Coastguard Worker.. envvar:: LIBGL_DEBUG 12*61046927SAndroid Build Coastguard Worker 13*61046927SAndroid Build Coastguard Worker If defined debug information will be printed to stderr. If set to 14*61046927SAndroid Build Coastguard Worker ``verbose`` additional information will be printed. 15*61046927SAndroid Build Coastguard Worker 16*61046927SAndroid Build Coastguard Worker.. envvar:: LIBGL_ALWAYS_INDIRECT 17*61046927SAndroid Build Coastguard Worker 18*61046927SAndroid Build Coastguard Worker if set to ``true``, forces an indirect rendering context/connection. 19*61046927SAndroid Build Coastguard Worker 20*61046927SAndroid Build Coastguard Worker.. envvar:: LIBGL_ALWAYS_SOFTWARE 21*61046927SAndroid Build Coastguard Worker 22*61046927SAndroid Build Coastguard Worker if set to ``true``, always use software rendering 23*61046927SAndroid Build Coastguard Worker 24*61046927SAndroid Build Coastguard Worker.. envvar:: LIBGL_NO_DRAWARRAYS 25*61046927SAndroid Build Coastguard Worker 26*61046927SAndroid Build Coastguard Worker if set to ``true``, do not use DrawArrays GLX protocol (for 27*61046927SAndroid Build Coastguard Worker debugging) 28*61046927SAndroid Build Coastguard Worker 29*61046927SAndroid Build Coastguard Worker.. envvar:: LIBGL_DRI2_DISABLE 30*61046927SAndroid Build Coastguard Worker 31*61046927SAndroid Build Coastguard Worker disable DRI2 if set to ``true``. 32*61046927SAndroid Build Coastguard Worker 33*61046927SAndroid Build Coastguard Worker.. envvar:: LIBGL_DRI3_DISABLE 34*61046927SAndroid Build Coastguard Worker 35*61046927SAndroid Build Coastguard Worker disable DRI3 if set to ``true``. 36*61046927SAndroid Build Coastguard Worker 37*61046927SAndroid Build Coastguard Worker.. envvar:: LIBGL_KOPPER_DISABLE 38*61046927SAndroid Build Coastguard Worker 39*61046927SAndroid Build Coastguard Worker disable Vulkan swapchains with Zink if set to ``true``. 40*61046927SAndroid Build Coastguard Worker In general, this should not be used unless you know what you are 41*61046927SAndroid Build Coastguard Worker doing. Some examples of "knowing what you are doing" include: 42*61046927SAndroid Build Coastguard Worker - using a VK driver which has no WSI implementation for your display server 43*61046927SAndroid Build Coastguard Worker - profiling the DRI frontend against your VK driver's WSI implementation 44*61046927SAndroid Build Coastguard Worker 45*61046927SAndroid Build Coastguard Worker.. envvar:: LIBGL_KOPPER_DRI2 46*61046927SAndroid Build Coastguard Worker 47*61046927SAndroid Build Coastguard Worker disable DRI3 with Zink if set to ``true``. 48*61046927SAndroid Build Coastguard Worker In general, this should not be used unless you know what you are 49*61046927SAndroid Build Coastguard Worker doing. Some examples of "knowing what you are doing" include: 50*61046927SAndroid Build Coastguard Worker - running xrdp 51*61046927SAndroid Build Coastguard Worker - using a VK driver which doesn't support modifiers 52*61046927SAndroid Build Coastguard Worker 53*61046927SAndroid Build Coastguard WorkerCore Mesa environment variables 54*61046927SAndroid Build Coastguard Worker------------------------------- 55*61046927SAndroid Build Coastguard Worker 56*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_NO_ERROR 57*61046927SAndroid Build Coastguard Worker 58*61046927SAndroid Build Coastguard Worker if set to 1, error checking is disabled as per :ext:`GL_KHR_no_error`. 59*61046927SAndroid Build Coastguard Worker This will result in undefined behavior for invalid use of the API, but 60*61046927SAndroid Build Coastguard Worker can reduce CPU use for apps that are known to be error free. 61*61046927SAndroid Build Coastguard Worker 62*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_DEBUG 63*61046927SAndroid Build Coastguard Worker 64*61046927SAndroid Build Coastguard Worker if set, error messages are printed to stderr. For example, if the 65*61046927SAndroid Build Coastguard Worker application generates a ``GL_INVALID_ENUM`` error, a corresponding 66*61046927SAndroid Build Coastguard Worker error message indicating where the error occurred, and possibly why, 67*61046927SAndroid Build Coastguard Worker will be printed to stderr. For release builds, :envvar:`MESA_DEBUG` 68*61046927SAndroid Build Coastguard Worker defaults to off (no debug output). :envvar:`MESA_DEBUG` accepts the 69*61046927SAndroid Build Coastguard Worker following comma-separated list of named flags, which adds extra 70*61046927SAndroid Build Coastguard Worker behavior to just set :envvar:`MESA_DEBUG` to ``1``: 71*61046927SAndroid Build Coastguard Worker 72*61046927SAndroid Build Coastguard Worker ``silent`` 73*61046927SAndroid Build Coastguard Worker turn off debug messages. Only useful for debug builds. 74*61046927SAndroid Build Coastguard Worker ``flush`` 75*61046927SAndroid Build Coastguard Worker flush after each drawing command 76*61046927SAndroid Build Coastguard Worker ``incomplete_tex`` 77*61046927SAndroid Build Coastguard Worker extra debug messages when a texture is incomplete 78*61046927SAndroid Build Coastguard Worker ``incomplete_fbo`` 79*61046927SAndroid Build Coastguard Worker extra debug messages when a FBO is incomplete 80*61046927SAndroid Build Coastguard Worker ``context`` 81*61046927SAndroid Build Coastguard Worker create a debug context (see ``GLX_CONTEXT_DEBUG_BIT_ARB``) and 82*61046927SAndroid Build Coastguard Worker print error and performance messages to stderr (or 83*61046927SAndroid Build Coastguard Worker ``MESA_LOG_FILE``). 84*61046927SAndroid Build Coastguard Worker 85*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_PROCESS_NAME 86*61046927SAndroid Build Coastguard Worker 87*61046927SAndroid Build Coastguard Worker if set, overrides the process name string used internally for various 88*61046927SAndroid Build Coastguard Worker purposes (e.g. for driconf option matching, logging, artifact storage, 89*61046927SAndroid Build Coastguard Worker etc.). 90*61046927SAndroid Build Coastguard Worker 91*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_LOG_FILE 92*61046927SAndroid Build Coastguard Worker 93*61046927SAndroid Build Coastguard Worker specifies a file name for logging all errors, warnings, etc., rather 94*61046927SAndroid Build Coastguard Worker than stderr 95*61046927SAndroid Build Coastguard Worker 96*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_EXTENSION_OVERRIDE 97*61046927SAndroid Build Coastguard Worker 98*61046927SAndroid Build Coastguard Worker can be used to enable/disable extensions. A value such as 99*61046927SAndroid Build Coastguard Worker ``GL_EXT_foo -GL_EXT_bar`` will enable the ``GL_EXT_foo`` extension 100*61046927SAndroid Build Coastguard Worker and disable the ``GL_EXT_bar`` extension. Note that this will override 101*61046927SAndroid Build Coastguard Worker extensions override configured using driconf. 102*61046927SAndroid Build Coastguard Worker 103*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_EXTENSION_MAX_YEAR 104*61046927SAndroid Build Coastguard Worker 105*61046927SAndroid Build Coastguard Worker The ``GL_EXTENSIONS`` string returned by Mesa is sorted by extension 106*61046927SAndroid Build Coastguard Worker year. If this variable is set to year X, only extensions defined on 107*61046927SAndroid Build Coastguard Worker or before year X will be reported. This is to work-around a bug in 108*61046927SAndroid Build Coastguard Worker some games where the extension string is copied into a fixed-size 109*61046927SAndroid Build Coastguard Worker buffer without truncating. If the extension string is too long, the 110*61046927SAndroid Build Coastguard Worker buffer overrun can cause the game to crash. This is a work-around for 111*61046927SAndroid Build Coastguard Worker that. 112*61046927SAndroid Build Coastguard Worker 113*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_GL_VERSION_OVERRIDE 114*61046927SAndroid Build Coastguard Worker 115*61046927SAndroid Build Coastguard Worker changes the value returned by ``glGetString(GL_VERSION)`` and 116*61046927SAndroid Build Coastguard Worker possibly the GL API type. 117*61046927SAndroid Build Coastguard Worker 118*61046927SAndroid Build Coastguard Worker - The format should be ``MAJOR.MINOR[FC|COMPAT]`` 119*61046927SAndroid Build Coastguard Worker - ``FC`` is an optional suffix that indicates a forward compatible 120*61046927SAndroid Build Coastguard Worker context. This is only valid for versions >= 3.0. 121*61046927SAndroid Build Coastguard Worker - ``COMPAT`` is an optional suffix that indicates a compatibility 122*61046927SAndroid Build Coastguard Worker context or :ext:`GL_ARB_compatibility` support. This is only valid 123*61046927SAndroid Build Coastguard Worker for versions >= 3.1. 124*61046927SAndroid Build Coastguard Worker - GL versions <= 3.0 are set to a compatibility (non-Core) profile 125*61046927SAndroid Build Coastguard Worker - GL versions = 3.1, depending on the driver, it may or may not have 126*61046927SAndroid Build Coastguard Worker the :ext:`GL_ARB_compatibility` extension enabled. 127*61046927SAndroid Build Coastguard Worker - GL versions >= 3.2 are set to a Core profile 128*61046927SAndroid Build Coastguard Worker - Examples: 129*61046927SAndroid Build Coastguard Worker 130*61046927SAndroid Build Coastguard Worker ``2.1`` 131*61046927SAndroid Build Coastguard Worker select a compatibility (non-Core) profile with GL version 2.1. 132*61046927SAndroid Build Coastguard Worker ``3.0`` 133*61046927SAndroid Build Coastguard Worker select a compatibility (non-Core) profile with GL version 3.0. 134*61046927SAndroid Build Coastguard Worker ``3.0FC`` 135*61046927SAndroid Build Coastguard Worker select a Core+Forward Compatible profile with GL version 3.0. 136*61046927SAndroid Build Coastguard Worker ``3.1`` 137*61046927SAndroid Build Coastguard Worker select GL version 3.1 with :ext:`GL_ARB_compatibility` enabled 138*61046927SAndroid Build Coastguard Worker per the driver default. 139*61046927SAndroid Build Coastguard Worker ``3.1FC`` 140*61046927SAndroid Build Coastguard Worker select GL version 3.1 with forward compatibility and 141*61046927SAndroid Build Coastguard Worker :ext:`GL_ARB_compatibility` disabled. 142*61046927SAndroid Build Coastguard Worker ``3.1COMPAT`` 143*61046927SAndroid Build Coastguard Worker select GL version 3.1 with :ext:`GL_ARB_compatibility` enabled. 144*61046927SAndroid Build Coastguard Worker ``X.Y`` 145*61046927SAndroid Build Coastguard Worker override GL version to X.Y without changing the profile. 146*61046927SAndroid Build Coastguard Worker ``X.YFC`` 147*61046927SAndroid Build Coastguard Worker select a Core+Forward Compatible profile with GL version X.Y. 148*61046927SAndroid Build Coastguard Worker ``X.YCOMPAT`` 149*61046927SAndroid Build Coastguard Worker select a Compatibility profile with GL version X.Y. 150*61046927SAndroid Build Coastguard Worker 151*61046927SAndroid Build Coastguard Worker - Mesa may not really implement all the features of the given 152*61046927SAndroid Build Coastguard Worker version. (for developers only) 153*61046927SAndroid Build Coastguard Worker 154*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_GLES_VERSION_OVERRIDE 155*61046927SAndroid Build Coastguard Worker 156*61046927SAndroid Build Coastguard Worker changes the value returned by ``glGetString(GL_VERSION)`` for OpenGL 157*61046927SAndroid Build Coastguard Worker ES. 158*61046927SAndroid Build Coastguard Worker 159*61046927SAndroid Build Coastguard Worker - The format should be ``MAJOR.MINOR`` 160*61046927SAndroid Build Coastguard Worker - Examples: ``2.0``, ``3.0``, ``3.1`` 161*61046927SAndroid Build Coastguard Worker - Mesa may not really implement all the features of the given 162*61046927SAndroid Build Coastguard Worker version. (for developers only) 163*61046927SAndroid Build Coastguard Worker 164*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_GLSL_VERSION_OVERRIDE 165*61046927SAndroid Build Coastguard Worker 166*61046927SAndroid Build Coastguard Worker changes the value returned by 167*61046927SAndroid Build Coastguard Worker ``glGetString(GL_SHADING_LANGUAGE_VERSION)``. Valid values are 168*61046927SAndroid Build Coastguard Worker integers, such as ``130``. Mesa will not really implement all the 169*61046927SAndroid Build Coastguard Worker features of the given language version if it's higher than what's 170*61046927SAndroid Build Coastguard Worker normally reported. (for developers only) 171*61046927SAndroid Build Coastguard Worker 172*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_DRICONF_EXECUTABLE_OVERRIDE 173*61046927SAndroid Build Coastguard Worker 174*61046927SAndroid Build Coastguard Worker if set, overrides the "executable" string used specifically for driconf 175*61046927SAndroid Build Coastguard Worker option matching. This takes higher precedence over more general process 176*61046927SAndroid Build Coastguard Worker name override (e.g. MESA_PROCESS_NAME). 177*61046927SAndroid Build Coastguard Worker 178*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_SHADER_CACHE_DISABLE 179*61046927SAndroid Build Coastguard Worker 180*61046927SAndroid Build Coastguard Worker if set to ``true``, disables the on-disk shader cache. If set to 181*61046927SAndroid Build Coastguard Worker ``false``, enables the on-disk shader cache when it is disabled by 182*61046927SAndroid Build Coastguard Worker default. Note that EGL_ANDROID_blob_cache is still enabled even 183*61046927SAndroid Build Coastguard Worker if on-disk shader cache is disabled. 184*61046927SAndroid Build Coastguard Worker 185*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_SHADER_CACHE_MAX_SIZE 186*61046927SAndroid Build Coastguard Worker 187*61046927SAndroid Build Coastguard Worker if set, determines the maximum size of the on-disk cache of compiled 188*61046927SAndroid Build Coastguard Worker shader programs. Should be set to a number optionally followed by 189*61046927SAndroid Build Coastguard Worker ``K``, ``M``, or ``G`` to specify a size in kilobytes, megabytes, or 190*61046927SAndroid Build Coastguard Worker gigabytes. By default, gigabytes will be assumed. And if unset, a 191*61046927SAndroid Build Coastguard Worker maximum size of 1GB will be used. 192*61046927SAndroid Build Coastguard Worker 193*61046927SAndroid Build Coastguard Worker .. note:: 194*61046927SAndroid Build Coastguard Worker 195*61046927SAndroid Build Coastguard Worker A separate cache might be created for each architecture that Mesa is 196*61046927SAndroid Build Coastguard Worker installed for on your system. For example under the default settings 197*61046927SAndroid Build Coastguard Worker you may end up with a 1GB cache for x86_64 and another 1GB cache for 198*61046927SAndroid Build Coastguard Worker i386. 199*61046927SAndroid Build Coastguard Worker 200*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_SHADER_CACHE_DIR 201*61046927SAndroid Build Coastguard Worker 202*61046927SAndroid Build Coastguard Worker if set, determines the directory to be used for the on-disk cache of 203*61046927SAndroid Build Coastguard Worker compiled shader programs. If this variable is not set, then the cache 204*61046927SAndroid Build Coastguard Worker will be stored in ``$XDG_CACHE_HOME/mesa_shader_cache_db`` (if that 205*61046927SAndroid Build Coastguard Worker variable is set), or else within ``.cache/mesa_shader_cache_db`` within 206*61046927SAndroid Build Coastguard Worker the user's home directory. 207*61046927SAndroid Build Coastguard Worker 208*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_SHADER_CACHE_SHOW_STATS 209*61046927SAndroid Build Coastguard Worker 210*61046927SAndroid Build Coastguard Worker if set to ``true``, keeps hit/miss statistics for the shader cache. 211*61046927SAndroid Build Coastguard Worker These statistics are printed when the app terminates. 212*61046927SAndroid Build Coastguard Worker 213*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_DISK_CACHE_SINGLE_FILE 214*61046927SAndroid Build Coastguard Worker 215*61046927SAndroid Build Coastguard Worker if set to 1, enables the single file Fossilize DB on-disk shader 216*61046927SAndroid Build Coastguard Worker cache implementation instead of the default Mesa-DB cache 217*61046927SAndroid Build Coastguard Worker implementation. This implementation allows for loading of precompiled 218*61046927SAndroid Build Coastguard Worker cache DBs via :envvar:`MESA_DISK_CACHE_READ_ONLY_FOZ_DBS` or 219*61046927SAndroid Build Coastguard Worker :envvar:`MESA_DISK_CACHE_READ_ONLY_FOZ_DBS_DYNAMIC_LIST`. This 220*61046927SAndroid Build Coastguard Worker implementation does not support cache size limits via 221*61046927SAndroid Build Coastguard Worker :envvar:`MESA_SHADER_CACHE_MAX_SIZE`. If 222*61046927SAndroid Build Coastguard Worker :envvar:`MESA_SHADER_CACHE_DIR` is not set, the cache will be stored 223*61046927SAndroid Build Coastguard Worker in ``$XDG_CACHE_HOME/mesa_shader_cache_sf`` (if that variable is set) 224*61046927SAndroid Build Coastguard Worker or else within ``.cache/mesa_shader_cache_sf`` within the user's home 225*61046927SAndroid Build Coastguard Worker directory. 226*61046927SAndroid Build Coastguard Worker 227*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_DISK_CACHE_MULTI_FILE 228*61046927SAndroid Build Coastguard Worker 229*61046927SAndroid Build Coastguard Worker if set to 1, enables the multi file on-disk shader cache implementation 230*61046927SAndroid Build Coastguard Worker instead of the default Mesa-DB cache implementation. 231*61046927SAndroid Build Coastguard Worker This implementation increases the overall disk usage. 232*61046927SAndroid Build Coastguard Worker If :envvar:`MESA_SHADER_CACHE_DIR` is not set, the cache will be stored 233*61046927SAndroid Build Coastguard Worker in ``$XDG_CACHE_HOME/mesa_shader_cache`` (if that variable is set) 234*61046927SAndroid Build Coastguard Worker or else within ``.cache/mesa_shader_cache`` within the user's home 235*61046927SAndroid Build Coastguard Worker directory. 236*61046927SAndroid Build Coastguard Worker 237*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_DISK_CACHE_READ_ONLY_FOZ_DBS 238*61046927SAndroid Build Coastguard Worker 239*61046927SAndroid Build Coastguard Worker if set with :envvar:`MESA_DISK_CACHE_SINGLE_FILE` enabled, references 240*61046927SAndroid Build Coastguard Worker a string of comma separated file paths to read only Fossilize DB 241*61046927SAndroid Build Coastguard Worker shader caches for loading at initialization. The file paths are 242*61046927SAndroid Build Coastguard Worker relative to the cache directory and do not include suffixes, 243*61046927SAndroid Build Coastguard Worker referencing both the cache DB and its index file. E.g. 244*61046927SAndroid Build Coastguard Worker ``MESA_DISK_CACHE_SINGLE_FILE=filename1`` refers to ``filename1.foz`` 245*61046927SAndroid Build Coastguard Worker and ``filename1_idx.foz``. A limit of 8 DBs can be loaded and this limit 246*61046927SAndroid Build Coastguard Worker is shared with :envvar:`MESA_DISK_CACHE_READ_ONLY_FOZ_DBS_DYNAMIC_LIST`. 247*61046927SAndroid Build Coastguard Worker 248*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_DISK_CACHE_DATABASE_NUM_PARTS 249*61046927SAndroid Build Coastguard Worker 250*61046927SAndroid Build Coastguard Worker specifies number of mesa-db cache parts, default is 50. 251*61046927SAndroid Build Coastguard Worker 252*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_DISK_CACHE_DATABASE_EVICTION_SCORE_2X_PERIOD 253*61046927SAndroid Build Coastguard Worker 254*61046927SAndroid Build Coastguard Worker Mesa-DB cache eviction algorithm calculates weighted score for the 255*61046927SAndroid Build Coastguard Worker cache items. The weight is doubled based on the last access time of 256*61046927SAndroid Build Coastguard Worker cache entry. By default period of weight doubling is set to one month. 257*61046927SAndroid Build Coastguard Worker Period value is given in seconds. 258*61046927SAndroid Build Coastguard Worker 259*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_DISK_CACHE_READ_ONLY_FOZ_DBS_DYNAMIC_LIST 260*61046927SAndroid Build Coastguard Worker 261*61046927SAndroid Build Coastguard Worker if set with :envvar:`MESA_DISK_CACHE_SINGLE_FILE` enabled, references 262*61046927SAndroid Build Coastguard Worker a text file that contains a new-line separated list of read only 263*61046927SAndroid Build Coastguard Worker Fossilize DB shader caches to load. The list file is modifiable at 264*61046927SAndroid Build Coastguard Worker runtime to allow for loading read only caches after initialization 265*61046927SAndroid Build Coastguard Worker unlike :envvar:`MESA_DISK_CACHE_READ_ONLY_FOZ_DBS`. This variable 266*61046927SAndroid Build Coastguard Worker takes an absolute path to the list file. The list file must exist at 267*61046927SAndroid Build Coastguard Worker initialization for updating to occur. Cache files in the list take 268*61046927SAndroid Build Coastguard Worker relative paths to the current cache directory like 269*61046927SAndroid Build Coastguard Worker :envvar:`MESA_DISK_CACHE_READ_ONLY_FOZ_DBS`. A limit of 8 DBs can be 270*61046927SAndroid Build Coastguard Worker loaded and this limit is shared with 271*61046927SAndroid Build Coastguard Worker :envvar:`MESA_DISK_CACHE_READ_ONLY_FOZ_DBS`. 272*61046927SAndroid Build Coastguard Worker 273*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_DISK_CACHE_COMBINE_RW_WITH_RO_FOZ 274*61046927SAndroid Build Coastguard Worker 275*61046927SAndroid Build Coastguard Worker if set to 1, enables simultaneous use of :abbr:`RW (read-write)` and 276*61046927SAndroid Build Coastguard Worker :abbr:`RW (read-write)` Fossilize DB caches. At first, data will be 277*61046927SAndroid Build Coastguard Worker retrieved from the RO Fossilize cache. If data isn't found in the RO 278*61046927SAndroid Build Coastguard Worker cache, then it will be retrieved from the RW cache. 279*61046927SAndroid Build Coastguard Worker 280*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_GLSL 281*61046927SAndroid Build Coastguard Worker 282*61046927SAndroid Build Coastguard Worker :ref:`shading language compiler options <envvars>` 283*61046927SAndroid Build Coastguard Worker 284*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_NO_MINMAX_CACHE 285*61046927SAndroid Build Coastguard Worker 286*61046927SAndroid Build Coastguard Worker when set, the minmax index cache is globally disabled. 287*61046927SAndroid Build Coastguard Worker 288*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_SHADER_CAPTURE_PATH 289*61046927SAndroid Build Coastguard Worker 290*61046927SAndroid Build Coastguard Worker see :ref:`Capturing Shaders <capture>` 291*61046927SAndroid Build Coastguard Worker 292*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_SHADER_DUMP_PATH 293*61046927SAndroid Build Coastguard Worker 294*61046927SAndroid Build Coastguard Worker see :ref:`Experimenting with Shader Replacements <replacement>` 295*61046927SAndroid Build Coastguard Worker 296*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_SHADER_READ_PATH 297*61046927SAndroid Build Coastguard Worker 298*61046927SAndroid Build Coastguard Worker see :ref:`Experimenting with Shader Replacements <replacement>` 299*61046927SAndroid Build Coastguard Worker 300*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_VK_VERSION_OVERRIDE 301*61046927SAndroid Build Coastguard Worker 302*61046927SAndroid Build Coastguard Worker changes the Vulkan physical device version as returned in 303*61046927SAndroid Build Coastguard Worker ``VkPhysicalDeviceProperties::apiVersion``. 304*61046927SAndroid Build Coastguard Worker 305*61046927SAndroid Build Coastguard Worker - The format should be ``MAJOR.MINOR[.PATCH]`` 306*61046927SAndroid Build Coastguard Worker - This will not let you force a version higher than the driver's 307*61046927SAndroid Build Coastguard Worker instance version as advertised by ``vkEnumerateInstanceVersion`` 308*61046927SAndroid Build Coastguard Worker - This can be very useful for debugging but some features may not be 309*61046927SAndroid Build Coastguard Worker implemented correctly. (For developers only) 310*61046927SAndroid Build Coastguard Worker 311*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_VK_WSI_PRESENT_MODE 312*61046927SAndroid Build Coastguard Worker 313*61046927SAndroid Build Coastguard Worker overrides the WSI present mode clients specify in 314*61046927SAndroid Build Coastguard Worker ``VkSwapchainCreateInfoKHR::presentMode``. Values can be ``fifo``, 315*61046927SAndroid Build Coastguard Worker ``relaxed``, ``mailbox`` or ``immediate``. 316*61046927SAndroid Build Coastguard Worker 317*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_VK_WSI_HEADLESS_SWAPCHAIN 318*61046927SAndroid Build Coastguard Worker 319*61046927SAndroid Build Coastguard Worker Forces all swapchains to be headless (no rendering will be display 320*61046927SAndroid Build Coastguard Worker in the swapchain's window). 321*61046927SAndroid Build Coastguard Worker 322*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_VK_ABORT_ON_DEVICE_LOSS 323*61046927SAndroid Build Coastguard Worker 324*61046927SAndroid Build Coastguard Worker causes the Vulkan driver to call abort() immediately after detecting a 325*61046927SAndroid Build Coastguard Worker lost device. This is extremely useful when testing as it prevents the 326*61046927SAndroid Build Coastguard Worker test suite from continuing on with a lost device. 327*61046927SAndroid Build Coastguard Worker 328*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_VK_ENABLE_SUBMIT_THREAD 329*61046927SAndroid Build Coastguard Worker 330*61046927SAndroid Build Coastguard Worker for Vulkan drivers which support real timeline semaphores, this forces 331*61046927SAndroid Build Coastguard Worker them to use a submit thread from the beginning, regardless of whether or 332*61046927SAndroid Build Coastguard Worker not they ever see a wait-before-signal condition. 333*61046927SAndroid Build Coastguard Worker 334*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_VK_DEVICE_SELECT_DEBUG 335*61046927SAndroid Build Coastguard Worker 336*61046927SAndroid Build Coastguard Worker print debug info about device selection decision-making 337*61046927SAndroid Build Coastguard Worker 338*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_VK_TRACE 339*61046927SAndroid Build Coastguard Worker 340*61046927SAndroid Build Coastguard Worker A comma-separated list of trace types used for offline analysis. The 341*61046927SAndroid Build Coastguard Worker option names are equal to the file extension. Traces are dumped into ``/tmp``. 342*61046927SAndroid Build Coastguard Worker Captures can be triggered by pressing ``F1`` with the application window 343*61046927SAndroid Build Coastguard Worker focused (Currently X11 only) or via :envvar:`MESA_VK_TRACE_FRAME` and 344*61046927SAndroid Build Coastguard Worker :envvar:`MESA_VK_TRACE_TRIGGER`. 345*61046927SAndroid Build Coastguard Worker 346*61046927SAndroid Build Coastguard Worker .. list-table:: 347*61046927SAndroid Build Coastguard Worker :header-rows: 1 348*61046927SAndroid Build Coastguard Worker 349*61046927SAndroid Build Coastguard Worker * - File extension 350*61046927SAndroid Build Coastguard Worker - Offline analysis tool 351*61046927SAndroid Build Coastguard Worker - Supported drivers 352*61046927SAndroid Build Coastguard Worker * - ``rmv`` 353*61046927SAndroid Build Coastguard Worker - Radeon Memory Visualizer 354*61046927SAndroid Build Coastguard Worker - ``RADV`` 355*61046927SAndroid Build Coastguard Worker * - ``rgp`` 356*61046927SAndroid Build Coastguard Worker - Radeon GPU Profiler 357*61046927SAndroid Build Coastguard Worker - ``RADV`` 358*61046927SAndroid Build Coastguard Worker * - ``rra`` 359*61046927SAndroid Build Coastguard Worker - Radeon Raytracing Analyzer 360*61046927SAndroid Build Coastguard Worker - ``RADV`` 361*61046927SAndroid Build Coastguard Worker * - ``ctxroll`` 362*61046927SAndroid Build Coastguard Worker - Context rolls 363*61046927SAndroid Build Coastguard Worker - ``RADV`` 364*61046927SAndroid Build Coastguard Worker 365*61046927SAndroid Build Coastguard Worker - Creating RMV captures requires the ``scripts/setup.sh`` script in the 366*61046927SAndroid Build Coastguard Worker Radeon Developer Tools folder to be run beforehand 367*61046927SAndroid Build Coastguard Worker 368*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_VK_TRACE_FRAME 369*61046927SAndroid Build Coastguard Worker 370*61046927SAndroid Build Coastguard Worker Specifies a frame index at which a trace capture is automatically triggered. 371*61046927SAndroid Build Coastguard Worker 372*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_VK_TRACE_TRIGGER 373*61046927SAndroid Build Coastguard Worker 374*61046927SAndroid Build Coastguard Worker Specifies a trigger file. Creating the file triggers the capture. (e.g. 375*61046927SAndroid Build Coastguard Worker ``export MESA_VK_TRACE_TRIGGER=/tmp/trigger`` and then ``touch /tmp/trigger``) 376*61046927SAndroid Build Coastguard Worker 377*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_LOADER_DRIVER_OVERRIDE 378*61046927SAndroid Build Coastguard Worker 379*61046927SAndroid Build Coastguard Worker chooses a different driver binary such as ``etnaviv`` or ``zink``. 380*61046927SAndroid Build Coastguard Worker 381*61046927SAndroid Build Coastguard Worker.. envvar:: DRI_PRIME_DEBUG 382*61046927SAndroid Build Coastguard Worker 383*61046927SAndroid Build Coastguard Worker print debug info about device selection decision-making 384*61046927SAndroid Build Coastguard Worker 385*61046927SAndroid Build Coastguard Worker.. envvar:: DRI_PRIME 386*61046927SAndroid Build Coastguard Worker 387*61046927SAndroid Build Coastguard Worker the default GPU is the one used by Wayland/Xorg or the one connected to a 388*61046927SAndroid Build Coastguard Worker display. This variable allows to select a different GPU. It applies to OpenGL 389*61046927SAndroid Build Coastguard Worker and Vulkan (in this case "select" means the GPU will be first in the reported 390*61046927SAndroid Build Coastguard Worker physical devices list). The supported syntaxes are: 391*61046927SAndroid Build Coastguard Worker 392*61046927SAndroid Build Coastguard Worker - ``DRI_PRIME=N``: selects the Nth non-default GPU (N > 0). 393*61046927SAndroid Build Coastguard Worker - ``DRI_PRIME=pci-0000_02_00_0``: selects the GPU connected to this PCIe bus 394*61046927SAndroid Build Coastguard Worker - ``DRI_PRIME=vendor_id:device_id``: selects the first GPU matching these ids. 395*61046927SAndroid Build Coastguard Worker 396*61046927SAndroid Build Coastguard Worker For Vulkan it's possible to append ``!``, in which case only the selected GPU 397*61046927SAndroid Build Coastguard Worker will be exposed to the application (e.g.: DRI_PRIME=1!). 398*61046927SAndroid Build Coastguard Worker 399*61046927SAndroid Build Coastguard Worker .. note:: 400*61046927SAndroid Build Coastguard Worker 401*61046927SAndroid Build Coastguard Worker ``lspci -nn | grep VGA`` can be used to know the PCIe bus or ids to use. 402*61046927SAndroid Build Coastguard Worker 403*61046927SAndroid Build Coastguard Worker.. envvar:: DRIRC_CONFIGDIR 404*61046927SAndroid Build Coastguard Worker 405*61046927SAndroid Build Coastguard Worker If set, overrides the global search-directories used when searching for 406*61046927SAndroid Build Coastguard Worker drirc config files. The user-local one will still be used. Mostly useful for 407*61046927SAndroid Build Coastguard Worker internal debugging. 408*61046927SAndroid Build Coastguard Worker 409*61046927SAndroid Build Coastguard WorkerNIR passes environment variables 410*61046927SAndroid Build Coastguard Worker-------------------------------- 411*61046927SAndroid Build Coastguard Worker 412*61046927SAndroid Build Coastguard WorkerThe following are only applicable for drivers that uses NIR, as they 413*61046927SAndroid Build Coastguard Workermodify the behavior for the common ``NIR_PASS`` and ``NIR_PASS_V`` macros, 414*61046927SAndroid Build Coastguard Workerthat wrap calls to NIR lowering/optimizations. 415*61046927SAndroid Build Coastguard Worker 416*61046927SAndroid Build Coastguard Worker.. envvar:: NIR_DEBUG 417*61046927SAndroid Build Coastguard Worker 418*61046927SAndroid Build Coastguard Worker a comma-separated list of debug options to apply to NIR 419*61046927SAndroid Build Coastguard Worker shaders. Use ``NIR_DEBUG=help`` to print a list of available options. 420*61046927SAndroid Build Coastguard Worker 421*61046927SAndroid Build Coastguard Worker.. envvar:: NIR_SKIP 422*61046927SAndroid Build Coastguard Worker 423*61046927SAndroid Build Coastguard Worker a comma-separated list of optimization/lowering passes to skip. 424*61046927SAndroid Build Coastguard Worker 425*61046927SAndroid Build Coastguard WorkerMesa Xlib driver environment variables 426*61046927SAndroid Build Coastguard Worker-------------------------------------- 427*61046927SAndroid Build Coastguard Worker 428*61046927SAndroid Build Coastguard WorkerThe following are only applicable to the Mesa Xlib software driver. See 429*61046927SAndroid Build Coastguard Workerthe :doc:`Xlib software driver page <xlibdriver>` for details. 430*61046927SAndroid Build Coastguard Worker 431*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_RGB_VISUAL 432*61046927SAndroid Build Coastguard Worker 433*61046927SAndroid Build Coastguard Worker specifies the X visual and depth for RGB mode 434*61046927SAndroid Build Coastguard Worker 435*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_BACK_BUFFER 436*61046927SAndroid Build Coastguard Worker 437*61046927SAndroid Build Coastguard Worker specifies how to implement the back color buffer, either ``pixmap`` 438*61046927SAndroid Build Coastguard Worker or ``ximage`` 439*61046927SAndroid Build Coastguard Worker 440*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_XSYNC 441*61046927SAndroid Build Coastguard Worker 442*61046927SAndroid Build Coastguard Worker enable synchronous X behavior (for debugging only) 443*61046927SAndroid Build Coastguard Worker 444*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_GLX_FORCE_ALPHA 445*61046927SAndroid Build Coastguard Worker 446*61046927SAndroid Build Coastguard Worker if set, forces RGB windows to have an alpha channel. 447*61046927SAndroid Build Coastguard Worker 448*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_GLX_DEPTH_BITS 449*61046927SAndroid Build Coastguard Worker 450*61046927SAndroid Build Coastguard Worker specifies default number of bits for depth buffer. 451*61046927SAndroid Build Coastguard Worker 452*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_GLX_ALPHA_BITS 453*61046927SAndroid Build Coastguard Worker 454*61046927SAndroid Build Coastguard Worker specifies default number of bits for alpha channel. 455*61046927SAndroid Build Coastguard Worker 456*61046927SAndroid Build Coastguard WorkerMesa WGL driver environment variables 457*61046927SAndroid Build Coastguard Worker------------------------------------- 458*61046927SAndroid Build Coastguard Worker 459*61046927SAndroid Build Coastguard WorkerThe following are only applicable to the Mesa WGL driver, which is in use 460*61046927SAndroid Build Coastguard Workeron Windows. 461*61046927SAndroid Build Coastguard Worker 462*61046927SAndroid Build Coastguard Worker.. envvar:: WGL_FORCE_MSAA 463*61046927SAndroid Build Coastguard Worker 464*61046927SAndroid Build Coastguard Worker if set to a positive value, specifies the number of MSAA samples to 465*61046927SAndroid Build Coastguard Worker force when choosing the display configuration. 466*61046927SAndroid Build Coastguard Worker 467*61046927SAndroid Build Coastguard Worker.. envvar:: WGL_DISABLE_ERROR_DIALOGS 468*61046927SAndroid Build Coastguard Worker 469*61046927SAndroid Build Coastguard Worker if set to 1, true or yes, disables Win32 error dialogs. Useful for 470*61046927SAndroid Build Coastguard Worker automated test-runs. 471*61046927SAndroid Build Coastguard Worker 472*61046927SAndroid Build Coastguard WorkerIntel driver environment variables 473*61046927SAndroid Build Coastguard Worker---------------------------------------------------- 474*61046927SAndroid Build Coastguard Worker 475*61046927SAndroid Build Coastguard Worker.. envvar:: INTEL_BLACKHOLE_DEFAULT 476*61046927SAndroid Build Coastguard Worker 477*61046927SAndroid Build Coastguard Worker if set to 1, true or yes, then the OpenGL implementation will 478*61046927SAndroid Build Coastguard Worker default ``GL_BLACKHOLE_RENDER_INTEL`` to true, thus disabling any 479*61046927SAndroid Build Coastguard Worker rendering. 480*61046927SAndroid Build Coastguard Worker 481*61046927SAndroid Build Coastguard Worker.. envvar:: INTEL_DEBUG 482*61046927SAndroid Build Coastguard Worker 483*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags, which do various things: 484*61046927SAndroid Build Coastguard Worker 485*61046927SAndroid Build Coastguard Worker ``ann`` 486*61046927SAndroid Build Coastguard Worker annotate IR in assembly dumps 487*61046927SAndroid Build Coastguard Worker ``bat`` 488*61046927SAndroid Build Coastguard Worker emit batch information. Can control in which frames batches 489*61046927SAndroid Build Coastguard Worker get dumped using ``INTEL_DEBUG_BATCH_FRAME_*``, where 490*61046927SAndroid Build Coastguard Worker ``INTEL_DEBUG_BATCH_FRAME_START`` <= frame < ``INTEL_DEBUG_BATCH_FRAME_STOP`` 491*61046927SAndroid Build Coastguard Worker ``blit`` 492*61046927SAndroid Build Coastguard Worker emit messages about blit operations 493*61046927SAndroid Build Coastguard Worker ``blorp`` 494*61046927SAndroid Build Coastguard Worker emit messages about the blorp operations (blits & clears) 495*61046927SAndroid Build Coastguard Worker ``buf`` 496*61046927SAndroid Build Coastguard Worker emit messages about buffer objects 497*61046927SAndroid Build Coastguard Worker ``bt`` 498*61046927SAndroid Build Coastguard Worker emit messages binding tables 499*61046927SAndroid Build Coastguard Worker ``capture-all`` 500*61046927SAndroid Build Coastguard Worker flag all buffers to be captured by the kernel driver when 501*61046927SAndroid Build Coastguard Worker generating an error stage after a GPU hang 502*61046927SAndroid Build Coastguard Worker ``clip`` 503*61046927SAndroid Build Coastguard Worker emit messages about the clip unit (for old gens, includes the CLIP 504*61046927SAndroid Build Coastguard Worker program) 505*61046927SAndroid Build Coastguard Worker ``color`` 506*61046927SAndroid Build Coastguard Worker use color in output 507*61046927SAndroid Build Coastguard Worker ``cs`` 508*61046927SAndroid Build Coastguard Worker dump shader assembly for compute shaders 509*61046927SAndroid Build Coastguard Worker ``do32`` 510*61046927SAndroid Build Coastguard Worker generate compute shader SIMD32 programs even if workgroup size 511*61046927SAndroid Build Coastguard Worker doesn't exceed the SIMD16 limit 512*61046927SAndroid Build Coastguard Worker ``draw_bkp`` 513*61046927SAndroid Build Coastguard Worker Add semaphore wait before/after draw call count. 514*61046927SAndroid Build Coastguard Worker ``INTEL_DEBUG_BKP_BEFORE_DRAW_COUNT`` or 515*61046927SAndroid Build Coastguard Worker ``INTEL_DEBUG_BKP_AFTER_DRAW_COUNT`` can control draw call number. 516*61046927SAndroid Build Coastguard Worker To make test wait forever, we need to set preempt_timeout_ms and 517*61046927SAndroid Build Coastguard Worker i915.enable_hangcheck to zero. 518*61046927SAndroid Build Coastguard Worker ``fall`` 519*61046927SAndroid Build Coastguard Worker emit messages about performance issues (same as ``perf``) 520*61046927SAndroid Build Coastguard Worker ``fs`` 521*61046927SAndroid Build Coastguard Worker dump shader assembly for fragment shaders 522*61046927SAndroid Build Coastguard Worker ``gs`` 523*61046927SAndroid Build Coastguard Worker dump shader assembly for geometry shaders 524*61046927SAndroid Build Coastguard Worker ``heaps`` 525*61046927SAndroid Build Coastguard Worker print information about the driver's heaps (ANV only) 526*61046927SAndroid Build Coastguard Worker ``hex`` 527*61046927SAndroid Build Coastguard Worker print instruction hex dump with the disassembly 528*61046927SAndroid Build Coastguard Worker ``l3`` 529*61046927SAndroid Build Coastguard Worker emit messages about the new L3 state during transitions 530*61046927SAndroid Build Coastguard Worker ``mesh`` 531*61046927SAndroid Build Coastguard Worker dump shader assembly for mesh shaders 532*61046927SAndroid Build Coastguard Worker ``no8`` 533*61046927SAndroid Build Coastguard Worker don't generate SIMD8 fragment shader 534*61046927SAndroid Build Coastguard Worker ``no16`` 535*61046927SAndroid Build Coastguard Worker suppress generation of 16-wide fragment shaders. useful for 536*61046927SAndroid Build Coastguard Worker debugging broken shaders 537*61046927SAndroid Build Coastguard Worker ``no32`` 538*61046927SAndroid Build Coastguard Worker suppress generation of 32-wide fragment shaders. useful for 539*61046927SAndroid Build Coastguard Worker debugging broken shaders 540*61046927SAndroid Build Coastguard Worker ``no-oaconfig`` 541*61046927SAndroid Build Coastguard Worker disable HW performance metric configuration, and anything 542*61046927SAndroid Build Coastguard Worker related to i915-perf (useful when running on simulation) 543*61046927SAndroid Build Coastguard Worker ``nocompact`` 544*61046927SAndroid Build Coastguard Worker disable instruction compaction 545*61046927SAndroid Build Coastguard Worker ``nodualobj`` 546*61046927SAndroid Build Coastguard Worker suppress generation of dual-object geometry shader code 547*61046927SAndroid Build Coastguard Worker ``nofc`` 548*61046927SAndroid Build Coastguard Worker disable fast clears 549*61046927SAndroid Build Coastguard Worker ``noccs`` 550*61046927SAndroid Build Coastguard Worker disable lossless color compression 551*61046927SAndroid Build Coastguard Worker ``optimizer`` 552*61046927SAndroid Build Coastguard Worker dump shader assembly to files at each optimization pass and 553*61046927SAndroid Build Coastguard Worker iteration that make progress 554*61046927SAndroid Build Coastguard Worker ``pc`` 555*61046927SAndroid Build Coastguard Worker emit messages about PIPE_CONTROL instruction usage 556*61046927SAndroid Build Coastguard Worker ``perf`` 557*61046927SAndroid Build Coastguard Worker emit messages about performance issues 558*61046927SAndroid Build Coastguard Worker ``perfmon`` 559*61046927SAndroid Build Coastguard Worker emit messages about :ext:`GL_AMD_performance_monitor` 560*61046927SAndroid Build Coastguard Worker ``perf-symbol-names`` 561*61046927SAndroid Build Coastguard Worker use performance counter symbols instead of the counter name 562*61046927SAndroid Build Coastguard Worker (counter symbols are like variable names, it's sometimes easier 563*61046927SAndroid Build Coastguard Worker to work with when you have lots of metrics to collect) 564*61046927SAndroid Build Coastguard Worker ``reemit`` 565*61046927SAndroid Build Coastguard Worker mark all state dirty on each draw call 566*61046927SAndroid Build Coastguard Worker ``rt`` 567*61046927SAndroid Build Coastguard Worker dump shader assembly for ray tracing shaders 568*61046927SAndroid Build Coastguard Worker ``sf`` 569*61046927SAndroid Build Coastguard Worker emit messages about the strips & fans unit (for old gens, includes 570*61046927SAndroid Build Coastguard Worker the SF program) 571*61046927SAndroid Build Coastguard Worker ``shader-print`` 572*61046927SAndroid Build Coastguard Worker allow developer print traces added by `brw_nir_printf` to be 573*61046927SAndroid Build Coastguard Worker printed out on the console 574*61046927SAndroid Build Coastguard Worker ``soft64`` 575*61046927SAndroid Build Coastguard Worker enable implementation of software 64bit floating point support 576*61046927SAndroid Build Coastguard Worker ``sparse`` 577*61046927SAndroid Build Coastguard Worker dump usage of sparse resources 578*61046927SAndroid Build Coastguard Worker ``spill_fs`` 579*61046927SAndroid Build Coastguard Worker force spilling of all registers in the scalar backend (useful to 580*61046927SAndroid Build Coastguard Worker debug spilling code) 581*61046927SAndroid Build Coastguard Worker ``spill_vec4`` 582*61046927SAndroid Build Coastguard Worker force spilling of all registers in the vec4 backend (useful to 583*61046927SAndroid Build Coastguard Worker debug spilling code) 584*61046927SAndroid Build Coastguard Worker ``stall`` 585*61046927SAndroid Build Coastguard Worker inserts a stall on the GPU after each draw/dispatch command to 586*61046927SAndroid Build Coastguard Worker wait for it to finish before starting any new work. 587*61046927SAndroid Build Coastguard Worker ``submit`` 588*61046927SAndroid Build Coastguard Worker emit batchbuffer usage statistics 589*61046927SAndroid Build Coastguard Worker ``sync`` 590*61046927SAndroid Build Coastguard Worker after sending each batch, wait on the CPU for that batch to 591*61046927SAndroid Build Coastguard Worker finish rendering 592*61046927SAndroid Build Coastguard Worker ``swsb-stall`` 593*61046927SAndroid Build Coastguard Worker Insert sync NOP after each instruction. This is only valid for Gfx12+. 594*61046927SAndroid Build Coastguard Worker ``task`` 595*61046927SAndroid Build Coastguard Worker dump shader assembly for task shaders 596*61046927SAndroid Build Coastguard Worker ``tcs`` 597*61046927SAndroid Build Coastguard Worker dump shader assembly for tessellation control shaders 598*61046927SAndroid Build Coastguard Worker ``tcs8`` 599*61046927SAndroid Build Coastguard Worker force usage of 8-patches tessellation control shaders (only 600*61046927SAndroid Build Coastguard Worker for gfx 9-11) 601*61046927SAndroid Build Coastguard Worker ``tes`` 602*61046927SAndroid Build Coastguard Worker dump shader assembly for tessellation evaluation shaders 603*61046927SAndroid Build Coastguard Worker ``tex`` 604*61046927SAndroid Build Coastguard Worker emit messages about textures. 605*61046927SAndroid Build Coastguard Worker ``urb`` 606*61046927SAndroid Build Coastguard Worker emit messages about URB setup 607*61046927SAndroid Build Coastguard Worker ``vs`` 608*61046927SAndroid Build Coastguard Worker dump shader assembly for vertex shaders 609*61046927SAndroid Build Coastguard Worker ``wm`` 610*61046927SAndroid Build Coastguard Worker dump shader assembly for fragment shaders (same as ``fs``) 611*61046927SAndroid Build Coastguard Worker ``cl-quiet`` 612*61046927SAndroid Build Coastguard Worker quiets the OpenCL warnings recommending use of Intel compute-runtime 613*61046927SAndroid Build Coastguard Worker 614*61046927SAndroid Build Coastguard Worker.. envvar:: INTEL_DECODE 615*61046927SAndroid Build Coastguard Worker 616*61046927SAndroid Build Coastguard Worker a comma-separated list of enable/disable flags configuring the 617*61046927SAndroid Build Coastguard Worker output produced by ``INTEL_DEBUG=bat`` (use with 618*61046927SAndroid Build Coastguard Worker ``INTEL_DECODE=+color,-floats``) : 619*61046927SAndroid Build Coastguard Worker 620*61046927SAndroid Build Coastguard Worker ``color`` 621*61046927SAndroid Build Coastguard Worker print colored output 622*61046927SAndroid Build Coastguard Worker 623*61046927SAndroid Build Coastguard Worker ``floats`` 624*61046927SAndroid Build Coastguard Worker try to decode floating point data in buffers 625*61046927SAndroid Build Coastguard Worker 626*61046927SAndroid Build Coastguard Worker ``full`` 627*61046927SAndroid Build Coastguard Worker print additional custom information for instructions (usually 628*61046927SAndroid Build Coastguard Worker pulling more information by inspecting memory) 629*61046927SAndroid Build Coastguard Worker 630*61046927SAndroid Build Coastguard Worker ``offsets`` 631*61046927SAndroid Build Coastguard Worker print offsets of instructions 632*61046927SAndroid Build Coastguard Worker 633*61046927SAndroid Build Coastguard Worker.. envvar:: INTEL_EXTENDED_METRICS 634*61046927SAndroid Build Coastguard Worker 635*61046927SAndroid Build Coastguard Worker By default, only a standard set of GPU metrics are advertised. This 636*61046927SAndroid Build Coastguard Worker reduces time to collect metrics and hides infrequently used metrics. 637*61046927SAndroid Build Coastguard Worker To enable all metrics, set value to 1. 638*61046927SAndroid Build Coastguard Worker 639*61046927SAndroid Build Coastguard Worker.. envvar:: INTEL_FORCE_PROBE 640*61046927SAndroid Build Coastguard Worker 641*61046927SAndroid Build Coastguard Worker A comma-separated list of device probe override values. The basic 642*61046927SAndroid Build Coastguard Worker format is ``<pci-id>[,<pci-id>,...]``. The wildcard value of ``*`` 643*61046927SAndroid Build Coastguard Worker will specify all known PCI IDs. If ``!`` precedes a PCI ID, or the 644*61046927SAndroid Build Coastguard Worker wildcard value, then the device support will be disabled. All 645*61046927SAndroid Build Coastguard Worker numbers are interpreted in base 16, and a ``0x`` prefix is 646*61046927SAndroid Build Coastguard Worker optional. Values specified later take precedence, so the wildcard 647*61046927SAndroid Build Coastguard Worker probably should only be used at the beginning. 648*61046927SAndroid Build Coastguard Worker 649*61046927SAndroid Build Coastguard Worker Some examples : 650*61046927SAndroid Build Coastguard Worker 651*61046927SAndroid Build Coastguard Worker ``1234,!abcd`` 652*61046927SAndroid Build Coastguard Worker Device 0x1234 would be forced on and 0xabcd would be disabled. 653*61046927SAndroid Build Coastguard Worker 654*61046927SAndroid Build Coastguard Worker ``1234,!*`` 655*61046927SAndroid Build Coastguard Worker All devices are disabled since the wildcard appears later. 656*61046927SAndroid Build Coastguard Worker 657*61046927SAndroid Build Coastguard Worker ``!*,0x1234`` 658*61046927SAndroid Build Coastguard Worker All devices disabled except 0x1234 which is forced on. 659*61046927SAndroid Build Coastguard Worker 660*61046927SAndroid Build Coastguard Worker ``*,!0x1234`` 661*61046927SAndroid Build Coastguard Worker All devices are forced on, except 0x1234 which is disabled. 662*61046927SAndroid Build Coastguard Worker 663*61046927SAndroid Build Coastguard Worker ``!0x1234,1234`` 664*61046927SAndroid Build Coastguard Worker Support for device 0x1234 is forced on since the enable appears 665*61046927SAndroid Build Coastguard Worker later. 666*61046927SAndroid Build Coastguard Worker 667*61046927SAndroid Build Coastguard Worker .. note:: 668*61046927SAndroid Build Coastguard Worker If a device requires using :envvar:`INTEL_FORCE_PROBE` to force 669*61046927SAndroid Build Coastguard Worker it to load, then Mesa does not have full support for the device. 670*61046927SAndroid Build Coastguard Worker It may have limited, or possibly no functionality within Mesa at 671*61046927SAndroid Build Coastguard Worker this point. It is recommended to upgrade to a Mesa which does 672*61046927SAndroid Build Coastguard Worker not require :envvar:`INTEL_FORCE_PROBE` for the device as soon 673*61046927SAndroid Build Coastguard Worker as it is available. 674*61046927SAndroid Build Coastguard Worker 675*61046927SAndroid Build Coastguard Worker.. envvar:: INTEL_MEASURE 676*61046927SAndroid Build Coastguard Worker 677*61046927SAndroid Build Coastguard Worker Collects GPU timestamps over common intervals, and generates a CSV report 678*61046927SAndroid Build Coastguard Worker to show how long rendering took. The overhead of collection is limited to 679*61046927SAndroid Build Coastguard Worker the flushing that is required at the interval boundaries for accurate 680*61046927SAndroid Build Coastguard Worker timestamps. By default, timing data is sent to ``stderr``. To direct output 681*61046927SAndroid Build Coastguard Worker to a file: 682*61046927SAndroid Build Coastguard Worker 683*61046927SAndroid Build Coastguard Worker ``INTEL_MEASURE=file=/tmp/measure.csv {workload}`` 684*61046927SAndroid Build Coastguard Worker 685*61046927SAndroid Build Coastguard Worker To begin capturing timestamps at a particular frame: 686*61046927SAndroid Build Coastguard Worker 687*61046927SAndroid Build Coastguard Worker ``INTEL_MEASURE=file=/tmp/measure.csv,start=15 {workload}`` 688*61046927SAndroid Build Coastguard Worker 689*61046927SAndroid Build Coastguard Worker To capture only 23 frames: 690*61046927SAndroid Build Coastguard Worker 691*61046927SAndroid Build Coastguard Worker ``INTEL_MEASURE=count=23 {workload}`` 692*61046927SAndroid Build Coastguard Worker 693*61046927SAndroid Build Coastguard Worker To capture frames 15-37, stopping before frame 38: 694*61046927SAndroid Build Coastguard Worker 695*61046927SAndroid Build Coastguard Worker ``INTEL_MEASURE=start=15,count=23 {workload}`` 696*61046927SAndroid Build Coastguard Worker 697*61046927SAndroid Build Coastguard Worker Designate an asynchronous control file with: 698*61046927SAndroid Build Coastguard Worker 699*61046927SAndroid Build Coastguard Worker ``INTEL_MEASURE=control=path/to/control.fifo {workload}`` 700*61046927SAndroid Build Coastguard Worker 701*61046927SAndroid Build Coastguard Worker As the workload runs, enable capture for 5 frames with: 702*61046927SAndroid Build Coastguard Worker 703*61046927SAndroid Build Coastguard Worker ``$ echo 5 > path/to/control.fifo`` 704*61046927SAndroid Build Coastguard Worker 705*61046927SAndroid Build Coastguard Worker Enable unbounded capture: 706*61046927SAndroid Build Coastguard Worker 707*61046927SAndroid Build Coastguard Worker ``$ echo -1 > path/to/control.fifo`` 708*61046927SAndroid Build Coastguard Worker 709*61046927SAndroid Build Coastguard Worker and disable with: 710*61046927SAndroid Build Coastguard Worker 711*61046927SAndroid Build Coastguard Worker ``$ echo 0 > path/to/control.fifo`` 712*61046927SAndroid Build Coastguard Worker 713*61046927SAndroid Build Coastguard Worker Select the boundaries of each snapshot with: 714*61046927SAndroid Build Coastguard Worker 715*61046927SAndroid Build Coastguard Worker ``INTEL_MEASURE=draw`` 716*61046927SAndroid Build Coastguard Worker Collects timings for every render (DEFAULT) 717*61046927SAndroid Build Coastguard Worker 718*61046927SAndroid Build Coastguard Worker ``INTEL_MEASURE=rt`` 719*61046927SAndroid Build Coastguard Worker Collects timings when the render target changes 720*61046927SAndroid Build Coastguard Worker 721*61046927SAndroid Build Coastguard Worker ``INTEL_MEASURE=batch`` 722*61046927SAndroid Build Coastguard Worker Collects timings when batches are submitted 723*61046927SAndroid Build Coastguard Worker 724*61046927SAndroid Build Coastguard Worker ``INTEL_MEASURE=frame`` 725*61046927SAndroid Build Coastguard Worker Collects timings at frame boundaries 726*61046927SAndroid Build Coastguard Worker 727*61046927SAndroid Build Coastguard Worker With ``INTEL_MEASURE=interval=5``, the duration of 5 events will be 728*61046927SAndroid Build Coastguard Worker combined into a single record in the output. When possible, a single 729*61046927SAndroid Build Coastguard Worker start and end event will be submitted to the GPU to minimize 730*61046927SAndroid Build Coastguard Worker stalling. Combined events will not span batches, except in 731*61046927SAndroid Build Coastguard Worker the case of ``INTEL_MEASURE=frame``. 732*61046927SAndroid Build Coastguard Worker 733*61046927SAndroid Build Coastguard Worker Collect CPU timestamps instead of GPU timestamps. Prints results 734*61046927SAndroid Build Coastguard Worker immediately instead of waiting for GPU execution. Useful when used 735*61046927SAndroid Build Coastguard Worker with interactive debug to know which frame, or where in frame, you 736*61046927SAndroid Build Coastguard Worker are currently in. 737*61046927SAndroid Build Coastguard Worker 738*61046927SAndroid Build Coastguard Worker ``INTEL_MEASURE=cpu {workload}`` 739*61046927SAndroid Build Coastguard Worker 740*61046927SAndroid Build Coastguard Worker.. envvar:: INTEL_MODIFIER_OVERRIDE 741*61046927SAndroid Build Coastguard Worker 742*61046927SAndroid Build Coastguard Worker if set, determines the single DRM modifier reported back to (Vulkan) 743*61046927SAndroid Build Coastguard Worker applications, in order to make selecting modifier deterministic 744*61046927SAndroid Build Coastguard Worker between Vulkan driver and applications. The value can be one of the 745*61046927SAndroid Build Coastguard Worker supported modifiers on a platform, but other values are also acceptable 746*61046927SAndroid Build Coastguard Worker for debug purposes. 747*61046927SAndroid Build Coastguard Worker 748*61046927SAndroid Build Coastguard Worker.. envvar:: INTEL_NO_HW 749*61046927SAndroid Build Coastguard Worker 750*61046927SAndroid Build Coastguard Worker if set to 1, true or yes, prevents batches from being submitted to the 751*61046927SAndroid Build Coastguard Worker hardware. This is useful for debugging hangs, etc. 752*61046927SAndroid Build Coastguard Worker 753*61046927SAndroid Build Coastguard Worker.. envvar:: INTEL_PRECISE_TRIG 754*61046927SAndroid Build Coastguard Worker 755*61046927SAndroid Build Coastguard Worker if set to 1, true or yes, then the driver prefers accuracy over 756*61046927SAndroid Build Coastguard Worker performance in trig functions. 757*61046927SAndroid Build Coastguard Worker 758*61046927SAndroid Build Coastguard Worker.. envvar:: INTEL_SHADER_OPTIMIZER_PATH 759*61046927SAndroid Build Coastguard Worker 760*61046927SAndroid Build Coastguard Worker if set, determines the directory to be used for overriding shader 761*61046927SAndroid Build Coastguard Worker assembly. The binaries with custom assembly should be placed in 762*61046927SAndroid Build Coastguard Worker this folder and have a name formatted as ``sha1_of_assembly.bin``. 763*61046927SAndroid Build Coastguard Worker The SHA-1 of a shader assembly is printed when assembly is dumped via 764*61046927SAndroid Build Coastguard Worker corresponding :envvar:`INTEL_DEBUG` flag (e.g. ``vs`` for vertex shader). 765*61046927SAndroid Build Coastguard Worker A binary could be generated from a dumped assembly by ``i965_asm``. 766*61046927SAndroid Build Coastguard Worker For :envvar:`INTEL_SHADER_ASM_READ_PATH` to work it is necessary to enable 767*61046927SAndroid Build Coastguard Worker dumping of corresponding shader stages via :envvar:`INTEL_DEBUG`. 768*61046927SAndroid Build Coastguard Worker It is advised to use ``nocompact`` flag of :envvar:`INTEL_DEBUG` when 769*61046927SAndroid Build Coastguard Worker dumping and overriding shader assemblies. 770*61046927SAndroid Build Coastguard Worker The success of assembly override would be signified by "Successfully 771*61046927SAndroid Build Coastguard Worker overrode shader with sha1 <SHA-1>" in stderr replacing the original 772*61046927SAndroid Build Coastguard Worker assembly. 773*61046927SAndroid Build Coastguard Worker 774*61046927SAndroid Build Coastguard Worker.. envvar:: INTEL_SHADER_ASM_READ_PATH 775*61046927SAndroid Build Coastguard Worker 776*61046927SAndroid Build Coastguard Worker if set, determines the directory to be used for overriding shader 777*61046927SAndroid Build Coastguard Worker assembly. The binaries with custom assembly should be placed in 778*61046927SAndroid Build Coastguard Worker this folder and have a name formatted as ``sha1_of_assembly.bin``. 779*61046927SAndroid Build Coastguard Worker The SHA-1 of a shader assembly is printed when assembly is dumped via 780*61046927SAndroid Build Coastguard Worker corresponding :envvar:`INTEL_DEBUG` flag (e.g. ``vs`` for vertex shader). 781*61046927SAndroid Build Coastguard Worker A binary could be generated from a dumped assembly by ``i965_asm``. 782*61046927SAndroid Build Coastguard Worker For :envvar:`INTEL_SHADER_ASM_READ_PATH` to work it is necessary to enable 783*61046927SAndroid Build Coastguard Worker dumping of corresponding shader stages via :envvar:`INTEL_DEBUG`. 784*61046927SAndroid Build Coastguard Worker It is advised to use ``nocompact`` flag of :envvar:`INTEL_DEBUG` when 785*61046927SAndroid Build Coastguard Worker dumping and overriding shader assemblies. 786*61046927SAndroid Build Coastguard Worker The success of assembly override would be signified by "Successfully 787*61046927SAndroid Build Coastguard Worker overrode shader with sha1 <SHA-1>" in stderr replacing the original 788*61046927SAndroid Build Coastguard Worker assembly. 789*61046927SAndroid Build Coastguard Worker 790*61046927SAndroid Build Coastguard Worker.. envvar:: INTEL_SHADER_BIN_DUMP_PATH 791*61046927SAndroid Build Coastguard Worker 792*61046927SAndroid Build Coastguard Worker if set, determines the directory to which the compiled shaders will be 793*61046927SAndroid Build Coastguard Worker dumped. They will be dumped as ``sha1_of_assembly.bin``, where the sha1 794*61046927SAndroid Build Coastguard Worker values will be the same as can be found in the :envvar:`INTEL_DEBUG` 795*61046927SAndroid Build Coastguard Worker output, and can be used for :envvar:`INTEL_SHADER_ASM_READ_PATH` input. 796*61046927SAndroid Build Coastguard Worker 797*61046927SAndroid Build Coastguard Worker .. note:: 798*61046927SAndroid Build Coastguard Worker Unlike the text form of shader dumping, :envvar:`INTEL_DEBUG` 799*61046927SAndroid Build Coastguard Worker does not affect on the list of shaders to dump. All generated shaders 800*61046927SAndroid Build Coastguard Worker are always dumped if :envvar:`INTEL_SHADER_BIN_DUMP_PATH` variable is 801*61046927SAndroid Build Coastguard Worker set. 802*61046927SAndroid Build Coastguard Worker 803*61046927SAndroid Build Coastguard Worker.. envvar:: INTEL_SIMD_DEBUG 804*61046927SAndroid Build Coastguard Worker 805*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags, which control simd dispatch widths: 806*61046927SAndroid Build Coastguard Worker 807*61046927SAndroid Build Coastguard Worker ``fs8`` 808*61046927SAndroid Build Coastguard Worker allow generation of SIMD8 fragment shader 809*61046927SAndroid Build Coastguard Worker ``fs16`` 810*61046927SAndroid Build Coastguard Worker allow generation of SIMD16 fragment shader 811*61046927SAndroid Build Coastguard Worker ``fs32`` 812*61046927SAndroid Build Coastguard Worker allow generation of SIMD32 fragment shader 813*61046927SAndroid Build Coastguard Worker ``cs8`` 814*61046927SAndroid Build Coastguard Worker allow generation of SIMD8 compute shader 815*61046927SAndroid Build Coastguard Worker ``cs16`` 816*61046927SAndroid Build Coastguard Worker allow generation of SIMD16 compute shader 817*61046927SAndroid Build Coastguard Worker ``cs32`` 818*61046927SAndroid Build Coastguard Worker allow generation of SIMD32 compute shader 819*61046927SAndroid Build Coastguard Worker ``ts8`` 820*61046927SAndroid Build Coastguard Worker allow generation of SIMD8 task shader 821*61046927SAndroid Build Coastguard Worker ``ts16`` 822*61046927SAndroid Build Coastguard Worker allow generation of SIMD16 task shader 823*61046927SAndroid Build Coastguard Worker ``ts32`` 824*61046927SAndroid Build Coastguard Worker allow generation of SIMD32 task shader 825*61046927SAndroid Build Coastguard Worker ``ms8`` 826*61046927SAndroid Build Coastguard Worker allow generation of SIMD8 mesh shader 827*61046927SAndroid Build Coastguard Worker ``ms16`` 828*61046927SAndroid Build Coastguard Worker allow generation of SIMD16 mesh shader 829*61046927SAndroid Build Coastguard Worker ``ms32`` 830*61046927SAndroid Build Coastguard Worker allow generation of SIMD32 mesh shader 831*61046927SAndroid Build Coastguard Worker ``rt8`` 832*61046927SAndroid Build Coastguard Worker allow generation of SIMD8 ray-tracing shader 833*61046927SAndroid Build Coastguard Worker ``rt16`` 834*61046927SAndroid Build Coastguard Worker allow generation of SIMD16 ray-tracing shader 835*61046927SAndroid Build Coastguard Worker ``rt32`` 836*61046927SAndroid Build Coastguard Worker allow generation of SIMD32 ray-tracing shader 837*61046927SAndroid Build Coastguard Worker 838*61046927SAndroid Build Coastguard Worker If none of widths for particular shader stage was specified, then all 839*61046927SAndroid Build Coastguard Worker widths are allowed. 840*61046927SAndroid Build Coastguard Worker 841*61046927SAndroid Build Coastguard WorkerAnvil(ANV) driver environment variables 842*61046927SAndroid Build Coastguard Worker--------------------------------------- 843*61046927SAndroid Build Coastguard Worker 844*61046927SAndroid Build Coastguard Worker.. envvar:: ANV_ENABLE_PIPELINE_CACHE 845*61046927SAndroid Build Coastguard Worker 846*61046927SAndroid Build Coastguard Worker If defined to ``0`` or ``false``, this will disable pipeline 847*61046927SAndroid Build Coastguard Worker caching, forcing ANV to reparse and recompile any VkShaderModule 848*61046927SAndroid Build Coastguard Worker (SPIRV) it is given. 849*61046927SAndroid Build Coastguard Worker 850*61046927SAndroid Build Coastguard Worker.. envvar:: ANV_DISABLE_SECONDARY_CMD_BUFFER_CALLS 851*61046927SAndroid Build Coastguard Worker 852*61046927SAndroid Build Coastguard Worker If defined to ``1`` or ``true``, this will prevent usage of self 853*61046927SAndroid Build Coastguard Worker modifying command buffers to implement ``vkCmdExecuteCommands``. As 854*61046927SAndroid Build Coastguard Worker a result of this, it will also disable :ext:`VK_KHR_performance_query`. 855*61046927SAndroid Build Coastguard Worker 856*61046927SAndroid Build Coastguard Worker.. envvar:: ANV_ALWAYS_BINDLESS 857*61046927SAndroid Build Coastguard Worker 858*61046927SAndroid Build Coastguard Worker If defined to ``1`` or ``true``, this forces all descriptor sets to 859*61046927SAndroid Build Coastguard Worker use the internal :ref:`Bindless model`. 860*61046927SAndroid Build Coastguard Worker 861*61046927SAndroid Build Coastguard Worker.. envvar:: ANV_QUEUE_THREAD_DISABLE 862*61046927SAndroid Build Coastguard Worker 863*61046927SAndroid Build Coastguard Worker If defined to ``1`` or ``true``, this disables support for timeline 864*61046927SAndroid Build Coastguard Worker semaphores. 865*61046927SAndroid Build Coastguard Worker 866*61046927SAndroid Build Coastguard Worker.. envvar:: ANV_USERSPACE_RELOCS 867*61046927SAndroid Build Coastguard Worker 868*61046927SAndroid Build Coastguard Worker If defined to ``1`` or ``true``, this forces ANV to always do 869*61046927SAndroid Build Coastguard Worker kernel relocations in command buffers. This should only have an 870*61046927SAndroid Build Coastguard Worker effect on hardware that doesn't support soft-pinning (Ivybridge, 871*61046927SAndroid Build Coastguard Worker Haswell, Cherryview). 872*61046927SAndroid Build Coastguard Worker 873*61046927SAndroid Build Coastguard Worker.. envvar:: ANV_PRIMITIVE_REPLICATION_MAX_VIEWS 874*61046927SAndroid Build Coastguard Worker 875*61046927SAndroid Build Coastguard Worker Specifies up to how many view shaders can be lowered to handle 876*61046927SAndroid Build Coastguard Worker :ext:`VK_KHR_multiview`. Beyond this number, multiview is implemented 877*61046927SAndroid Build Coastguard Worker using instanced rendering. If unspecified, the value default to 878*61046927SAndroid Build Coastguard Worker ``2``. 879*61046927SAndroid Build Coastguard Worker 880*61046927SAndroid Build Coastguard Worker.. envvar:: ANV_NO_GPL 881*61046927SAndroid Build Coastguard Worker 882*61046927SAndroid Build Coastguard Worker If set to 1, true, or yes, then VK_EXT_graphics_pipeline_library 883*61046927SAndroid Build Coastguard Worker will be disabled. 884*61046927SAndroid Build Coastguard Worker 885*61046927SAndroid Build Coastguard Worker.. envvar:: ANV_SPARSE 886*61046927SAndroid Build Coastguard Worker 887*61046927SAndroid Build Coastguard Worker By default, the sparse resources feature is enabled. However, if set to 0, 888*61046927SAndroid Build Coastguard Worker false, or no, it will be disabled. 889*61046927SAndroid Build Coastguard Worker Platforms older than Tiger Lake do not support this feature. 890*61046927SAndroid Build Coastguard Worker 891*61046927SAndroid Build Coastguard Worker.. envvar:: ANV_SPARSE_USE_TRTT 892*61046927SAndroid Build Coastguard Worker 893*61046927SAndroid Build Coastguard Worker On platforms supported by Xe KMD (Lunar Lake and newer) this parameter 894*61046927SAndroid Build Coastguard Worker changes the implementation of sparse resources feature. 895*61046927SAndroid Build Coastguard Worker For i915 there is no option, sparse resources is always implemented with 896*61046927SAndroid Build Coastguard Worker TRTT. 897*61046927SAndroid Build Coastguard Worker 898*61046927SAndroid Build Coastguard WorkerDRI environment variables 899*61046927SAndroid Build Coastguard Worker------------------------- 900*61046927SAndroid Build Coastguard Worker 901*61046927SAndroid Build Coastguard Worker.. envvar:: DRI_NO_MSAA 902*61046927SAndroid Build Coastguard Worker 903*61046927SAndroid Build Coastguard Worker disable MSAA for GLX/EGL MSAA visuals 904*61046927SAndroid Build Coastguard Worker 905*61046927SAndroid Build Coastguard Worker 906*61046927SAndroid Build Coastguard WorkerVulkan mesa device select layer environment variables 907*61046927SAndroid Build Coastguard Worker----------------------------------------------------- 908*61046927SAndroid Build Coastguard Worker 909*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_VK_DEVICE_SELECT 910*61046927SAndroid Build Coastguard Worker 911*61046927SAndroid Build Coastguard Worker when set to "list" prints the list of devices. 912*61046927SAndroid Build Coastguard Worker when set to "vid:did" number from PCI device. That PCI device is 913*61046927SAndroid Build Coastguard Worker selected as default. The default device is returned as the first 914*61046927SAndroid Build Coastguard Worker device in vkEnumeratePhysicalDevices API. 915*61046927SAndroid Build Coastguard Worker Using "vid:did!" will have the same effect as using the 916*61046927SAndroid Build Coastguard Worker ``MESA_VK_DEVICE_SELECT_FORCE_DEFAULT_DEVICE`` variable. 917*61046927SAndroid Build Coastguard Worker 918*61046927SAndroid Build Coastguard Worker.. envvar:: MESA_VK_DEVICE_SELECT_FORCE_DEFAULT_DEVICE 919*61046927SAndroid Build Coastguard Worker 920*61046927SAndroid Build Coastguard Worker when set to 1, the device identified as default will be the only 921*61046927SAndroid Build Coastguard Worker one returned in vkEnumeratePhysicalDevices API. 922*61046927SAndroid Build Coastguard Worker 923*61046927SAndroid Build Coastguard Worker 924*61046927SAndroid Build Coastguard WorkerEGL environment variables 925*61046927SAndroid Build Coastguard Worker------------------------- 926*61046927SAndroid Build Coastguard Worker 927*61046927SAndroid Build Coastguard WorkerMesa EGL supports different sets of environment variables. See the 928*61046927SAndroid Build Coastguard Worker:doc:`Mesa EGL <egl>` page for the details. 929*61046927SAndroid Build Coastguard Worker 930*61046927SAndroid Build Coastguard WorkerGallium environment variables 931*61046927SAndroid Build Coastguard Worker----------------------------- 932*61046927SAndroid Build Coastguard Worker 933*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_HUD 934*61046927SAndroid Build Coastguard Worker 935*61046927SAndroid Build Coastguard Worker draws various information on the screen, like framerate, CPU load, 936*61046927SAndroid Build Coastguard Worker driver statistics, performance counters, etc. Set 937*61046927SAndroid Build Coastguard Worker :envvar:`GALLIUM_HUD` to ``help`` and run e.g. ``glxgears`` for more info. 938*61046927SAndroid Build Coastguard Worker 939*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_HUD_PERIOD 940*61046927SAndroid Build Coastguard Worker 941*61046927SAndroid Build Coastguard Worker sets the HUD update rate in seconds (float). Use zero to update every 942*61046927SAndroid Build Coastguard Worker frame. The default period is 1/2 second. 943*61046927SAndroid Build Coastguard Worker 944*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_HUD_VISIBLE 945*61046927SAndroid Build Coastguard Worker 946*61046927SAndroid Build Coastguard Worker control default visibility, defaults to true. 947*61046927SAndroid Build Coastguard Worker 948*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_HUD_OPACITY 949*61046927SAndroid Build Coastguard Worker 950*61046927SAndroid Build Coastguard Worker control background opacity as an integer percentage (1-100), defaults to 66%. 951*61046927SAndroid Build Coastguard Worker 952*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_HUD_TOGGLE_SIGNAL 953*61046927SAndroid Build Coastguard Worker 954*61046927SAndroid Build Coastguard Worker toggle visibility via user specified signal. Especially useful to 955*61046927SAndroid Build Coastguard Worker toggle HUD at specific points of application and disable for 956*61046927SAndroid Build Coastguard Worker unencumbered viewing the rest of the time. For example, set 957*61046927SAndroid Build Coastguard Worker :envvar:`GALLIUM_HUD_VISIBLE` to ``false`` and 958*61046927SAndroid Build Coastguard Worker :envvar:`GALLIUM_HUD_TOGGLE_SIGNAL` to ``10`` (``SIGUSR1``). Use 959*61046927SAndroid Build Coastguard Worker ``kill -10 <pid>`` to toggle the HUD as desired. 960*61046927SAndroid Build Coastguard Worker 961*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_HUD_SCALE 962*61046927SAndroid Build Coastguard Worker 963*61046927SAndroid Build Coastguard Worker Scale HUD by an integer factor, for high DPI displays. Default is 1. 964*61046927SAndroid Build Coastguard Worker 965*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_HUD_ROTATION 966*61046927SAndroid Build Coastguard Worker 967*61046927SAndroid Build Coastguard Worker Rotate the HUD by an integer number of degrees, the specified value must be 968*61046927SAndroid Build Coastguard Worker a multiple of 90. Default is 0. 969*61046927SAndroid Build Coastguard Worker 970*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_HUD_DUMP_DIR 971*61046927SAndroid Build Coastguard Worker 972*61046927SAndroid Build Coastguard Worker specifies a directory for writing the displayed HUD values into 973*61046927SAndroid Build Coastguard Worker files. 974*61046927SAndroid Build Coastguard Worker 975*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_DRIVER 976*61046927SAndroid Build Coastguard Worker 977*61046927SAndroid Build Coastguard Worker useful in combination with :envvar:`LIBGL_ALWAYS_SOFTWARE` = ``true`` for 978*61046927SAndroid Build Coastguard Worker choosing one of the software renderers ``softpipe`` or ``llvmpipe``. 979*61046927SAndroid Build Coastguard Worker 980*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_LOG_FILE 981*61046927SAndroid Build Coastguard Worker 982*61046927SAndroid Build Coastguard Worker specifies a file for logging all errors, warnings, etc. rather than 983*61046927SAndroid Build Coastguard Worker stderr. 984*61046927SAndroid Build Coastguard Worker 985*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_PIPE_SEARCH_DIR 986*61046927SAndroid Build Coastguard Worker 987*61046927SAndroid Build Coastguard Worker specifies an alternate search directory for pipe-loader which overrides 988*61046927SAndroid Build Coastguard Worker the compile-time path based on the install location. 989*61046927SAndroid Build Coastguard Worker 990*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_PRINT_OPTIONS 991*61046927SAndroid Build Coastguard Worker 992*61046927SAndroid Build Coastguard Worker if non-zero, print all the Gallium environment variables which are 993*61046927SAndroid Build Coastguard Worker used, and their current values. 994*61046927SAndroid Build Coastguard Worker 995*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_TRACE 996*61046927SAndroid Build Coastguard Worker 997*61046927SAndroid Build Coastguard Worker If set, this variable will cause the :ref:`trace` output to be written to the 998*61046927SAndroid Build Coastguard Worker specified file. Paths may be relative or absolute; relative paths are relative 999*61046927SAndroid Build Coastguard Worker to the working directory. For example, setting it to "trace.xml" will cause 1000*61046927SAndroid Build Coastguard Worker the trace to be written to a file of the same name in the working directory. 1001*61046927SAndroid Build Coastguard Worker 1002*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_TRACE_TC 1003*61046927SAndroid Build Coastguard Worker 1004*61046927SAndroid Build Coastguard Worker If enabled while :ref:`trace` is active, this variable specifies that the threaded context 1005*61046927SAndroid Build Coastguard Worker should be traced for drivers which implement it. By default, the driver thread is traced, 1006*61046927SAndroid Build Coastguard Worker which will include any reordering of the command stream from threaded context. 1007*61046927SAndroid Build Coastguard Worker 1008*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_TRACE_TRIGGER 1009*61046927SAndroid Build Coastguard Worker 1010*61046927SAndroid Build Coastguard Worker If set while :ref:`trace` is active, this variable specifies a filename to monitor. 1011*61046927SAndroid Build Coastguard Worker Once the file exists (e.g., from the user running 'touch /path/to/file'), a single 1012*61046927SAndroid Build Coastguard Worker frame will be recorded into the trace output. 1013*61046927SAndroid Build Coastguard Worker Paths may be relative or absolute; relative paths are relative to the working directory. 1014*61046927SAndroid Build Coastguard Worker 1015*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_DUMP_CPU 1016*61046927SAndroid Build Coastguard Worker 1017*61046927SAndroid Build Coastguard Worker if non-zero, print information about the CPU on start-up 1018*61046927SAndroid Build Coastguard Worker 1019*61046927SAndroid Build Coastguard Worker.. envvar:: TGSI_PRINT_SANITY 1020*61046927SAndroid Build Coastguard Worker 1021*61046927SAndroid Build Coastguard Worker if set, do extra sanity checking on TGSI shaders and print any errors 1022*61046927SAndroid Build Coastguard Worker to stderr. 1023*61046927SAndroid Build Coastguard Worker 1024*61046927SAndroid Build Coastguard Worker.. envvar:: DRAW_FSE 1025*61046927SAndroid Build Coastguard Worker 1026*61046927SAndroid Build Coastguard Worker Enable fetch-shade-emit middle-end even though its not correct (e.g. 1027*61046927SAndroid Build Coastguard Worker for Softpipe) 1028*61046927SAndroid Build Coastguard Worker 1029*61046927SAndroid Build Coastguard Worker.. envvar:: DRAW_NO_FSE 1030*61046927SAndroid Build Coastguard Worker 1031*61046927SAndroid Build Coastguard Worker Disable fetch-shade-emit middle-end even when it is correct 1032*61046927SAndroid Build Coastguard Worker 1033*61046927SAndroid Build Coastguard Worker.. envvar:: DRAW_USE_LLVM 1034*61046927SAndroid Build Coastguard Worker 1035*61046927SAndroid Build Coastguard Worker if set to zero, the draw module will not use LLVM to execute shaders, 1036*61046927SAndroid Build Coastguard Worker vertex fetch, etc. 1037*61046927SAndroid Build Coastguard Worker 1038*61046927SAndroid Build Coastguard Worker.. envvar:: ST_DEBUG 1039*61046927SAndroid Build Coastguard Worker 1040*61046927SAndroid Build Coastguard Worker controls debug output from the Mesa/Gallium state tracker. Setting to 1041*61046927SAndroid Build Coastguard Worker ``tgsi``, for example, will print all the TGSI shaders. See 1042*61046927SAndroid Build Coastguard Worker :file:`src/mesa/state_tracker/st_debug.c` for other options. 1043*61046927SAndroid Build Coastguard Worker 1044*61046927SAndroid Build Coastguard Worker.. envvar:: GALLIUM_OVERRIDE_CPU_CAPS 1045*61046927SAndroid Build Coastguard Worker 1046*61046927SAndroid Build Coastguard Worker Override CPU capabilities for LLVMpipe and Softpipe, possible values for x86: 1047*61046927SAndroid Build Coastguard Worker ``nosse`` 1048*61046927SAndroid Build Coastguard Worker ``sse`` 1049*61046927SAndroid Build Coastguard Worker ``sse2`` 1050*61046927SAndroid Build Coastguard Worker ``sse3`` 1051*61046927SAndroid Build Coastguard Worker ``ssse3`` 1052*61046927SAndroid Build Coastguard Worker ``sse4.1`` 1053*61046927SAndroid Build Coastguard Worker ``avx`` 1054*61046927SAndroid Build Coastguard Worker 1055*61046927SAndroid Build Coastguard WorkerClover environment variables 1056*61046927SAndroid Build Coastguard Worker---------------------------- 1057*61046927SAndroid Build Coastguard Worker 1058*61046927SAndroid Build Coastguard Worker.. envvar:: CLOVER_DEVICE_TYPE 1059*61046927SAndroid Build Coastguard Worker 1060*61046927SAndroid Build Coastguard Worker allows to overwrite the device type of devices. Possible values are 1061*61046927SAndroid Build Coastguard Worker ``accelerator``, ``cpu``, ``custom`` and ``gpu`` 1062*61046927SAndroid Build Coastguard Worker 1063*61046927SAndroid Build Coastguard Worker.. envvar:: CLOVER_DEVICE_VERSION_OVERRIDE 1064*61046927SAndroid Build Coastguard Worker 1065*61046927SAndroid Build Coastguard Worker overwrites the auto detected OpenCL version of a device. Possible values: 1066*61046927SAndroid Build Coastguard Worker ``1.0`` 1067*61046927SAndroid Build Coastguard Worker ``1.1`` 1068*61046927SAndroid Build Coastguard Worker ``1.2`` 1069*61046927SAndroid Build Coastguard Worker ``2.0`` 1070*61046927SAndroid Build Coastguard Worker ``2.1`` 1071*61046927SAndroid Build Coastguard Worker ``2.2`` 1072*61046927SAndroid Build Coastguard Worker ``3.0`` 1073*61046927SAndroid Build Coastguard Worker 1074*61046927SAndroid Build Coastguard Worker.. envvar:: CLOVER_DEVICE_CLC_VERSION_OVERRIDE 1075*61046927SAndroid Build Coastguard Worker 1076*61046927SAndroid Build Coastguard Worker overwrites the auto detected CLC version. Possible values: 1077*61046927SAndroid Build Coastguard Worker ``1.0`` 1078*61046927SAndroid Build Coastguard Worker ``1.1`` 1079*61046927SAndroid Build Coastguard Worker ``1.2`` 1080*61046927SAndroid Build Coastguard Worker ``2.0`` 1081*61046927SAndroid Build Coastguard Worker ``2.1`` 1082*61046927SAndroid Build Coastguard Worker ``2.2`` 1083*61046927SAndroid Build Coastguard Worker ``3.0`` 1084*61046927SAndroid Build Coastguard Worker 1085*61046927SAndroid Build Coastguard Worker.. envvar:: CLOVER_EXTRA_BUILD_OPTIONS 1086*61046927SAndroid Build Coastguard Worker 1087*61046927SAndroid Build Coastguard Worker allows specifying additional compiler and linker options. Specified 1088*61046927SAndroid Build Coastguard Worker options are appended after the options set by the OpenCL program in 1089*61046927SAndroid Build Coastguard Worker ``clBuildProgram``. 1090*61046927SAndroid Build Coastguard Worker 1091*61046927SAndroid Build Coastguard Worker.. envvar:: CLOVER_EXTRA_COMPILE_OPTIONS 1092*61046927SAndroid Build Coastguard Worker 1093*61046927SAndroid Build Coastguard Worker allows specifying additional compiler options. Specified options are 1094*61046927SAndroid Build Coastguard Worker appended after the options set by the OpenCL program in 1095*61046927SAndroid Build Coastguard Worker ``clCompileProgram``. 1096*61046927SAndroid Build Coastguard Worker 1097*61046927SAndroid Build Coastguard Worker.. envvar:: CLOVER_EXTRA_LINK_OPTIONS 1098*61046927SAndroid Build Coastguard Worker 1099*61046927SAndroid Build Coastguard Worker allows specifying additional linker options. Specified options are 1100*61046927SAndroid Build Coastguard Worker appended after the options set by the OpenCL program in 1101*61046927SAndroid Build Coastguard Worker ``clLinkProgram``. 1102*61046927SAndroid Build Coastguard Worker 1103*61046927SAndroid Build Coastguard Worker.. _rusticl-env-var: 1104*61046927SAndroid Build Coastguard Worker 1105*61046927SAndroid Build Coastguard Worker.. envvar:: IRIS_ENABLE_CLOVER 1106*61046927SAndroid Build Coastguard Worker 1107*61046927SAndroid Build Coastguard Worker allows to enable experimental Clover NIR support with the iris driver if 1108*61046927SAndroid Build Coastguard Worker set to 1 or true. 1109*61046927SAndroid Build Coastguard Worker 1110*61046927SAndroid Build Coastguard WorkerRusticl environment variables 1111*61046927SAndroid Build Coastguard Worker----------------------------- 1112*61046927SAndroid Build Coastguard Worker 1113*61046927SAndroid Build Coastguard Worker.. envvar:: RUSTICL_DEVICE_TYPE 1114*61046927SAndroid Build Coastguard Worker 1115*61046927SAndroid Build Coastguard Worker allows to overwrite the device type of devices. Possible values are 1116*61046927SAndroid Build Coastguard Worker ``accelerator``, ``cpu``, ``custom`` and ``gpu`` 1117*61046927SAndroid Build Coastguard Worker 1118*61046927SAndroid Build Coastguard Worker.. envvar:: RUSTICL_CL_VERSION 1119*61046927SAndroid Build Coastguard Worker 1120*61046927SAndroid Build Coastguard Worker overwrites the auto detected OpenCL version of all devices. Specified as 1121*61046927SAndroid Build Coastguard Worker ``major.minor``. 1122*61046927SAndroid Build Coastguard Worker 1123*61046927SAndroid Build Coastguard Worker.. envvar:: RUSTICL_ENABLE 1124*61046927SAndroid Build Coastguard Worker 1125*61046927SAndroid Build Coastguard Worker a comma-separated list of drivers to enable CL on. An optional list of 1126*61046927SAndroid Build Coastguard Worker comma-separated integers can be passed per driver to specify which devices 1127*61046927SAndroid Build Coastguard Worker to enable. Examples: 1128*61046927SAndroid Build Coastguard Worker 1129*61046927SAndroid Build Coastguard Worker - ``RUSTICL_ENABLE=iris`` (enables all iris devices) 1130*61046927SAndroid Build Coastguard Worker - ``RUSTICL_ENABLE=iris:1,radeonsi:0,2`` (enables second iris and first 1131*61046927SAndroid Build Coastguard Worker and third radeonsi device) 1132*61046927SAndroid Build Coastguard Worker 1133*61046927SAndroid Build Coastguard Worker Supported drivers (decent support with maybe a few conformance issues or bugs): 1134*61046927SAndroid Build Coastguard Worker ``iris``, 1135*61046927SAndroid Build Coastguard Worker ``llvmpipe``, 1136*61046927SAndroid Build Coastguard Worker ``nouveau``, 1137*61046927SAndroid Build Coastguard Worker ``panfrost``, 1138*61046927SAndroid Build Coastguard Worker ``radeonsi``, 1139*61046927SAndroid Build Coastguard Worker Experimental drivers (unknown level of support, expect conformance issues or major bugs): 1140*61046927SAndroid Build Coastguard Worker ``r600`` 1141*61046927SAndroid Build Coastguard Worker 1142*61046927SAndroid Build Coastguard Worker.. envvar:: RUSTICL_FEATURES 1143*61046927SAndroid Build Coastguard Worker 1144*61046927SAndroid Build Coastguard Worker a comma-separated list of features to enable. Those are disabled by default 1145*61046927SAndroid Build Coastguard Worker as they might not be stable enough or break OpenCL conformance. 1146*61046927SAndroid Build Coastguard Worker 1147*61046927SAndroid Build Coastguard Worker - ``fp16`` enables OpenCL half support 1148*61046927SAndroid Build Coastguard Worker - ``fp64`` enables OpenCL double support 1149*61046927SAndroid Build Coastguard Worker 1150*61046927SAndroid Build Coastguard Worker.. envvar:: RUSTICL_DEBUG 1151*61046927SAndroid Build Coastguard Worker 1152*61046927SAndroid Build Coastguard Worker a comma-separated list of debug channels to enable. 1153*61046927SAndroid Build Coastguard Worker 1154*61046927SAndroid Build Coastguard Worker - ``allow_invalid_spirv`` disables validation of any input SPIR-V 1155*61046927SAndroid Build Coastguard Worker - ``clc`` dumps all OpenCL C source being compiled 1156*61046927SAndroid Build Coastguard Worker - ``nir`` dumps nirs in various compilation stages. Might print nothing if shader caching is 1157*61046927SAndroid Build Coastguard Worker enabled. 1158*61046927SAndroid Build Coastguard Worker - ``no_reuse_context`` pipe_contexts are not recycled 1159*61046927SAndroid Build Coastguard Worker - ``no_variants`` disable kernel variants (e.g. specialized binaries for offsets == 0) 1160*61046927SAndroid Build Coastguard Worker - ``perf`` prints a warning when hitting slow paths once 1161*61046927SAndroid Build Coastguard Worker - ``perfspam`` same as perf, but doesn't skip same warnings 1162*61046927SAndroid Build Coastguard Worker - ``program`` dumps compilation logs to stderr 1163*61046927SAndroid Build Coastguard Worker - ``sync`` waits on the GPU to complete after every event 1164*61046927SAndroid Build Coastguard Worker - ``validate`` validates any internally generated SPIR-Vs, e.g. through compiling OpenCL C code 1165*61046927SAndroid Build Coastguard Worker 1166*61046927SAndroid Build Coastguard Worker.. envvar:: RUSTICL_MAX_WORK_GROUPS 1167*61046927SAndroid Build Coastguard Worker 1168*61046927SAndroid Build Coastguard Worker Limits the amount of threads per dimension in a work-group. Useful for splitting up long running 1169*61046927SAndroid Build Coastguard Worker tasks to increase responsiveness or to simulate the lowering of huge global sizes for testing. 1170*61046927SAndroid Build Coastguard Worker 1171*61046927SAndroid Build Coastguard Worker.. _clc-env-var: 1172*61046927SAndroid Build Coastguard Worker 1173*61046927SAndroid Build Coastguard Workerclc environment variables 1174*61046927SAndroid Build Coastguard Worker----------------------------- 1175*61046927SAndroid Build Coastguard Worker 1176*61046927SAndroid Build Coastguard Worker.. envvar:: CLC_DEBUG 1177*61046927SAndroid Build Coastguard Worker 1178*61046927SAndroid Build Coastguard Worker a comma-separated list of debug channels to enable. 1179*61046927SAndroid Build Coastguard Worker 1180*61046927SAndroid Build Coastguard Worker - ``dump_llvm`` Dumps all generated LLVM IRs 1181*61046927SAndroid Build Coastguard Worker - ``dump_spirv`` Dumps all compiled, linked and specialized SPIR-Vs 1182*61046927SAndroid Build Coastguard Worker - ``verbose`` Enable debug logging of clc code 1183*61046927SAndroid Build Coastguard Worker 1184*61046927SAndroid Build Coastguard WorkerNine frontend environment variables 1185*61046927SAndroid Build Coastguard Worker----------------------------------- 1186*61046927SAndroid Build Coastguard Worker 1187*61046927SAndroid Build Coastguard Worker.. envvar:: D3D_ALWAYS_SOFTWARE 1188*61046927SAndroid Build Coastguard Worker 1189*61046927SAndroid Build Coastguard Worker an integer, which forces Nine to use the CPU instead of GPU acceleration. 1190*61046927SAndroid Build Coastguard Worker 1191*61046927SAndroid Build Coastguard Worker.. envvar:: NINE_DEBUG 1192*61046927SAndroid Build Coastguard Worker 1193*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags that do debugging things. 1194*61046927SAndroid Build Coastguard Worker Use ``NINE_DEBUG=help`` to print a list of available options. 1195*61046927SAndroid Build Coastguard Worker 1196*61046927SAndroid Build Coastguard Worker.. envvar:: NINE_FF_DUMP 1197*61046927SAndroid Build Coastguard Worker 1198*61046927SAndroid Build Coastguard Worker a boolean, which dumps shaders generated by a fixed function (FF). 1199*61046927SAndroid Build Coastguard Worker 1200*61046927SAndroid Build Coastguard Worker.. envvar:: NINE_SHADER 1201*61046927SAndroid Build Coastguard Worker 1202*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags, which do alternate shader handling. 1203*61046927SAndroid Build Coastguard Worker Use ``NINE_SHADER=help`` to print a list of available options. 1204*61046927SAndroid Build Coastguard Worker 1205*61046927SAndroid Build Coastguard Worker.. envvar:: NINE_QUIRKS 1206*61046927SAndroid Build Coastguard Worker 1207*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags that do various things. 1208*61046927SAndroid Build Coastguard Worker Use ``NINE_DEBUG=help`` to print a list of available options. 1209*61046927SAndroid Build Coastguard Worker 1210*61046927SAndroid Build Coastguard WorkerSoftpipe driver environment variables 1211*61046927SAndroid Build Coastguard Worker------------------------------------- 1212*61046927SAndroid Build Coastguard Worker 1213*61046927SAndroid Build Coastguard Worker.. envvar:: SOFTPIPE_DEBUG 1214*61046927SAndroid Build Coastguard Worker 1215*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags, which do various things: 1216*61046927SAndroid Build Coastguard Worker 1217*61046927SAndroid Build Coastguard Worker ``vs`` 1218*61046927SAndroid Build Coastguard Worker Dump vertex shader assembly to stderr 1219*61046927SAndroid Build Coastguard Worker ``fs`` 1220*61046927SAndroid Build Coastguard Worker Dump fragment shader assembly to stderr 1221*61046927SAndroid Build Coastguard Worker ``gs`` 1222*61046927SAndroid Build Coastguard Worker Dump geometry shader assembly to stderr 1223*61046927SAndroid Build Coastguard Worker ``cs`` 1224*61046927SAndroid Build Coastguard Worker Dump compute shader assembly to stderr 1225*61046927SAndroid Build Coastguard Worker ``no_rast`` 1226*61046927SAndroid Build Coastguard Worker rasterization is disabled. For profiling purposes. 1227*61046927SAndroid Build Coastguard Worker ``use_llvm`` 1228*61046927SAndroid Build Coastguard Worker the Softpipe driver will try to use LLVM JIT for vertex 1229*61046927SAndroid Build Coastguard Worker shading processing. 1230*61046927SAndroid Build Coastguard Worker 1231*61046927SAndroid Build Coastguard WorkerLLVMpipe driver environment variables 1232*61046927SAndroid Build Coastguard Worker------------------------------------- 1233*61046927SAndroid Build Coastguard Worker 1234*61046927SAndroid Build Coastguard Worker.. envvar:: LP_NO_RAST 1235*61046927SAndroid Build Coastguard Worker 1236*61046927SAndroid Build Coastguard Worker if set LLVMpipe will no-op rasterization 1237*61046927SAndroid Build Coastguard Worker 1238*61046927SAndroid Build Coastguard Worker.. envvar:: LP_DEBUG 1239*61046927SAndroid Build Coastguard Worker 1240*61046927SAndroid Build Coastguard Worker a comma-separated list of debug options is accepted. See the source 1241*61046927SAndroid Build Coastguard Worker code for details. 1242*61046927SAndroid Build Coastguard Worker 1243*61046927SAndroid Build Coastguard Worker.. envvar:: LP_PERF 1244*61046927SAndroid Build Coastguard Worker 1245*61046927SAndroid Build Coastguard Worker a comma-separated list of options to selectively no-op various parts 1246*61046927SAndroid Build Coastguard Worker of the driver. See the source code for details. 1247*61046927SAndroid Build Coastguard Worker 1248*61046927SAndroid Build Coastguard Worker.. envvar:: LP_NUM_THREADS 1249*61046927SAndroid Build Coastguard Worker 1250*61046927SAndroid Build Coastguard Worker an integer indicating how many threads to use for rendering. Zero 1251*61046927SAndroid Build Coastguard Worker turns off threading completely. The default value is the number of 1252*61046927SAndroid Build Coastguard Worker CPU cores present. 1253*61046927SAndroid Build Coastguard Worker 1254*61046927SAndroid Build Coastguard WorkerVMware SVGA driver environment variables 1255*61046927SAndroid Build Coastguard Worker---------------------------------------- 1256*61046927SAndroid Build Coastguard Worker 1257*61046927SAndroid Build Coastguard Worker.. envvar:: SVGA_FORCE_SWTNL 1258*61046927SAndroid Build Coastguard Worker 1259*61046927SAndroid Build Coastguard Worker force use of software vertex transformation 1260*61046927SAndroid Build Coastguard Worker 1261*61046927SAndroid Build Coastguard Worker.. envvar:: SVGA_NO_SWTNL 1262*61046927SAndroid Build Coastguard Worker 1263*61046927SAndroid Build Coastguard Worker don't allow software vertex transformation fallbacks (will often 1264*61046927SAndroid Build Coastguard Worker result in incorrect rendering). 1265*61046927SAndroid Build Coastguard Worker 1266*61046927SAndroid Build Coastguard Worker.. envvar:: SVGA_DEBUG 1267*61046927SAndroid Build Coastguard Worker 1268*61046927SAndroid Build Coastguard Worker for dumping shaders, constant buffers, etc. See the code for details. 1269*61046927SAndroid Build Coastguard Worker 1270*61046927SAndroid Build Coastguard Worker.. envvar:: SVGA_EXTRA_LOGGING 1271*61046927SAndroid Build Coastguard Worker 1272*61046927SAndroid Build Coastguard Worker if set, enables extra logging to the ``vmware.log`` file, such as the 1273*61046927SAndroid Build Coastguard Worker OpenGL program's name and command line arguments. 1274*61046927SAndroid Build Coastguard Worker 1275*61046927SAndroid Build Coastguard Worker.. envvar:: SVGA_NO_LOGGING 1276*61046927SAndroid Build Coastguard Worker 1277*61046927SAndroid Build Coastguard Worker if set, disables logging to the ``vmware.log`` file. This is useful 1278*61046927SAndroid Build Coastguard Worker when using Valgrind because it otherwise crashes when initializing 1279*61046927SAndroid Build Coastguard Worker the host log feature. 1280*61046927SAndroid Build Coastguard Worker 1281*61046927SAndroid Build Coastguard WorkerSee the driver code for other, lesser-used variables. 1282*61046927SAndroid Build Coastguard Worker 1283*61046927SAndroid Build Coastguard WorkerWGL environment variables 1284*61046927SAndroid Build Coastguard Worker------------------------- 1285*61046927SAndroid Build Coastguard Worker 1286*61046927SAndroid Build Coastguard Worker.. envvar:: WGL_SWAP_INTERVAL 1287*61046927SAndroid Build Coastguard Worker 1288*61046927SAndroid Build Coastguard Worker to set a swap interval, equivalent to calling 1289*61046927SAndroid Build Coastguard Worker ``wglSwapIntervalEXT()`` in an application. If this environment 1290*61046927SAndroid Build Coastguard Worker variable is set, application calls to ``wglSwapIntervalEXT()`` will 1291*61046927SAndroid Build Coastguard Worker have no effect. 1292*61046927SAndroid Build Coastguard Worker 1293*61046927SAndroid Build Coastguard WorkerVA-API environment variables 1294*61046927SAndroid Build Coastguard Worker---------------------------- 1295*61046927SAndroid Build Coastguard Worker 1296*61046927SAndroid Build Coastguard Worker.. envvar:: VAAPI_MPEG4_ENABLED 1297*61046927SAndroid Build Coastguard Worker 1298*61046927SAndroid Build Coastguard Worker enable MPEG4 for VA-API, disabled by default. 1299*61046927SAndroid Build Coastguard Worker 1300*61046927SAndroid Build Coastguard WorkerVC4 driver environment variables 1301*61046927SAndroid Build Coastguard Worker-------------------------------- 1302*61046927SAndroid Build Coastguard Worker 1303*61046927SAndroid Build Coastguard Worker.. envvar:: VC4_DEBUG 1304*61046927SAndroid Build Coastguard Worker 1305*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags, which do various things. Use 1306*61046927SAndroid Build Coastguard Worker ``VC4_DEBUG=help`` to print a list of available options. 1307*61046927SAndroid Build Coastguard Worker 1308*61046927SAndroid Build Coastguard WorkerV3D/V3DV driver environment variables 1309*61046927SAndroid Build Coastguard Worker------------------------------------- 1310*61046927SAndroid Build Coastguard Worker 1311*61046927SAndroid Build Coastguard Worker.. envvar:: V3D_DEBUG 1312*61046927SAndroid Build Coastguard Worker 1313*61046927SAndroid Build Coastguard Worker a comma-separated list of debug options. Use ``V3D_DEBUG=help`` to 1314*61046927SAndroid Build Coastguard Worker print a list of available options. 1315*61046927SAndroid Build Coastguard Worker 1316*61046927SAndroid Build Coastguard Worker 1317*61046927SAndroid Build Coastguard Worker.. _radv env-vars: 1318*61046927SAndroid Build Coastguard Worker 1319*61046927SAndroid Build Coastguard WorkerRADV driver environment variables 1320*61046927SAndroid Build Coastguard Worker--------------------------------- 1321*61046927SAndroid Build Coastguard Worker 1322*61046927SAndroid Build Coastguard Worker.. envvar:: RADV_DEBUG 1323*61046927SAndroid Build Coastguard Worker 1324*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags, which do various things: 1325*61046927SAndroid Build Coastguard Worker 1326*61046927SAndroid Build Coastguard Worker ``llvm`` 1327*61046927SAndroid Build Coastguard Worker enable LLVM compiler backend 1328*61046927SAndroid Build Coastguard Worker ``allbos`` 1329*61046927SAndroid Build Coastguard Worker force all allocated buffers to be referenced in submissions 1330*61046927SAndroid Build Coastguard Worker ``checkir`` 1331*61046927SAndroid Build Coastguard Worker validate the LLVM IR before LLVM compiles the shader 1332*61046927SAndroid Build Coastguard Worker ``epilogs`` 1333*61046927SAndroid Build Coastguard Worker dump fragment shader epilogs 1334*61046927SAndroid Build Coastguard Worker ``extra_md`` 1335*61046927SAndroid Build Coastguard Worker add extra information in bo metadata to help tools (umr) 1336*61046927SAndroid Build Coastguard Worker ``forcecompress`` 1337*61046927SAndroid Build Coastguard Worker Enables DCC,FMASK,CMASK,HTILE in situations where the driver supports it 1338*61046927SAndroid Build Coastguard Worker but normally does not deem it beneficial. 1339*61046927SAndroid Build Coastguard Worker ``hang`` 1340*61046927SAndroid Build Coastguard Worker enable GPU hangs detection and dump a report to 1341*61046927SAndroid Build Coastguard Worker $HOME/radv_dumps_<pid>_<time> if a GPU hang is detected 1342*61046927SAndroid Build Coastguard Worker ``img`` 1343*61046927SAndroid Build Coastguard Worker Print image info 1344*61046927SAndroid Build Coastguard Worker ``info`` 1345*61046927SAndroid Build Coastguard Worker show GPU-related information 1346*61046927SAndroid Build Coastguard Worker ``invariantgeom`` 1347*61046927SAndroid Build Coastguard Worker Mark geometry-affecting outputs as invariant. This works around a common 1348*61046927SAndroid Build Coastguard Worker class of application bugs appearing as flickering. 1349*61046927SAndroid Build Coastguard Worker ``metashaders`` 1350*61046927SAndroid Build Coastguard Worker dump internal meta shaders 1351*61046927SAndroid Build Coastguard Worker ``noatocdithering`` 1352*61046927SAndroid Build Coastguard Worker disable dithering for alpha to coverage 1353*61046927SAndroid Build Coastguard Worker ``nobinning`` 1354*61046927SAndroid Build Coastguard Worker disable primitive binning 1355*61046927SAndroid Build Coastguard Worker ``nocache`` 1356*61046927SAndroid Build Coastguard Worker disable shaders cache 1357*61046927SAndroid Build Coastguard Worker ``nocompute`` 1358*61046927SAndroid Build Coastguard Worker disable compute queue 1359*61046927SAndroid Build Coastguard Worker ``nodcc`` 1360*61046927SAndroid Build Coastguard Worker disable Delta Color Compression (DCC) on images 1361*61046927SAndroid Build Coastguard Worker ``nodisplaydcc`` 1362*61046927SAndroid Build Coastguard Worker disable Delta Color Compression (DCC) on displayable images 1363*61046927SAndroid Build Coastguard Worker ``nodynamicbounds`` 1364*61046927SAndroid Build Coastguard Worker do not check OOB access for dynamic descriptors 1365*61046927SAndroid Build Coastguard Worker ``noeso`` 1366*61046927SAndroid Build Coastguard Worker disable VK_EXT_shader_object 1367*61046927SAndroid Build Coastguard Worker ``nofastclears`` 1368*61046927SAndroid Build Coastguard Worker disable fast color/depthstencil clears 1369*61046927SAndroid Build Coastguard Worker ``nofmask`` 1370*61046927SAndroid Build Coastguard Worker disable FMASK compression on MSAA images (GFX6-GFX10.3) 1371*61046927SAndroid Build Coastguard Worker ``nogpl`` 1372*61046927SAndroid Build Coastguard Worker disable VK_EXT_graphics_pipeline_library 1373*61046927SAndroid Build Coastguard Worker ``nohiz`` 1374*61046927SAndroid Build Coastguard Worker disable HIZ for depthstencil images 1375*61046927SAndroid Build Coastguard Worker ``noibs`` 1376*61046927SAndroid Build Coastguard Worker disable directly recording command buffers in GPU-visible memory 1377*61046927SAndroid Build Coastguard Worker ``nomeshshader`` 1378*61046927SAndroid Build Coastguard Worker disable mesh shader support on GFX10.3+ 1379*61046927SAndroid Build Coastguard Worker ``nongg`` 1380*61046927SAndroid Build Coastguard Worker disable NGG for GFX10 and GFX10.3 1381*61046927SAndroid Build Coastguard Worker ``nonggc`` 1382*61046927SAndroid Build Coastguard Worker disable NGG culling on GPUs where it's enabled by default (GFX10.3 only). 1383*61046927SAndroid Build Coastguard Worker ``nongg_gs`` 1384*61046927SAndroid Build Coastguard Worker disable NGG GS for GFX10 and GFX10.3 1385*61046927SAndroid Build Coastguard Worker ``nort`` 1386*61046927SAndroid Build Coastguard Worker skip executing vkCmdTraceRays and ray queries (RT extensions will still be 1387*61046927SAndroid Build Coastguard Worker advertised) 1388*61046927SAndroid Build Coastguard Worker ``notccompatcmask`` 1389*61046927SAndroid Build Coastguard Worker disable TC-compat CMASK for MSAA surfaces 1390*61046927SAndroid Build Coastguard Worker ``noumr`` 1391*61046927SAndroid Build Coastguard Worker disable UMR dumps during GPU hang detection (only with 1392*61046927SAndroid Build Coastguard Worker :envvar:`RADV_DEBUG` = ``hang``) 1393*61046927SAndroid Build Coastguard Worker ``novrsflatshading`` 1394*61046927SAndroid Build Coastguard Worker disable VRS for flat shading (only on GFX10.3+) 1395*61046927SAndroid Build Coastguard Worker ``preoptir`` 1396*61046927SAndroid Build Coastguard Worker dump LLVM IR before any optimizations 1397*61046927SAndroid Build Coastguard Worker ``prologs`` 1398*61046927SAndroid Build Coastguard Worker dump vertex shader prologs 1399*61046927SAndroid Build Coastguard Worker ``shaders`` 1400*61046927SAndroid Build Coastguard Worker dump shaders 1401*61046927SAndroid Build Coastguard Worker ``shaderstats`` 1402*61046927SAndroid Build Coastguard Worker dump shader statistics 1403*61046927SAndroid Build Coastguard Worker ``shadowregs`` 1404*61046927SAndroid Build Coastguard Worker enable register shadowing 1405*61046927SAndroid Build Coastguard Worker ``spirv`` 1406*61046927SAndroid Build Coastguard Worker dump SPIR-V 1407*61046927SAndroid Build Coastguard Worker ``splitfma`` 1408*61046927SAndroid Build Coastguard Worker split application-provided fused multiply-add in geometry stages 1409*61046927SAndroid Build Coastguard Worker ``startup`` 1410*61046927SAndroid Build Coastguard Worker display info at startup 1411*61046927SAndroid Build Coastguard Worker ``syncshaders`` 1412*61046927SAndroid Build Coastguard Worker synchronize shaders after all draws/dispatches 1413*61046927SAndroid Build Coastguard Worker ``zerovram`` 1414*61046927SAndroid Build Coastguard Worker initialize all memory allocated in VRAM as zero 1415*61046927SAndroid Build Coastguard Worker 1416*61046927SAndroid Build Coastguard Worker.. envvar:: RADV_FORCE_FAMILY 1417*61046927SAndroid Build Coastguard Worker 1418*61046927SAndroid Build Coastguard Worker create a null device to compile shaders without a AMD GPU (e.g. VEGA10) 1419*61046927SAndroid Build Coastguard Worker 1420*61046927SAndroid Build Coastguard Worker.. envvar:: RADV_FORCE_VRS 1421*61046927SAndroid Build Coastguard Worker 1422*61046927SAndroid Build Coastguard Worker allow to force per-pipeline vertex VRS rates on GFX10.3+. This is only 1423*61046927SAndroid Build Coastguard Worker forced for pipelines that don't explicitly use VRS or flat shading. 1424*61046927SAndroid Build Coastguard Worker The supported values are 2x2, 1x2, 2x1 and 1x1. Only for testing purposes. 1425*61046927SAndroid Build Coastguard Worker 1426*61046927SAndroid Build Coastguard Worker.. envvar:: RADV_FORCE_VRS_CONFIG_FILE 1427*61046927SAndroid Build Coastguard Worker 1428*61046927SAndroid Build Coastguard Worker similar to ``RADV_FORCE_VRS`` but allow to configure from a file. If present, 1429*61046927SAndroid Build Coastguard Worker this supersedes ``RADV_FORCE_VRS``. 1430*61046927SAndroid Build Coastguard Worker 1431*61046927SAndroid Build Coastguard Worker.. envvar:: RADV_PERFTEST 1432*61046927SAndroid Build Coastguard Worker 1433*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags, which do various things: 1434*61046927SAndroid Build Coastguard Worker 1435*61046927SAndroid Build Coastguard Worker ``bolist`` 1436*61046927SAndroid Build Coastguard Worker enable the global BO list 1437*61046927SAndroid Build Coastguard Worker ``cswave32`` 1438*61046927SAndroid Build Coastguard Worker enable wave32 for compute shaders (GFX10+) 1439*61046927SAndroid Build Coastguard Worker ``dccmsaa`` 1440*61046927SAndroid Build Coastguard Worker enable DCC for MSAA images 1441*61046927SAndroid Build Coastguard Worker ``dmashaders`` 1442*61046927SAndroid Build Coastguard Worker upload shaders to invisible VRAM (might be useful for non-resizable BAR systems) 1443*61046927SAndroid Build Coastguard Worker ``emulate_rt`` 1444*61046927SAndroid Build Coastguard Worker forces ray-tracing to be emulated in software on GFX10_3+ and enables 1445*61046927SAndroid Build Coastguard Worker rt extensions with older hardware. 1446*61046927SAndroid Build Coastguard Worker ``gewave32`` 1447*61046927SAndroid Build Coastguard Worker enable wave32 for vertex/tess/geometry shaders (GFX10+) 1448*61046927SAndroid Build Coastguard Worker ``localbos`` 1449*61046927SAndroid Build Coastguard Worker enable local BOs 1450*61046927SAndroid Build Coastguard Worker ``nggc`` 1451*61046927SAndroid Build Coastguard Worker enable NGG culling on GPUs where it's not enabled by default (GFX10.1 only). 1452*61046927SAndroid Build Coastguard Worker ``nircache`` 1453*61046927SAndroid Build Coastguard Worker cache per-stage NIR for graphics pipelines 1454*61046927SAndroid Build Coastguard Worker ``nosam`` 1455*61046927SAndroid Build Coastguard Worker disable optimizations that get enabled when all VRAM is CPU visible. 1456*61046927SAndroid Build Coastguard Worker ``pswave32`` 1457*61046927SAndroid Build Coastguard Worker enable wave32 for pixel shaders (GFX10+) 1458*61046927SAndroid Build Coastguard Worker ``rtwave32`` 1459*61046927SAndroid Build Coastguard Worker enable wave32 for ray tracing shaders (GFX11+) 1460*61046927SAndroid Build Coastguard Worker ``rtwave64`` 1461*61046927SAndroid Build Coastguard Worker enable wave64 for ray tracing shaders (GFX10-10.3) 1462*61046927SAndroid Build Coastguard Worker ``sam`` 1463*61046927SAndroid Build Coastguard Worker enable optimizations to move more driver internal objects to VRAM. 1464*61046927SAndroid Build Coastguard Worker ``transfer_queue`` 1465*61046927SAndroid Build Coastguard Worker enable experimental transfer queue support (GFX9+, not yet spec compliant) 1466*61046927SAndroid Build Coastguard Worker ``video_decode`` 1467*61046927SAndroid Build Coastguard Worker enable experimental video decoding support 1468*61046927SAndroid Build Coastguard Worker 1469*61046927SAndroid Build Coastguard Worker.. envvar:: RADV_TEX_ANISO 1470*61046927SAndroid Build Coastguard Worker 1471*61046927SAndroid Build Coastguard Worker force anisotropy filter (up to 16) 1472*61046927SAndroid Build Coastguard Worker 1473*61046927SAndroid Build Coastguard Worker.. envvar:: RADV_THREAD_TRACE_BUFFER_SIZE 1474*61046927SAndroid Build Coastguard Worker 1475*61046927SAndroid Build Coastguard Worker set the SQTT/RGP buffer size in bytes (default value is 32MiB, the buffer is 1476*61046927SAndroid Build Coastguard Worker automatically resized if too small) 1477*61046927SAndroid Build Coastguard Worker 1478*61046927SAndroid Build Coastguard Worker.. envvar:: RADV_THREAD_TRACE_CACHE_COUNTERS 1479*61046927SAndroid Build Coastguard Worker 1480*61046927SAndroid Build Coastguard Worker enable/disable SQTT/RGP cache counters on GFX10+ (enabled by default) 1481*61046927SAndroid Build Coastguard Worker 1482*61046927SAndroid Build Coastguard Worker.. envvar:: RADV_THREAD_TRACE_INSTRUCTION_TIMING 1483*61046927SAndroid Build Coastguard Worker 1484*61046927SAndroid Build Coastguard Worker enable/disable SQTT/RGP instruction timing (enabled by default) 1485*61046927SAndroid Build Coastguard Worker 1486*61046927SAndroid Build Coastguard Worker.. envvar:: RADV_THREAD_TRACE_QUEUE_EVENTS 1487*61046927SAndroid Build Coastguard Worker 1488*61046927SAndroid Build Coastguard Worker enable/disable SQTT/RGP queue events (enabled by default) 1489*61046927SAndroid Build Coastguard Worker 1490*61046927SAndroid Build Coastguard Worker.. envvar:: RADV_RRA_TRACE_VALIDATE 1491*61046927SAndroid Build Coastguard Worker 1492*61046927SAndroid Build Coastguard Worker enable validation of captured acceleration structures. Can be 1493*61046927SAndroid Build Coastguard Worker useful if RRA crashes upon opening a trace. 1494*61046927SAndroid Build Coastguard Worker 1495*61046927SAndroid Build Coastguard Worker.. envvar:: RADV_RRA_TRACE_HISTORY_SIZE 1496*61046927SAndroid Build Coastguard Worker 1497*61046927SAndroid Build Coastguard Worker set the ray history buffer size when capturing RRA traces (default value is 100MiB, 1498*61046927SAndroid Build Coastguard Worker small buffers may result in incomplete traces) 1499*61046927SAndroid Build Coastguard Worker 1500*61046927SAndroid Build Coastguard Worker.. envvar:: RADV_RRA_TRACE_RESOLUTION_SCALE 1501*61046927SAndroid Build Coastguard Worker 1502*61046927SAndroid Build Coastguard Worker decrease the resolution used for dumping the ray history resolution when capturing 1503*61046927SAndroid Build Coastguard Worker RRA traces. This allows for dumping every Nth invocation along each dispatch dimension. 1504*61046927SAndroid Build Coastguard Worker 1505*61046927SAndroid Build Coastguard Worker.. envvar:: RADV_PROFILE_PSTATE 1506*61046927SAndroid Build Coastguard Worker 1507*61046927SAndroid Build Coastguard Worker choose the specific pstate to enter when using thread tracing or when acquiring the 1508*61046927SAndroid Build Coastguard Worker profiling lock for performance queries. 1509*61046927SAndroid Build Coastguard Worker 1510*61046927SAndroid Build Coastguard Worker ``standard`` 1511*61046927SAndroid Build Coastguard Worker force GPU clocks to an arbitrary fixed level 1512*61046927SAndroid Build Coastguard Worker ``min_sclk`` 1513*61046927SAndroid Build Coastguard Worker force the shader clock to its minimum level 1514*61046927SAndroid Build Coastguard Worker ``min_mclk`` 1515*61046927SAndroid Build Coastguard Worker force the memory clock to its minimum level 1516*61046927SAndroid Build Coastguard Worker ``peak`` 1517*61046927SAndroid Build Coastguard Worker force GPU clocks to their maximum level, this is the default value 1518*61046927SAndroid Build Coastguard Worker 1519*61046927SAndroid Build Coastguard Worker.. envvar:: ACO_DEBUG 1520*61046927SAndroid Build Coastguard Worker 1521*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags, which do various things: 1522*61046927SAndroid Build Coastguard Worker 1523*61046927SAndroid Build Coastguard Worker ``validateir`` 1524*61046927SAndroid Build Coastguard Worker validate the ACO IR at various points of compilation (enabled by 1525*61046927SAndroid Build Coastguard Worker default for debug/debugoptimized builds) 1526*61046927SAndroid Build Coastguard Worker ``novalidateir`` 1527*61046927SAndroid Build Coastguard Worker disable ACO IR validation in debug/debugoptimized builds 1528*61046927SAndroid Build Coastguard Worker ``validatera`` 1529*61046927SAndroid Build Coastguard Worker validate register assignment of ACO IR and catches many RA bugs 1530*61046927SAndroid Build Coastguard Worker ``force-waitcnt`` 1531*61046927SAndroid Build Coastguard Worker force emitting waitcnt states if there is something to wait for 1532*61046927SAndroid Build Coastguard Worker ``force-waitdeps`` 1533*61046927SAndroid Build Coastguard Worker force emitting waitcnt dependencies for debugging hazards on GFX10+ 1534*61046927SAndroid Build Coastguard Worker ``novn`` 1535*61046927SAndroid Build Coastguard Worker disable value numbering 1536*61046927SAndroid Build Coastguard Worker ``noopt`` 1537*61046927SAndroid Build Coastguard Worker disable various optimizations 1538*61046927SAndroid Build Coastguard Worker ``nosched`` 1539*61046927SAndroid Build Coastguard Worker disable pre-RA, ILP and VOPD instruction scheduling 1540*61046927SAndroid Build Coastguard Worker ``nosched-ilp`` 1541*61046927SAndroid Build Coastguard Worker disable ILP instruction scheduling 1542*61046927SAndroid Build Coastguard Worker ``nosched-vopd`` 1543*61046927SAndroid Build Coastguard Worker disable VOPD instruction scheduling 1544*61046927SAndroid Build Coastguard Worker ``perfinfo`` 1545*61046927SAndroid Build Coastguard Worker print information used to calculate some pipeline statistics 1546*61046927SAndroid Build Coastguard Worker ``liveinfo`` 1547*61046927SAndroid Build Coastguard Worker print liveness and register demand information before scheduling 1548*61046927SAndroid Build Coastguard Worker 1549*61046927SAndroid Build Coastguard WorkerRadeonSI driver environment variables 1550*61046927SAndroid Build Coastguard Worker------------------------------------- 1551*61046927SAndroid Build Coastguard Worker 1552*61046927SAndroid Build Coastguard Worker.. envvar:: radeonsi_no_infinite_interp 1553*61046927SAndroid Build Coastguard Worker 1554*61046927SAndroid Build Coastguard Worker Kill PS with infinite interp coeff (might fix hangs) 1555*61046927SAndroid Build Coastguard Worker 1556*61046927SAndroid Build Coastguard Worker.. envvar:: radeonsi_clamp_div_by_zero 1557*61046927SAndroid Build Coastguard Worker 1558*61046927SAndroid Build Coastguard Worker Clamp div by zero (x / 0 becomes FLT_MAX instead of NaN) (might fix rendering corruptions) 1559*61046927SAndroid Build Coastguard Worker 1560*61046927SAndroid Build Coastguard Worker.. envvar:: radeonsi_zerovram 1561*61046927SAndroid Build Coastguard Worker 1562*61046927SAndroid Build Coastguard Worker Clear all allocated memory to 0 before usage (might fix rendering corruptions) 1563*61046927SAndroid Build Coastguard Worker 1564*61046927SAndroid Build Coastguard Worker.. envvar:: AMD_DEBUG 1565*61046927SAndroid Build Coastguard Worker 1566*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags, which do various things: 1567*61046927SAndroid Build Coastguard Worker 1568*61046927SAndroid Build Coastguard Worker ``nodcc`` 1569*61046927SAndroid Build Coastguard Worker Disable DCC. 1570*61046927SAndroid Build Coastguard Worker ``nodccclear`` 1571*61046927SAndroid Build Coastguard Worker Disable DCC fast clear 1572*61046927SAndroid Build Coastguard Worker ``nodisplaydcc`` 1573*61046927SAndroid Build Coastguard Worker disable Delta Color Compression (DCC) on displayable images 1574*61046927SAndroid Build Coastguard Worker ``nodccmsaa`` 1575*61046927SAndroid Build Coastguard Worker Disable DCC for MSAA 1576*61046927SAndroid Build Coastguard Worker ``nodpbb`` 1577*61046927SAndroid Build Coastguard Worker Disable DPBB. Overrules the dpbb enable option. 1578*61046927SAndroid Build Coastguard Worker ``noefc`` 1579*61046927SAndroid Build Coastguard Worker Disable hardware based encoder color format conversion 1580*61046927SAndroid Build Coastguard Worker ``lowlatencyenc`` 1581*61046927SAndroid Build Coastguard Worker Enable low latency encoding 1582*61046927SAndroid Build Coastguard Worker ``notiling`` 1583*61046927SAndroid Build Coastguard Worker Disable tiling 1584*61046927SAndroid Build Coastguard Worker ``nofmask`` 1585*61046927SAndroid Build Coastguard Worker Disable MSAA compression 1586*61046927SAndroid Build Coastguard Worker ``nohyperz`` 1587*61046927SAndroid Build Coastguard Worker Disable Hyper-Z 1588*61046927SAndroid Build Coastguard Worker ``no2d`` 1589*61046927SAndroid Build Coastguard Worker Disable 2D tiling 1590*61046927SAndroid Build Coastguard Worker ``info`` 1591*61046927SAndroid Build Coastguard Worker Print driver information 1592*61046927SAndroid Build Coastguard Worker ``tex`` 1593*61046927SAndroid Build Coastguard Worker Print texture info 1594*61046927SAndroid Build Coastguard Worker ``compute`` 1595*61046927SAndroid Build Coastguard Worker Print compute info 1596*61046927SAndroid Build Coastguard Worker ``vm`` 1597*61046927SAndroid Build Coastguard Worker Print virtual addresses when creating resources 1598*61046927SAndroid Build Coastguard Worker ``vs`` 1599*61046927SAndroid Build Coastguard Worker Print vertex shaders 1600*61046927SAndroid Build Coastguard Worker ``ps`` 1601*61046927SAndroid Build Coastguard Worker Print pixel shaders 1602*61046927SAndroid Build Coastguard Worker ``gs`` 1603*61046927SAndroid Build Coastguard Worker Print geometry shaders 1604*61046927SAndroid Build Coastguard Worker ``tcs`` 1605*61046927SAndroid Build Coastguard Worker Print tessellation control shaders 1606*61046927SAndroid Build Coastguard Worker ``tes`` 1607*61046927SAndroid Build Coastguard Worker Print tessellation evaluation shaders 1608*61046927SAndroid Build Coastguard Worker ``cs`` 1609*61046927SAndroid Build Coastguard Worker Print compute shaders 1610*61046927SAndroid Build Coastguard Worker ``noir`` 1611*61046927SAndroid Build Coastguard Worker Don't print the LLVM IR 1612*61046927SAndroid Build Coastguard Worker ``nonir`` 1613*61046927SAndroid Build Coastguard Worker Don't print NIR when printing shaders 1614*61046927SAndroid Build Coastguard Worker ``noasm`` 1615*61046927SAndroid Build Coastguard Worker Don't print disassembled shaders 1616*61046927SAndroid Build Coastguard Worker ``preoptir`` 1617*61046927SAndroid Build Coastguard Worker Print the LLVM IR before initial optimizations 1618*61046927SAndroid Build Coastguard Worker ``w32ge`` 1619*61046927SAndroid Build Coastguard Worker Use Wave32 for vertex, tessellation, and geometry shaders. 1620*61046927SAndroid Build Coastguard Worker ``w32ps`` 1621*61046927SAndroid Build Coastguard Worker Use Wave32 for pixel shaders. 1622*61046927SAndroid Build Coastguard Worker ``w32cs`` 1623*61046927SAndroid Build Coastguard Worker Use Wave32 for computes shaders. 1624*61046927SAndroid Build Coastguard Worker ``w64ge`` 1625*61046927SAndroid Build Coastguard Worker Use Wave64 for vertex, tessellation, and geometry shaders. 1626*61046927SAndroid Build Coastguard Worker ``w64ps`` 1627*61046927SAndroid Build Coastguard Worker Use Wave64 for pixel shaders. 1628*61046927SAndroid Build Coastguard Worker ``w64cs`` 1629*61046927SAndroid Build Coastguard Worker Use Wave64 for computes shaders. 1630*61046927SAndroid Build Coastguard Worker ``checkir`` 1631*61046927SAndroid Build Coastguard Worker Enable additional sanity checks on shader IR 1632*61046927SAndroid Build Coastguard Worker ``mono`` 1633*61046927SAndroid Build Coastguard Worker Use old-style monolithic shaders compiled on demand 1634*61046927SAndroid Build Coastguard Worker ``nooptvariant`` 1635*61046927SAndroid Build Coastguard Worker Disable compiling optimized shader variants. 1636*61046927SAndroid Build Coastguard Worker ``useaco`` 1637*61046927SAndroid Build Coastguard Worker Use ACO as shader compiler when possible 1638*61046927SAndroid Build Coastguard Worker ``nowc`` 1639*61046927SAndroid Build Coastguard Worker Disable GTT write combining 1640*61046927SAndroid Build Coastguard Worker ``check_vm`` 1641*61046927SAndroid Build Coastguard Worker Check VM faults and dump debug info. 1642*61046927SAndroid Build Coastguard Worker ``reserve_vmid`` 1643*61046927SAndroid Build Coastguard Worker Force VMID reservation per context. 1644*61046927SAndroid Build Coastguard Worker ``nongg`` 1645*61046927SAndroid Build Coastguard Worker Disable NGG and use the legacy pipeline. 1646*61046927SAndroid Build Coastguard Worker ``nggc`` 1647*61046927SAndroid Build Coastguard Worker Always use NGG culling even when it can hurt. 1648*61046927SAndroid Build Coastguard Worker ``nonggc`` 1649*61046927SAndroid Build Coastguard Worker Disable NGG culling. 1650*61046927SAndroid Build Coastguard Worker ``switch_on_eop`` 1651*61046927SAndroid Build Coastguard Worker Program WD/IA to switch on end-of-packet. 1652*61046927SAndroid Build Coastguard Worker ``nooutoforder`` 1653*61046927SAndroid Build Coastguard Worker Disable out-of-order rasterization 1654*61046927SAndroid Build Coastguard Worker ``dpbb`` 1655*61046927SAndroid Build Coastguard Worker Enable DPBB. Enable DPBB for gfx9 dGPU. Default enabled for gfx9 APU and >= gfx10. 1656*61046927SAndroid Build Coastguard Worker ``extra_md`` 1657*61046927SAndroid Build Coastguard Worker add extra information in bo metadata to help tools (umr) 1658*61046927SAndroid Build Coastguard Worker 1659*61046927SAndroid Build Coastguard Workerr600 driver environment variables 1660*61046927SAndroid Build Coastguard Worker--------------------------------- 1661*61046927SAndroid Build Coastguard Worker 1662*61046927SAndroid Build Coastguard Worker.. envvar:: R600_DEBUG 1663*61046927SAndroid Build Coastguard Worker 1664*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags, which do various things: 1665*61046927SAndroid Build Coastguard Worker 1666*61046927SAndroid Build Coastguard Worker ``nocpdma`` 1667*61046927SAndroid Build Coastguard Worker Disable CP DMA 1668*61046927SAndroid Build Coastguard Worker ``nosb`` 1669*61046927SAndroid Build Coastguard Worker Disable sb backend for graphics shaders 1670*61046927SAndroid Build Coastguard Worker ``sbcl`` 1671*61046927SAndroid Build Coastguard Worker Enable sb backend for compute shaders 1672*61046927SAndroid Build Coastguard Worker ``sbdry`` 1673*61046927SAndroid Build Coastguard Worker Don't use optimized bytecode (just print the dumps) 1674*61046927SAndroid Build Coastguard Worker ``sbstat`` 1675*61046927SAndroid Build Coastguard Worker Print optimization statistics for shaders 1676*61046927SAndroid Build Coastguard Worker ``sbdump`` 1677*61046927SAndroid Build Coastguard Worker Print IR dumps after some optimization passes 1678*61046927SAndroid Build Coastguard Worker ``sbnofallback`` 1679*61046927SAndroid Build Coastguard Worker Abort on errors instead of fallback 1680*61046927SAndroid Build Coastguard Worker ``sbdisasm`` 1681*61046927SAndroid Build Coastguard Worker Use sb disassembler for shader dumps 1682*61046927SAndroid Build Coastguard Worker ``sbsafemath`` 1683*61046927SAndroid Build Coastguard Worker Disable unsafe math optimizations 1684*61046927SAndroid Build Coastguard Worker ``nirsb`` 1685*61046927SAndroid Build Coastguard Worker Enable NIR with SB optimizer 1686*61046927SAndroid Build Coastguard Worker ``tex`` 1687*61046927SAndroid Build Coastguard Worker Print texture info 1688*61046927SAndroid Build Coastguard Worker ``nir`` 1689*61046927SAndroid Build Coastguard Worker Enable experimental NIR shaders 1690*61046927SAndroid Build Coastguard Worker ``compute`` 1691*61046927SAndroid Build Coastguard Worker Print compute info 1692*61046927SAndroid Build Coastguard Worker ``vm`` 1693*61046927SAndroid Build Coastguard Worker Print virtual addresses when creating resources 1694*61046927SAndroid Build Coastguard Worker ``info`` 1695*61046927SAndroid Build Coastguard Worker Print driver information 1696*61046927SAndroid Build Coastguard Worker ``fs`` 1697*61046927SAndroid Build Coastguard Worker Print fetch shaders 1698*61046927SAndroid Build Coastguard Worker ``vs`` 1699*61046927SAndroid Build Coastguard Worker Print vertex shaders 1700*61046927SAndroid Build Coastguard Worker ``gs`` 1701*61046927SAndroid Build Coastguard Worker Print geometry shaders 1702*61046927SAndroid Build Coastguard Worker ``ps`` 1703*61046927SAndroid Build Coastguard Worker Print pixel shaders 1704*61046927SAndroid Build Coastguard Worker ``cs`` 1705*61046927SAndroid Build Coastguard Worker Print compute shaders 1706*61046927SAndroid Build Coastguard Worker ``tcs`` 1707*61046927SAndroid Build Coastguard Worker Print tessellation control shaders 1708*61046927SAndroid Build Coastguard Worker ``tes`` 1709*61046927SAndroid Build Coastguard Worker Print tessellation evaluation shaders 1710*61046927SAndroid Build Coastguard Worker ``noir`` 1711*61046927SAndroid Build Coastguard Worker Don't print the LLVM IR 1712*61046927SAndroid Build Coastguard Worker ``notgsi`` 1713*61046927SAndroid Build Coastguard Worker Don't print the TGSI 1714*61046927SAndroid Build Coastguard Worker ``noasm`` 1715*61046927SAndroid Build Coastguard Worker Don't print disassembled shaders 1716*61046927SAndroid Build Coastguard Worker ``preoptir`` 1717*61046927SAndroid Build Coastguard Worker Print the LLVM IR before initial optimizations 1718*61046927SAndroid Build Coastguard Worker ``checkir`` 1719*61046927SAndroid Build Coastguard Worker Enable additional sanity checks on shader IR 1720*61046927SAndroid Build Coastguard Worker ``nooptvariant`` 1721*61046927SAndroid Build Coastguard Worker Disable compiling optimized shader variants. 1722*61046927SAndroid Build Coastguard Worker ``testdma`` 1723*61046927SAndroid Build Coastguard Worker Invoke SDMA tests and exit. 1724*61046927SAndroid Build Coastguard Worker ``testvmfaultcp`` 1725*61046927SAndroid Build Coastguard Worker Invoke a CP VM fault test and exit. 1726*61046927SAndroid Build Coastguard Worker ``testvmfaultsdma`` 1727*61046927SAndroid Build Coastguard Worker Invoke a SDMA VM fault test and exit. 1728*61046927SAndroid Build Coastguard Worker ``testvmfaultshader`` 1729*61046927SAndroid Build Coastguard Worker Invoke a shader VM fault test and exit. 1730*61046927SAndroid Build Coastguard Worker ``nodma`` 1731*61046927SAndroid Build Coastguard Worker Disable asynchronous DMA 1732*61046927SAndroid Build Coastguard Worker ``nohyperz`` 1733*61046927SAndroid Build Coastguard Worker Disable Hyper-Z 1734*61046927SAndroid Build Coastguard Worker ``noinvalrange`` 1735*61046927SAndroid Build Coastguard Worker Disable handling of INVALIDATE_RANGE map flags 1736*61046927SAndroid Build Coastguard Worker ``no2d`` 1737*61046927SAndroid Build Coastguard Worker Disable 2D tiling 1738*61046927SAndroid Build Coastguard Worker ``notiling`` 1739*61046927SAndroid Build Coastguard Worker Disable tiling 1740*61046927SAndroid Build Coastguard Worker ``switch_on_eop`` 1741*61046927SAndroid Build Coastguard Worker Program WD/IA to switch on end-of-packet. 1742*61046927SAndroid Build Coastguard Worker ``forcedma`` 1743*61046927SAndroid Build Coastguard Worker Use asynchronous DMA for all operations when possible. 1744*61046927SAndroid Build Coastguard Worker ``precompile`` 1745*61046927SAndroid Build Coastguard Worker Compile one shader variant at shader creation. 1746*61046927SAndroid Build Coastguard Worker ``nowc`` 1747*61046927SAndroid Build Coastguard Worker Disable GTT write combining 1748*61046927SAndroid Build Coastguard Worker ``check_vm`` 1749*61046927SAndroid Build Coastguard Worker Check VM faults and dump debug info. 1750*61046927SAndroid Build Coastguard Worker ``unsafemath`` 1751*61046927SAndroid Build Coastguard Worker Enable unsafe math shader optimizations 1752*61046927SAndroid Build Coastguard Worker 1753*61046927SAndroid Build Coastguard Worker.. envvar:: R600_DEBUG_COMPUTE 1754*61046927SAndroid Build Coastguard Worker 1755*61046927SAndroid Build Coastguard Worker if set to ``true``, various compute-related debug information will 1756*61046927SAndroid Build Coastguard Worker be printed to stderr. Defaults to ``false``. 1757*61046927SAndroid Build Coastguard Worker 1758*61046927SAndroid Build Coastguard Worker.. envvar:: R600_DUMP_SHADERS 1759*61046927SAndroid Build Coastguard Worker 1760*61046927SAndroid Build Coastguard Worker if set to ``true``, NIR shaders will be printed to stderr. Defaults 1761*61046927SAndroid Build Coastguard Worker to ``false``. 1762*61046927SAndroid Build Coastguard Worker 1763*61046927SAndroid Build Coastguard Worker.. envvar:: R600_HYPERZ 1764*61046927SAndroid Build Coastguard Worker 1765*61046927SAndroid Build Coastguard Worker If set to ``false``, disables HyperZ optimizations. Defaults to ``true``. 1766*61046927SAndroid Build Coastguard Worker 1767*61046927SAndroid Build Coastguard Worker.. envvar:: R600_NIR_DEBUG 1768*61046927SAndroid Build Coastguard Worker 1769*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags, which do various things: 1770*61046927SAndroid Build Coastguard Worker 1771*61046927SAndroid Build Coastguard Worker ``instr`` 1772*61046927SAndroid Build Coastguard Worker Log all consumed nir instructions 1773*61046927SAndroid Build Coastguard Worker ``ir`` 1774*61046927SAndroid Build Coastguard Worker Log created R600 IR 1775*61046927SAndroid Build Coastguard Worker ``cc`` 1776*61046927SAndroid Build Coastguard Worker Log R600 IR to assembly code creation 1777*61046927SAndroid Build Coastguard Worker ``noerr`` 1778*61046927SAndroid Build Coastguard Worker Don't log shader conversion errors 1779*61046927SAndroid Build Coastguard Worker ``si`` 1780*61046927SAndroid Build Coastguard Worker Log shader info (non-zero values) 1781*61046927SAndroid Build Coastguard Worker ``reg`` 1782*61046927SAndroid Build Coastguard Worker Log register allocation and lookup 1783*61046927SAndroid Build Coastguard Worker ``io`` 1784*61046927SAndroid Build Coastguard Worker Log shader in and output 1785*61046927SAndroid Build Coastguard Worker ``ass`` 1786*61046927SAndroid Build Coastguard Worker Log IR to assembly conversion 1787*61046927SAndroid Build Coastguard Worker ``flow`` 1788*61046927SAndroid Build Coastguard Worker Log control flow instructions 1789*61046927SAndroid Build Coastguard Worker ``merge`` 1790*61046927SAndroid Build Coastguard Worker Log register merge operations 1791*61046927SAndroid Build Coastguard Worker ``nomerge`` 1792*61046927SAndroid Build Coastguard Worker Skip register merge step 1793*61046927SAndroid Build Coastguard Worker ``tex`` 1794*61046927SAndroid Build Coastguard Worker Log texture ops 1795*61046927SAndroid Build Coastguard Worker ``trans`` 1796*61046927SAndroid Build Coastguard Worker Log generic translation messages 1797*61046927SAndroid Build Coastguard Worker 1798*61046927SAndroid Build Coastguard Workerr300 driver environment variables 1799*61046927SAndroid Build Coastguard Worker--------------------------------- 1800*61046927SAndroid Build Coastguard Worker 1801*61046927SAndroid Build Coastguard Worker.. envvar:: RADEON_DEBUG 1802*61046927SAndroid Build Coastguard Worker 1803*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags, which do various things: 1804*61046927SAndroid Build Coastguard Worker 1805*61046927SAndroid Build Coastguard Worker ``info`` 1806*61046927SAndroid Build Coastguard Worker Print hardware info (printed by default on debug builds 1807*61046927SAndroid Build Coastguard Worker ``fp`` 1808*61046927SAndroid Build Coastguard Worker Log fragment program compilation 1809*61046927SAndroid Build Coastguard Worker ``vp`` 1810*61046927SAndroid Build Coastguard Worker Log vertex program compilation 1811*61046927SAndroid Build Coastguard Worker ``draw`` 1812*61046927SAndroid Build Coastguard Worker Log draw calls 1813*61046927SAndroid Build Coastguard Worker ``swtcl`` 1814*61046927SAndroid Build Coastguard Worker Log SWTCL-specific info 1815*61046927SAndroid Build Coastguard Worker ``rsblock`` 1816*61046927SAndroid Build Coastguard Worker Log rasterizer registers 1817*61046927SAndroid Build Coastguard Worker ``psc`` 1818*61046927SAndroid Build Coastguard Worker Log vertex stream registers 1819*61046927SAndroid Build Coastguard Worker ``tex`` 1820*61046927SAndroid Build Coastguard Worker Log basic info about textures 1821*61046927SAndroid Build Coastguard Worker ``texalloc`` 1822*61046927SAndroid Build Coastguard Worker Log texture mipmap tree info 1823*61046927SAndroid Build Coastguard Worker ``rs`` 1824*61046927SAndroid Build Coastguard Worker Log rasterizer 1825*61046927SAndroid Build Coastguard Worker ``fb`` 1826*61046927SAndroid Build Coastguard Worker Log framebuffer 1827*61046927SAndroid Build Coastguard Worker ``cbzb`` 1828*61046927SAndroid Build Coastguard Worker Log fast color clear info 1829*61046927SAndroid Build Coastguard Worker ``hyperz`` 1830*61046927SAndroid Build Coastguard Worker Log HyperZ info 1831*61046927SAndroid Build Coastguard Worker ``scissor`` 1832*61046927SAndroid Build Coastguard Worker Log scissor info 1833*61046927SAndroid Build Coastguard Worker ``msaa`` 1834*61046927SAndroid Build Coastguard Worker Log MSAA resources 1835*61046927SAndroid Build Coastguard Worker ``anisohq`` 1836*61046927SAndroid Build Coastguard Worker Use high quality anisotropic filtering 1837*61046927SAndroid Build Coastguard Worker ``notiling`` 1838*61046927SAndroid Build Coastguard Worker Disable tiling 1839*61046927SAndroid Build Coastguard Worker ``noimmd`` 1840*61046927SAndroid Build Coastguard Worker Disable immediate mode 1841*61046927SAndroid Build Coastguard Worker ``noopt`` 1842*61046927SAndroid Build Coastguard Worker Disable shader optimizations 1843*61046927SAndroid Build Coastguard Worker ``nocbzb`` 1844*61046927SAndroid Build Coastguard Worker Disable fast color clear 1845*61046927SAndroid Build Coastguard Worker ``nozmask`` 1846*61046927SAndroid Build Coastguard Worker Disable zbuffer compression 1847*61046927SAndroid Build Coastguard Worker ``nohiz`` 1848*61046927SAndroid Build Coastguard Worker Disable hierarchical zbuffer 1849*61046927SAndroid Build Coastguard Worker ``nocmask`` 1850*61046927SAndroid Build Coastguard Worker Disable AA compression and fast AA clear 1851*61046927SAndroid Build Coastguard Worker ``notcl`` 1852*61046927SAndroid Build Coastguard Worker Disable hardware accelerated Transform/Clip/Lighting 1853*61046927SAndroid Build Coastguard Worker 1854*61046927SAndroid Build Coastguard WorkerAsahi driver environment variables 1855*61046927SAndroid Build Coastguard Worker---------------------------------- 1856*61046927SAndroid Build Coastguard Worker 1857*61046927SAndroid Build Coastguard Worker.. envvar:: ASAHI_MESA_DEBUG 1858*61046927SAndroid Build Coastguard Worker 1859*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags, which do various things: 1860*61046927SAndroid Build Coastguard Worker 1861*61046927SAndroid Build Coastguard Worker ``trace`` 1862*61046927SAndroid Build Coastguard Worker Trace work submitted to the GPU to files, using the agxdecode 1863*61046927SAndroid Build Coastguard Worker infrastructure. This produces a large volume of data, so should be used 1864*61046927SAndroid Build Coastguard Worker with caution. The traces are written to ``agxdecode.dump``, 1865*61046927SAndroid Build Coastguard Worker but this can be overridden using ``AGXDECODE_DUMP_FILE``. 1866*61046927SAndroid Build Coastguard Worker ``no16`` 1867*61046927SAndroid Build Coastguard Worker Disable 16-bit floating point support. This may workaround application 1868*61046927SAndroid Build Coastguard Worker bugs in certain OpenGL ES applications originally written for desktops. If 1869*61046927SAndroid Build Coastguard Worker such applications are found in the wild, they should be fixed upstream (if 1870*61046927SAndroid Build Coastguard Worker possible) or added in the Mesa-wide driconf (if closed source). 1871*61046927SAndroid Build Coastguard Worker ``dirty`` 1872*61046927SAndroid Build Coastguard Worker In debug builds only: disable dirty tracking optimizations. 1873*61046927SAndroid Build Coastguard Worker ``nowc`` 1874*61046927SAndroid Build Coastguard Worker Disable write-combining (force all allocations to be write-through). This 1875*61046927SAndroid Build Coastguard Worker may be useful for diagnosing certain performance issues. Note imported 1876*61046927SAndroid Build Coastguard Worker buffers may still be write-combined. 1877*61046927SAndroid Build Coastguard Worker 1878*61046927SAndroid Build Coastguard Worker.. envvar:: AGX_MESA_DEBUG 1879*61046927SAndroid Build Coastguard Worker 1880*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags, which do various things: 1881*61046927SAndroid Build Coastguard Worker 1882*61046927SAndroid Build Coastguard Worker ``shaders`` 1883*61046927SAndroid Build Coastguard Worker Print shaders being compiled at various stages in the pipeline. 1884*61046927SAndroid Build Coastguard Worker ``shaderdb`` 1885*61046927SAndroid Build Coastguard Worker Print statistics about compiled shaders. 1886*61046927SAndroid Build Coastguard Worker ``verbose`` 1887*61046927SAndroid Build Coastguard Worker Disassemble in verbose mode, including additional information that may be 1888*61046927SAndroid Build Coastguard Worker useful for debugging. 1889*61046927SAndroid Build Coastguard Worker ``internal`` 1890*61046927SAndroid Build Coastguard Worker Include even internal shaders (as produced for clears, blits, and such) 1891*61046927SAndroid Build Coastguard Worker when printing shaders. Without this flag, internal shaders are ignored by 1892*61046927SAndroid Build Coastguard Worker the shaders and shaderdb flags. 1893*61046927SAndroid Build Coastguard Worker ``novalidate`` 1894*61046927SAndroid Build Coastguard Worker In debug builds only: skip internal intermediate representation validation. 1895*61046927SAndroid Build Coastguard Worker ``noopt`` 1896*61046927SAndroid Build Coastguard Worker Disable various backend optimizations. 1897*61046927SAndroid Build Coastguard Worker 1898*61046927SAndroid Build Coastguard Worker.. _imagination env-vars: 1899*61046927SAndroid Build Coastguard Worker 1900*61046927SAndroid Build Coastguard WorkerPowerVR driver environment variables 1901*61046927SAndroid Build Coastguard Worker------------------------------------------------ 1902*61046927SAndroid Build Coastguard Worker 1903*61046927SAndroid Build Coastguard Worker.. envvar:: PVR_DEBUG 1904*61046927SAndroid Build Coastguard Worker 1905*61046927SAndroid Build Coastguard Worker A comma-separated list of debug options. Use ``PVR_DEBUG=help`` to 1906*61046927SAndroid Build Coastguard Worker print a list of available options. 1907*61046927SAndroid Build Coastguard Worker 1908*61046927SAndroid Build Coastguard Worker.. envvar:: ROGUE_DEBUG 1909*61046927SAndroid Build Coastguard Worker 1910*61046927SAndroid Build Coastguard Worker a comma-separated list of named flags for the Rogue compiler, 1911*61046927SAndroid Build Coastguard Worker which do various things: 1912*61046927SAndroid Build Coastguard Worker 1913*61046927SAndroid Build Coastguard Worker ``nir`` 1914*61046927SAndroid Build Coastguard Worker Print the input NIR to stdout. 1915*61046927SAndroid Build Coastguard Worker ``nir_passes`` 1916*61046927SAndroid Build Coastguard Worker Print the output of each NIR pass to stdout. 1917*61046927SAndroid Build Coastguard Worker ``ir`` 1918*61046927SAndroid Build Coastguard Worker Print the input Rogue IR to stdout. 1919*61046927SAndroid Build Coastguard Worker ``ir_passes`` 1920*61046927SAndroid Build Coastguard Worker Print the output of each Rogue IR pass to stdout. 1921*61046927SAndroid Build Coastguard Worker ``ir_details`` 1922*61046927SAndroid Build Coastguard Worker Includes additional details when printing Rogue IR. 1923*61046927SAndroid Build Coastguard Worker ``vld_skip`` 1924*61046927SAndroid Build Coastguard Worker Skips the compiler validation step. 1925*61046927SAndroid Build Coastguard Worker ``vld_nonfatal`` 1926*61046927SAndroid Build Coastguard Worker Prints all the validation errors instead of stopping after the first. 1927*61046927SAndroid Build Coastguard Worker 1928*61046927SAndroid Build Coastguard Worker.. envvar:: ROGUE_COLOR 1929*61046927SAndroid Build Coastguard Worker 1930*61046927SAndroid Build Coastguard Worker if set to ``auto`` Rogue IR will be colorized if stdout is not a pipe. 1931*61046927SAndroid Build Coastguard Worker Color is forced off if set to ``off``/``0`` or on if set to ``on``/``1``. 1932*61046927SAndroid Build Coastguard Worker Defaults to ``auto``. 1933*61046927SAndroid Build Coastguard Worker 1934*61046927SAndroid Build Coastguard Workeri915 driver environment variables 1935*61046927SAndroid Build Coastguard Worker--------------------------------- 1936*61046927SAndroid Build Coastguard Worker 1937*61046927SAndroid Build Coastguard Worker.. envvar:: I915_DEBUG 1938*61046927SAndroid Build Coastguard Worker 1939*61046927SAndroid Build Coastguard Worker Debug flags for the i915 driver. 1940*61046927SAndroid Build Coastguard Worker 1941*61046927SAndroid Build Coastguard Worker.. envvar:: I915_NO_HW 1942*61046927SAndroid Build Coastguard Worker 1943*61046927SAndroid Build Coastguard Worker Stop the i915 driver from submitting commands to the hardware. 1944*61046927SAndroid Build Coastguard Worker 1945*61046927SAndroid Build Coastguard Worker.. envvar:: I915_DUMP_CMD 1946*61046927SAndroid Build Coastguard Worker 1947*61046927SAndroid Build Coastguard Worker Dump all commands going to the hardware. 1948*61046927SAndroid Build Coastguard Worker 1949*61046927SAndroid Build Coastguard WorkerFreedreno driver environment variables 1950*61046927SAndroid Build Coastguard Worker-------------------------------------- 1951*61046927SAndroid Build Coastguard Worker 1952*61046927SAndroid Build Coastguard Worker.. envvar:: FD_MESA_DEBUG 1953*61046927SAndroid Build Coastguard Worker 1954*61046927SAndroid Build Coastguard Worker Debug flags for the Freedreno driver. 1955*61046927SAndroid Build Coastguard Worker 1956*61046927SAndroid Build Coastguard Worker---- 1957*61046927SAndroid Build Coastguard Worker 1958*61046927SAndroid Build Coastguard WorkerOther Gallium drivers have their own environment variables. These may 1959*61046927SAndroid Build Coastguard Workerchange frequently so the source code should be consulted for details. 1960*61046927SAndroid Build Coastguard Worker 1961*61046927SAndroid Build Coastguard Worker 1962*61046927SAndroid Build Coastguard WorkerVulkan loader environment variables 1963*61046927SAndroid Build Coastguard Worker----------------------------------- 1964*61046927SAndroid Build Coastguard Worker 1965*61046927SAndroid Build Coastguard WorkerThese variable are handled by `Khronos' Vulkan loader 1966*61046927SAndroid Build Coastguard Worker<https://github.com/KhronosGroup/Vulkan-Loader>`__, *not by Mesa*, but they 1967*61046927SAndroid Build Coastguard Workerare documented here as we reference them in other places in our docs. 1968*61046927SAndroid Build Coastguard Worker 1969*61046927SAndroid Build Coastguard Worker.. envvar:: VK_DRIVER_FILES 1970*61046927SAndroid Build Coastguard Worker 1971*61046927SAndroid Build Coastguard Worker Force the loader to use the specific driver JSON files. The value contains 1972*61046927SAndroid Build Coastguard Worker a list of delimited full path listings to driver JSON Manifest files 1973*61046927SAndroid Build Coastguard Worker and/or paths to folders containing driver JSON files. 1974*61046927SAndroid Build Coastguard Worker 1975*61046927SAndroid Build Coastguard Worker See `Vulkan loader docs on environment variables`_. 1976*61046927SAndroid Build Coastguard Worker 1977*61046927SAndroid Build Coastguard Worker.. envvar:: VK_LOADER_LAYERS_ENABLE 1978*61046927SAndroid Build Coastguard Worker 1979*61046927SAndroid Build Coastguard Worker A comma-delimited list of globs to search for in known layers and used to 1980*61046927SAndroid Build Coastguard Worker select only the layers whose layer name matches one or more of the 1981*61046927SAndroid Build Coastguard Worker provided globs. 1982*61046927SAndroid Build Coastguard Worker Known layers are those which are found by the loader taking into account 1983*61046927SAndroid Build Coastguard Worker default search paths and other environment variables (like VK_LAYER_PATH). 1984*61046927SAndroid Build Coastguard Worker 1985*61046927SAndroid Build Coastguard Worker See `Vulkan loader docs on environment variables`_. 1986*61046927SAndroid Build Coastguard Worker 1987*61046927SAndroid Build Coastguard Worker.. envvar:: VK_ICD_FILENAMES 1988*61046927SAndroid Build Coastguard Worker 1989*61046927SAndroid Build Coastguard Worker `Deprecated`_, replaced by :envvar:`VK_DRIVER_FILES`. 1990*61046927SAndroid Build Coastguard Worker 1991*61046927SAndroid Build Coastguard Worker.. envvar:: VK_INSTANCE_LAYERS 1992*61046927SAndroid Build Coastguard Worker 1993*61046927SAndroid Build Coastguard Worker `Deprecated`_, replaced by :envvar:`VK_LOADER_LAYERS_ENABLE`. 1994*61046927SAndroid Build Coastguard Worker 1995*61046927SAndroid Build Coastguard Worker.. _Vulkan loader docs on environment variables: https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderInterfaceArchitecture.md#table-of-debug-environment-variables 1996*61046927SAndroid Build Coastguard Worker.. _Deprecated: https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderInterfaceArchitecture.md#deprecated-environment-variables 1997