These patches add kernel-side support for using the zcull hardware in nvidia gpus. zcull aims to improve memory bandwidth by using an early approximate depth test, similar to hierarchical Z on an AMD card. These patches add a new ioctl on nouveau devices, which is currently only supported when using gsp firmware.
Corresponding userspace changes for NVK are available here: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33861 This series is also available in git: https://gitlab.freedesktop.org/mhenning/linux/-/commits/zcull3 (v2): Split the first patch into two - one for fetching information from the hardware and the other for adding the UAPI. Also, drop the change adding DRM_NOUVEAU_SET_ZCULL_CTXSW_BUFFER - it isn't necessary to get zcull working and will be pursued as a separate performance improvement in the future. Signed-off-by: Mel Henning <[email protected]> --- Mel Henning (2): drm/nouveau: Fetch zcull info from device drm/nouveau: Add DRM_IOCTL_NOUVEAU_GET_ZCULL_INFO drivers/gpu/drm/nouveau/include/nvkm/engine/gr.h | 19 +++++++ drivers/gpu/drm/nouveau/nouveau_abi16.c | 29 ++++++++++ drivers/gpu/drm/nouveau/nouveau_abi16.h | 1 + drivers/gpu/drm/nouveau/nouveau_drm.c | 1 + .../gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gr.c | 9 ++- .../gpu/drm/nouveau/nvkm/subdev/gsp/rm/r570/gr.c | 32 ++++++++++- .../drm/nouveau/nvkm/subdev/gsp/rm/r570/nvrm/gr.h | 19 +++++++ drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/rm.h | 2 +- include/uapi/drm/nouveau_drm.h | 66 ++++++++++++++++++++++ 9 files changed, 172 insertions(+), 6 deletions(-) --- base-commit: 18f7fcd5e69a04df57b563360b88be72471d6b62 change-id: 20260205-zcull3-9065115cd238 Best regards, -- Mel Henning <[email protected]>
