mbox series

[0/2] drm/nouveau: ZCULL support

Message ID 20250312213746.228042-1-mhenning@darkrefraction.com (mailing list archive)
Headers show
Series drm/nouveau: ZCULL support | expand

Message

Mel Henning March 12, 2025, 9:36 p.m. UTC
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 two
new ioctls on nouveau devices, which are currently only supported when using
gsp firmware.

Corresponding userspace changes for NVK are available here:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33861
or, if gitlab is down, mirrored here:
https://codeberg.org/mhenning/mesa/commits/branch/zcull3

This series is also available in git:
https://gitlab.freedesktop.org/mhenning/linux/-/commits/zcull2?ref_type=heads

As these are my first kernel patches, I ask for your patience during the
review process.

Mel Henning (2):
  drm/nouveau: Add DRM_IOCTL_NOUVEAU_GET_ZCULL_INFO
  drm/nouveau: DRM_NOUVEAU_SET_ZCULL_CTXSW_BUFFER

 drivers/gpu/drm/nouveau/include/nvif/if0020.h |   6 +
 .../drm/nouveau/include/nvkm/core/device.h    |   6 +
 .../gpu/drm/nouveau/include/nvkm/engine/gr.h  |   1 +
 .../sdk/nvidia/inc/ctrl/ctrl2080/ctrl2080gr.h | 122 ++++++++++++++++++
 drivers/gpu/drm/nouveau/nouveau_abi16.c       |  61 +++++++++
 drivers/gpu/drm/nouveau/nouveau_abi16.h       |   2 +
 drivers/gpu/drm/nouveau/nouveau_drm.c         |   2 +
 .../gpu/drm/nouveau/nvkm/engine/fifo/chan.c   |   8 ++
 .../gpu/drm/nouveau/nvkm/engine/fifo/chan.h   |   2 +
 .../gpu/drm/nouveau/nvkm/engine/fifo/r535.c   |  26 ++++
 .../gpu/drm/nouveau/nvkm/engine/fifo/uchan.c  |  17 +++
 drivers/gpu/drm/nouveau/nvkm/engine/gr/r535.c |  34 +++++
 include/uapi/drm/nouveau_drm.h                |  35 +++++
 13 files changed, 322 insertions(+)