summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50/nv50_query.c
diff options
context:
space:
mode:
authorMaarten Maathuis <madman2003@gmail.com>2009-12-04 22:58:22 +0100
committerMaarten Maathuis <madman2003@gmail.com>2009-12-14 19:31:54 +0100
commit41b52aa3362665e08bdc2f75cc9bfdc4debc6eb0 (patch)
tree9de6cd29f35f46afc937ddf8bd71cd3fce415ca9 /src/gallium/drivers/nv50/nv50_query.c
parent2677f199a547f6e44d964b8c34dd7f60d9523ab2 (diff)
nouveau: avoid running out of relocs
- Added flush notify functions for NV30 and NV40. - Flushing mid frame will call flush notify, which will resubmit all relocs. - We don't try to recover from reloc failure yet.
Diffstat (limited to 'src/gallium/drivers/nv50/nv50_query.c')
-rw-r--r--src/gallium/drivers/nv50/nv50_query.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/nv50/nv50_query.c b/src/gallium/drivers/nv50/nv50_query.c
index 5305c93d59..268c9823f7 100644
--- a/src/gallium/drivers/nv50/nv50_query.c
+++ b/src/gallium/drivers/nv50/nv50_query.c
@@ -93,7 +93,7 @@ nv50_query_end(struct pipe_context *pipe, struct pipe_query *pq)
struct nouveau_grobj *tesla = nv50->screen->tesla;
struct nv50_query *q = nv50_query(pq);
- WAIT_RING (chan, 5);
+ MARK_RING (chan, 5, 2); /* flush on lack of space or relocs */
BEGIN_RING(chan, tesla, NV50TCL_QUERY_ADDRESS_HIGH, 4);
OUT_RELOCh(chan, q->bo, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
OUT_RELOCl(chan, q->bo, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);