nv50: borrow some flushing code from the ddx

- This fixes neverball corruption.
- I'm unsure about what we're actually flushing here.
This commit is contained in:
Maarten Maathuis 2009-08-16 04:06:44 +02:00
parent f199dbdb76
commit 97cc526eb7

View file

@ -31,9 +31,17 @@ static void
nv50_flush(struct pipe_context *pipe, unsigned flags,
struct pipe_fence_handle **fence)
{
struct nv50_context *nv50 = (struct nv50_context *)pipe;
FIRE_RING(nv50->screen->base.channel);
struct nv50_context *nv50 = nv50_context(pipe);
struct nouveau_channel *chan = nv50->screen->base.channel;
struct nouveau_grobj *eng2d = nv50->screen->eng2d;
/* We need this in the ddx for reliable composite, not sure what we're
* actually flushing. We generate all our own flushes with flags = 0. */
WAIT_RING(chan, 3);
BEGIN_RING(chan, eng2d, 0x0110, 1);
OUT_RING (chan, 0);
FIRE_RING(chan);
}
static void