summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/drm/nouveau/common/nouveau_winsys.c
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2009-02-04 14:55:13 +1000
committerBen Skeggs <skeggsb@gmail.com>2009-02-04 19:41:12 +1000
commitc10fb9579027ae34eda0c52acb353e8da5832495 (patch)
tree9f858afc7eed2b1da4eafa7040d1def9a118b201 /src/gallium/winsys/drm/nouveau/common/nouveau_winsys.c
parenta47965588fdaa75166c48d50974b38fcbfd2a749 (diff)
nouveau: link against libdrm_nouveau (installed with libdrm)
Diffstat (limited to 'src/gallium/winsys/drm/nouveau/common/nouveau_winsys.c')
-rw-r--r--src/gallium/winsys/drm/nouveau/common/nouveau_winsys.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/gallium/winsys/drm/nouveau/common/nouveau_winsys.c b/src/gallium/winsys/drm/nouveau/common/nouveau_winsys.c
index 722694e4a4..3b2b86cd40 100644
--- a/src/gallium/winsys/drm/nouveau/common/nouveau_winsys.c
+++ b/src/gallium/winsys/drm/nouveau/common/nouveau_winsys.c
@@ -29,8 +29,9 @@ nouveau_pipe_grobj_alloc(struct nouveau_winsys *nvws, int grclass,
if (ret)
return ret;
- assert(nv->nvc->next_subchannel < 7);
- BIND_RING(chan, *grobj, nv->nvc->next_subchannel++);
+ BEGIN_RING(chan, *grobj, 0x0000, 1);
+ OUT_RING (chan, (*grobj)->handle);
+ (*grobj)->bound = NOUVEAU_GROBJ_BOUND_EXPLICIT;
return 0;
}
@@ -73,14 +74,8 @@ static int
nouveau_pipe_push_flush(struct nouveau_winsys *nvws, unsigned size,
struct pipe_fence_handle **fence)
{
- if (fence) {
- struct nouveau_pushbuf *pb = nvws->channel->pushbuf;
- struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(pb);
- struct nouveau_fence *ref = NULL;
-
- nouveau_fence_ref(nvpb->fence, &ref);
- *fence = (struct pipe_fence_handle *)ref;
- }
+ if (fence)
+ *fence = NULL;
return nouveau_pushbuf_flush(nvws->channel, size);
}