mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 19:40:10 +01:00
This description was incorrect in that it impiled we supported Hopper
and Blackwell A, which is not currently the case (see nvk_is_conformant
in nvk_physical_device.c).
Fixes: edd0cb6d56 ("docs/nvk: Update hardware support")
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38320>
93 lines
2.6 KiB
ReStructuredText
93 lines
2.6 KiB
ReStructuredText
NVK
|
|
===
|
|
|
|
NVK is a Vulkan driver for NVIDIA GPUs.
|
|
|
|
Hardware support
|
|
----------------
|
|
|
|
NVK currently supports Kepler (GeForce 600 and 700 series) and later GPUs up to
|
|
and including Ada (RTX 4000 series), as well as consumer Blackwell GPUs
|
|
(RTX 5000 series).
|
|
|
|
Conformance status:
|
|
-------------------
|
|
|
|
NVK is a conformant Vulkan 1.4 implementation for all officially supported
|
|
GPUs.
|
|
|
|
OpenGL support through Zink:
|
|
----------------------------
|
|
|
|
Starting with Mesa 25.1, all Turing (RTX 2000 series and GTX 16xx) and
|
|
later GPUs will get NVK+Zink as their OpenGL implementation by default
|
|
instead of the old Nouveau GL driver. NVK+Zink is a conformant OpenGL 4.6
|
|
implementation. The Nouveau GL driver is no longer supported on these cards.
|
|
|
|
Kernel requirements
|
|
-------------------
|
|
|
|
NVK requires at least a Linux 6.6 kernel
|
|
|
|
Debugging
|
|
---------
|
|
|
|
Here are a few environment variable debug environment variables
|
|
specific to NVK:
|
|
|
|
.. envvar:: NAK_DEBUG
|
|
|
|
a comma-separated list of named flags affecting the NVK back-end shader
|
|
compiler:
|
|
|
|
``print``
|
|
Prints the shader at various stages of the compile pipeline
|
|
``serial``
|
|
Forces serial instruction execution; this is often useful for
|
|
debugging or working around dependency bugs
|
|
``spill``
|
|
Forces the GPR file to a minimal size to test the spilling code
|
|
``annotate``
|
|
Adds extra annotation instructions to the IR to track information
|
|
from various compile passes
|
|
|
|
.. envvar:: NVK_DEBUG
|
|
|
|
a comma-separated list of named flags, which do various things:
|
|
|
|
``push``
|
|
Dumps all pushbufs to stderr on submit. This requires that
|
|
``push_sync`` also be set.
|
|
``push_sync``
|
|
Waits for submit to complete before continuing
|
|
``zero_memory``
|
|
Zeros all VkDeviceMemory objects upon creation
|
|
``trash_memory``
|
|
Write repeating nonzero patterns to client memory allocations
|
|
``vm``
|
|
Logs VM binds and unbinds
|
|
``no_cbuf``
|
|
Disables automatic promotion of UBOs to constant buffers
|
|
``edb_bview``
|
|
Forces the driver to use the VK_EXT_descriptor_buffer path for buffer
|
|
views.
|
|
``gart``
|
|
Forces all memory to be allocated from system RAM (GART)
|
|
``coherent``
|
|
Forces all memory maps to be coherent with the CPU caches. This only
|
|
applies to Tegra devices.
|
|
|
|
.. envvar:: NVK_I_WANT_A_BROKEN_VULKAN_DRIVER
|
|
|
|
If defined to ``1`` or ``true``, this will enable enumeration of all
|
|
GPUs Kepler and later, including GPUs for which hardware support is
|
|
poorly tested or completely broken. This is intended for developer use
|
|
only.
|
|
|
|
Developer info
|
|
--------------
|
|
|
|
.. toctree::
|
|
:glob:
|
|
|
|
nvk/*
|