Mesa (gallium-0.2): nouveau: support getting "native" bo from winsys

Ben Skeggs darktama at kemper.freedesktop.org
Thu Feb 5 08:46:18 UTC 2009


Module: Mesa
Branch: gallium-0.2
Commit: ae8a7544d1ab96240f646ea91fb149227067a2db
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ae8a7544d1ab96240f646ea91fb149227067a2db

Author: Ben Skeggs <skeggsb at gmail.com>
Date:   Thu Feb  5 13:17:12 2009 +1000

nouveau: support getting "native" bo from winsys

---

 src/gallium/drivers/nouveau/nouveau_winsys.h       |    2 ++
 .../winsys/drm/nouveau/common/nouveau_winsys.c     |    8 ++++++++
 2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/nouveau/nouveau_winsys.h b/src/gallium/drivers/nouveau/nouveau_winsys.h
index e935fff..99f8e08 100644
--- a/src/gallium/drivers/nouveau/nouveau_winsys.h
+++ b/src/gallium/drivers/nouveau/nouveau_winsys.h
@@ -57,6 +57,8 @@ struct nouveau_winsys {
 			    unsigned, unsigned, unsigned, unsigned);
 	int (*surface_fill)(struct nouveau_winsys *, struct pipe_surface *,
 			    unsigned, unsigned, unsigned, unsigned, unsigned);
+
+	struct nouveau_bo *(*get_bo)(struct pipe_buffer *);
 };
 
 extern struct pipe_screen *
diff --git a/src/gallium/winsys/drm/nouveau/common/nouveau_winsys.c b/src/gallium/winsys/drm/nouveau/common/nouveau_winsys.c
index 527c09c..ef7e8aa 100644
--- a/src/gallium/winsys/drm/nouveau/common/nouveau_winsys.c
+++ b/src/gallium/winsys/drm/nouveau/common/nouveau_winsys.c
@@ -81,6 +81,12 @@ nouveau_pipe_push_flush(struct nouveau_winsys *nvws, unsigned size,
 	return nouveau_pushbuf_flush(nvws->channel, size);
 }
 
+static struct nouveau_bo *
+nouveau_pipe_get_bo(struct pipe_buffer *pb)
+{
+	return ((struct nouveau_pipe_buffer *)pb)->bo;
+}
+
 struct pipe_context *
 nouveau_pipe_create(struct nouveau_context *nv)
 {
@@ -151,6 +157,8 @@ nouveau_pipe_create(struct nouveau_context *nv)
 	nvws->surface_copy	= nouveau_pipe_surface_copy;
 	nvws->surface_fill	= nouveau_pipe_surface_fill;
 
+	nvws->get_bo		= nouveau_pipe_get_bo;
+
 	ws = nouveau_create_pipe_winsys(nv);
 
 	if (!nvc->pscreen)




More information about the mesa-commit mailing list