sync with OpenBSD -current

This commit is contained in:
purplerain 2024-04-29 00:35:41 +00:00
parent 5d45cd7ee8
commit 155eb8555e
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
5506 changed files with 1786257 additions and 1416034 deletions

View file

@ -41,22 +41,6 @@ LibGL environment variables
Core Mesa environment variables
-------------------------------
.. envvar:: MESA_NO_ASM
if set, disables all assembly language optimizations
.. envvar:: MESA_NO_MMX
if set, disables Intel MMX optimizations
.. envvar:: MESA_NO_3DNOW
if set, disables AMD 3DNow! optimizations
.. envvar:: MESA_NO_SSE
if set, disables Intel SSE optimizations
.. envvar:: MESA_NO_ERROR
if set to 1, error checking is disabled as per :ext:`GL_KHR_no_error`.
@ -183,7 +167,8 @@ Core Mesa environment variables
if set to ``true``, disables the on-disk shader cache. If set to
``false``, enables the on-disk shader cache when it is disabled by
default.
default. Note that EGL_ANDROID_blob_cache is still enabled even
if on-disk shader cache is disabled.
.. envvar:: MESA_SHADER_CACHE_MAX_SIZE
@ -320,6 +305,11 @@ Core Mesa environment variables
``VkSwapchainCreateInfoKHR::presentMode``. Values can be ``fifo``,
``relaxed``, ``mailbox`` or ``immediate``.
.. envvar:: MESA_VK_WSI_HEADLESS_SWAPCHAIN
Forces all swapchains to be headless (no rendering will be display
in the swapchain's window).
.. envvar:: MESA_VK_ABORT_ON_DEVICE_LOSS
causes the Vulkan driver to call abort() immediately after detecting a
@ -332,10 +322,54 @@ Core Mesa environment variables
them to use a submit thread from the beginning, regardless of whether or
not they ever see a wait-before-signal condition.
.. envvar:: MESA_VK_DEVICE_SELECT_DEBUG
print debug info about device selection decision-making
.. envvar:: MESA_VK_TRACE
A comma-separated list of trace types used for offline analysis. The
option names are equal to the file extension. Traces are dumped into ``/tmp``.
Captures can be triggered by pressing ``F1`` with the application window
focused (Currently X11 only) or via :envvar:`MESA_VK_TRACE_FRAME` and
:envvar:`MESA_VK_TRACE_TRIGGER`.
.. list-table::
:header-rows: 1
* - File extension
- Offline analysis tool
- Supported drivers
* - ``rmv``
- Radeon Memory Visualizer
- ``RADV``
* - ``rgp``
- Radeon GPU Profiler
- ``RADV``
* - ``rra``
- Radeon Raytracing Analyzer
- ``RADV``
- Creating RMV captures requires the ``scripts/setup.sh`` script in the
Radeon Developer Tools folder to be run beforehand
.. envvar:: MESA_VK_TRACE_FRAME
Specifies a frame index at which a trace capture is automatically triggered.
.. envvar:: MESA_VK_TRACE_TRIGGER
Specifies a trigger file. Creating the file triggers the capture. (e.g.
``export MESA_VK_TRACE_TRIGGER=/tmp/trigger`` and then ``touch /tmp/trigger``)
.. envvar:: MESA_LOADER_DRIVER_OVERRIDE
chooses a different driver binary such as ``etnaviv`` or ``zink``.
.. envvar:: DRI_PRIME_DEBUG
print debug info about device selection decision-making
.. envvar:: DRI_PRIME
the default GPU is the one used by Wayland/Xorg or the one connected to a
@ -343,14 +377,23 @@ Core Mesa environment variables
and Vulkan (in this case "select" means the GPU will be first in the reported
physical devices list). The supported syntaxes are:
- ``DRI_PRIME=1``: selects the first non-default GPU.
- ``DRI_PRIME=N``: selects the Nth non-default GPU (N > 0).
- ``DRI_PRIME=pci-0000_02_00_0``: selects the GPU connected to this PCIe bus
- ``DRI_PRIME=vendor_id:device_id``: selects the first GPU matching these ids
- ``DRI_PRIME=vendor_id:device_id``: selects the first GPU matching these ids.
For Vulkan it's possible to append ``!``, in which case only the selected GPU
will be exposed to the application (eg: DRI_PRIME=1!).
.. note::
``lspci -nn | grep VGA`` can be used to know the PCIe bus or ids to use.
.. envvar:: DRIRC_CONFIGDIR
If set, overrides the global search-directories used when searching for
drirc config files. The user-local one will still be used. Mostly useful for
internal debugging.
NIR passes environment variables
--------------------------------
@ -417,6 +460,11 @@ on Windows.
Intel driver environment variables
----------------------------------------------------
.. envvar:: ANV_NO_GPL
If set to 1, true, or yes, then VK_EXT_graphics_pipeline_library
will be disabled.
.. envvar:: INTEL_BLACKHOLE_DEFAULT
if set to 1, true or yes, then the OpenGL implementation will
@ -438,7 +486,9 @@ Intel driver environment variables
``ann``
annotate IR in assembly dumps
``bat``
emit batch information
emit batch information. Can control in which frames batches
get dumped using ``INTEL_DEBUG_BATCH_FRAME_*``, where
``INTEL_DEBUG_BATCH_FRAME_START`` <= frame < ``INTEL_DEBUG_BATCH_FRAME_STOP``
``blit``
emit messages about blit operations
``blorp``
@ -460,12 +510,20 @@ Intel driver environment variables
``do32``
generate compute shader SIMD32 programs even if workgroup size
doesn't exceed the SIMD16 limit
``draw_bkp``
Add semaphore wait before/after draw call count.
``INTEL_DEBUG_BKP_BEFORE_DRAW_COUNT`` or
``INTEL_DEBUG_BKP_AFTER_DRAW_COUNT`` can control draw call number.
To make test wait forever, we need to set preempt_timeout_ms and
i915.enable_hangcheck to zero.
``fall``
emit messages about performance issues (same as ``perf``)
``fs``
dump shader assembly for fragment shaders
``gs``
dump shader assembly for geometry shaders
``heaps``
print information about the driver's heaps (Anv only)
``hex``
print instruction hex dump with the disassembly
``l3``
@ -513,6 +571,8 @@ Intel driver environment variables
the SF program)
``soft64``
enable implementation of software 64bit floating point support
``sparse``
dump usage of sparse resources
``spill_fs``
force spilling of all registers in the scalar backend (useful to
debug spilling code)
@ -630,6 +690,13 @@ Intel driver environment variables
stalling. Combined events will not span batches, except in
the case of ``INTEL_MEASURE=frame``.
Collect CPU timestamps instead of GPU timestamps. Prints results
immediately instead of waiting for GPU execution. Useful when used
with interactive debug to know which frame, or where in frame, you
are currently in.
``INTEL_MEASURE=cpu {workload}``
.. envvar:: INTEL_NO_HW
if set to 1, true or yes, prevents batches from being submitted to the
@ -640,6 +707,22 @@ Intel driver environment variables
if set to 1, true or yes, then the driver prefers accuracy over
performance in trig functions.
.. envvar:: INTEL_SHADER_OPTIMIZER_PATH
if set, determines the directory to be used for overriding shader
assembly. The binaries with custom assembly should be placed in
this folder and have a name formatted as ``sha1_of_assembly.bin``.
The SHA-1 of a shader assembly is printed when assembly is dumped via
corresponding :envvar:`INTEL_DEBUG` flag (e.g. ``vs`` for vertex shader).
A binary could be generated from a dumped assembly by ``i965_asm``.
For :envvar:`INTEL_SHADER_ASM_READ_PATH` to work it is necessary to enable
dumping of corresponding shader stages via :envvar:`INTEL_DEBUG`.
It is advised to use ``nocompact`` flag of :envvar:`INTEL_DEBUG` when
dumping and overriding shader assemblies.
The success of assembly override would be signified by "Successfully
overrode shader with sha1 <SHA-1>" in stderr replacing the original
assembly.
.. envvar:: INTEL_SHADER_ASM_READ_PATH
if set, determines the directory to be used for overriding shader
@ -711,6 +794,8 @@ Vulkan mesa device select layer environment variables
when set to "vid:did" number from PCI device. That PCI device is
selected as default. The default device is returned as the first
device in vkEnumeratePhysicalDevices API.
Using "vid:did!" will have the same effect as using the
``MESA_VK_DEVICE_SELECT_FORCE_DEFAULT_DEVICE`` variable.
.. envvar:: MESA_VK_DEVICE_SELECT_FORCE_DEFAULT_DEVICE
@ -896,6 +981,8 @@ Clover environment variables
allows specifying additional linker options. Specified options are
appended after the options set by the OpenCL program in
``clLinkProgram``.
.. _rusticl-env-var:
.. envvar:: IRIS_ENABLE_CLOVER
@ -925,11 +1012,43 @@ Rusticl environment variables
- ``RUSTICL_ENABLE=iris:1,radeonsi:0,2`` (enables second iris and first
and third radeonsi device)
Supported drivers (decent support with maybe a few conformance issues or bugs):
``iris``,
``llvmpipe``,
``nouveau``,
``panfrost``,
``radeonsi``,
Experimental drivers (unknown level of support, expect conformance issues or major bugs):
``r600``
.. envvar:: RUSTICL_FEATURES
a comma-separated list of features to enable. Those are disabled by default
as they might not be stable enough or break OpenCL conformance.
- ``fp16`` enables OpenCL half support
- ``fp64`` enables OpenCL double support
.. envvar:: RUSTICL_DEBUG
a comma-separated list of debug channels to enable.
- ``allow_invalid_spirv`` disables validation of any input SPIR-V
- ``clc`` dumps all OpenCL C source being compiled
- ``program`` dumps compilation logs to stderr
- ``sync`` waits on the GPU to complete after every event
.. _clc-env-var:
clc environment variables
-----------------------------
.. envvar:: CLC_DEBUG
a comma-separated list of debug channels to enable.
- ``dump_spirv`` Dumps all compiled, linked and specialized SPIR-Vs
- ``verbose`` Enable debug logging of clc code
Nine frontend environment variables
-----------------------------------
@ -977,9 +1096,6 @@ Softpipe driver environment variables
``use_llvm``
the Softpipe driver will try to use LLVM JIT for vertex
shading processing.
``use_tgsi``
if set, the Softpipe driver will ask to directly consume TGSI, instead
of NIR.
LLVMpipe driver environment variables
-------------------------------------
@ -1058,23 +1174,6 @@ VC4 driver environment variables
a comma-separated list of named flags, which do various things. Use
``VC4_DEBUG=help`` to print a list of available options.
Shared Vulkan driver environment variables
------------------------------------------
.. envvar:: MESA_VK_MEMORY_TRACE
enable memory tracing and exporting RMV captures (requires the
``scripts/setup.sh`` script in the Radeon Developer Tools folder to be
run beforehand). ``MESA_VK_MEMORY_TRACE=n`` dumps data
after n frames. Currently, only RADV implements this.
.. envvar:: MESA_VK_MEMORY_TRACE_TRIGGER
enable trigger file-based memory tracing. (e.g.
``export MESA_VK_MEMORY_TRACE_TRIGGER=/tmp/memory_trigger`` and then
``touch /tmp/memory_trigger`` to capture a memory trace).
Running ``scripts/setup.sh`` beforehand is required.
V3D/V3DV driver environment variables
-------------------------------------
@ -1148,6 +1247,9 @@ RADV driver environment variables
disable NGG for GFX10 and GFX10.3
``nonggc``
disable NGG culling on GPUs where it's enabled by default (GFX10.3+ only).
``nort``
skip executing vkCmdTraceRays and ray queries (RT extensions will still be
advertised)
``notccompatcmask``
disable TC-compat CMASK for MSAA surfaces
``noumr``
@ -1173,8 +1275,6 @@ RADV driver environment variables
display info at startup
``syncshaders``
synchronize shaders after all draws/dispatches
``vmfaults``
check for VM memory faults via dmesg
``zerovram``
initialize all memory allocated in VRAM as zero
@ -1220,24 +1320,19 @@ RADV driver environment variables
enable NGG streamout
``nggc``
enable NGG culling on GPUs where it's not enabled by default (GFX10.1 only).
``rt``
enable rt pipelines whose implementation is still experimental.
``sam``
enable optimizations to move more driver internal objects to VRAM.
``rtwave64``
enable wave64 for ray tracing shaders (GFX10+)
``video_decode``
enable experimental video decoding support
``gsfastlaunch2``
use GS_FAST_LAUNCH=2 for Mesh shaders (GFX11+)
.. envvar:: RADV_TEX_ANISO
force anisotropy filter (up to 16)
.. envvar:: RADV_THREAD_TRACE
enable frame based SQTT/RGP captures (e.g. ``export RADV_THREAD_TRACE=100``
will capture the frame #100)
.. envvar:: RADV_THREAD_TRACE_BUFFER_SIZE
set the SQTT/RGP buffer size in bytes (default value is 32MiB, the buffer is
@ -1245,29 +1340,12 @@ RADV driver environment variables
.. envvar:: RADV_THREAD_TRACE_CACHE_COUNTERS
enable/disable SQTT/RGP cache counters on GFX10+ (disabled by default)
enable/disable SQTT/RGP cache counters on GFX10+ (enabled by default)
.. envvar:: RADV_THREAD_TRACE_INSTRUCTION_TIMING
enable/disable SQTT/RGP instruction timing (enabled by default)
.. envvar:: RADV_THREAD_TRACE_TRIGGER
enable trigger file based SQTT/RGP captures (e.g.
``export RADV_THREAD_TRACE_TRIGGER=/tmp/radv_sqtt_trigger`` and then
``touch /tmp/radv_sqtt_trigger`` to capture a frame)
.. envvar:: RADV_RRA_TRACE
enable frame based Radeon Raytracing Analyzer captures
(e.g. ``export RADV_RRA_TRACE=100`` will capture the frame #100)
.. envvar:: RADV_RRA_TRACE_TRIGGER
enable trigger file based RRA captures (e.g.
``export RADV_RRA_TRACE_TRIGGER=/tmp/radv_rra_trigger`` and then
``touch /tmp/radv_rra_trigger`` to capture a frame)
.. envvar:: RADV_RRA_TRACE_VALIDATE
enable validation of captured acceleration structures. Can be
@ -1288,11 +1366,13 @@ RADV driver environment variables
abort on some suboptimal code generation
``force-waitcnt``
force emitting waitcnt states if there is something to wait for
``force-waitdeps``
force emitting waitcnt dependencies for debugging hazards on GFX10+
``novn``
disable value numbering
``noopt``
disable various optimizations
``noscheduling``
``nosched``
disable instructions scheduling
``perfinfo``
print information used to calculate some pipeline statistics
@ -1327,9 +1407,7 @@ RadeonSI driver environment variables
``nodccmsaa``
Disable DCC for MSAA
``nodpbb``
Disable DPBB.
``nodfsm``
Disable DFSM.
Disable DPBB. Overrules the dpbb enable option.
``notiling``
Disable tiling
``nofmask``
@ -1403,9 +1481,7 @@ RadeonSI driver environment variables
``nooutoforder``
Disable out-of-order rasterization
``dpbb``
Enable DPBB.
``dfsm``
Enable DFSM.
Enable DPBB. Enable DPBB for gfx9 dGPU. Default enabled for gfx9 APU and >= gfx10.
``extra_md``
add extra information in bo metadatas to help tools (umr)
@ -1601,8 +1677,6 @@ r300 driver environment variables
Disable hierarchical zbuffer
``nocmask``
Disable AA compression and fast AA clear
``use_tgsi``
Request TGSI shaders from the state tracker
``notcl``
Disable hardware accelerated Transform/Clip/Lighting
@ -1625,6 +1699,10 @@ Asahi driver environment variables
possible) or added in the Mesa-wide driconf (if closed source).
``dirty``
In debug builds only: disable dirty tracking optimizations.
``nowc``
Disable write-combining (force all allocations to be write-through). This
may be useful for diagnosing certain performance issues. Note imported
buffers may still be write-combined.
.. envvar:: AGX_MESA_DEBUG