All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] drm/nouveau: Support sync FDs and sync objects
@ 2020-08-28 10:40 ` Thierry Reding
  0 siblings, 0 replies; 24+ messages in thread
From: Thierry Reding @ 2020-08-28 10:40 UTC (permalink / raw)
  To: Ben Skeggs
  Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

Hi,

This series implements a new IOCTL to submit push buffers that can
optionally return a sync FD or sync object to userspace. This is useful
in cases where userspace wants to synchronize operations between the GPU
and another driver (such as KMS for display). Among other things this
allows extensions such as eglDupNativeFenceFDANDROID to be implemented.

Note that patch 4 modifies the ABI introduced in patch 3 by allowing DRM
sync objects to be passed rather than only sync FDs. It also allows any
number of sync FDs/objects to be passed in or emitted. I think those are
useful features, but I left them in a separate patch in case everybody
else thinks that this won't be needed. If we decide to merge the new ABI
then patch 4 should be squashed into patch 3.

The corresponding userspace changes can be found here:

  libdrm: https://gitlab.freedesktop.org/tagr/drm/-/commits/nouveau-sync-fd-v2/
  mesa: https://gitlab.freedesktop.org/tagr/mesa/-/commits/nouveau-sync-fd/

I've verified that this works with kmscube's --atomic mode and Weston.

Thierry

Thierry Reding (6):
  drm/nouveau: Split nouveau_fence_sync()
  drm/nouveau: Add nouveau_fence_ref()
  drm/nouveau: Support fence FDs at kickoff
  drm/nouveau: Support sync FDs and syncobjs
  drm/nouveau: Support DMA fence arrays
  drm/nouveau: Allow zero pushbuffer submits

 drivers/gpu/drm/nouveau/dispnv04/crtc.c |   4 +-
 drivers/gpu/drm/nouveau/nouveau_bo.c    |  38 ++-
 drivers/gpu/drm/nouveau/nouveau_bo.h    |   2 +
 drivers/gpu/drm/nouveau/nouveau_drm.c   |   1 +
 drivers/gpu/drm/nouveau/nouveau_fence.c |  90 +++---
 drivers/gpu/drm/nouveau/nouveau_fence.h |   3 +-
 drivers/gpu/drm/nouveau/nouveau_gem.c   | 402 ++++++++++++++++++------
 drivers/gpu/drm/nouveau/nouveau_gem.h   |   2 +
 include/uapi/drm/nouveau_drm.h          |  23 ++
 9 files changed, 410 insertions(+), 155 deletions(-)

-- 
2.28.0

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2020-09-24 11:16 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-28 10:40 [PATCH 0/6] drm/nouveau: Support sync FDs and sync objects Thierry Reding
2020-08-28 10:40 ` Thierry Reding
     [not found] ` <20200828104016.1672195-1-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-08-28 10:40   ` [PATCH 1/6] drm/nouveau: Split nouveau_fence_sync() Thierry Reding
2020-08-28 10:40     ` Thierry Reding
2020-08-28 10:40   ` [PATCH 2/6] drm/nouveau: Add nouveau_fence_ref() Thierry Reding
2020-08-28 10:40     ` Thierry Reding
2020-08-28 10:40   ` [PATCH 3/6] drm/nouveau: Support fence FDs at kickoff Thierry Reding
2020-08-28 10:40     ` Thierry Reding
2020-08-28 10:40   ` [PATCH 4/6] drm/nouveau: Support sync FDs and syncobjs Thierry Reding
2020-08-28 10:40     ` Thierry Reding
2020-08-31 12:27     ` Dan Carpenter
2020-08-31 12:27       ` Dan Carpenter
2020-08-28 10:40   ` [PATCH 5/6] drm/nouveau: Support DMA fence arrays Thierry Reding
2020-08-28 10:40     ` Thierry Reding
2020-08-28 10:40   ` [PATCH 6/6] drm/nouveau: Allow zero pushbuffer submits Thierry Reding
2020-08-28 10:40     ` Thierry Reding
2020-09-23  9:18   ` [PATCH 0/6] drm/nouveau: Support sync FDs and sync objects Thierry Reding
2020-09-23  9:18     ` Thierry Reding
2020-09-23 15:21     ` Daniel Vetter
2020-09-23 15:21       ` [Nouveau] " Daniel Vetter
     [not found]       ` <20200923152124.GO438822-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2020-09-24 10:05         ` Thierry Reding
2020-09-24 10:05           ` [Nouveau] " Thierry Reding
2020-09-24 11:16           ` Daniel Vetter
2020-09-24 11:16             ` [Nouveau] " Daniel Vetter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.