search for: nouveau_pushbuf_emit_reloc

Displaying 8 results from an estimated 8 matches for "nouveau_pushbuf_emit_reloc".

2009 Dec 05
1
[PATCH] nouveau: avoid running out of relocs (attempt 4)
...r, so->cur_reloc))) { + debug_printf("so_emit failed marker emit with error %d\n", ret); + return; + } pb->remaining -= nr; memcpy(pb->cur, so->push, nr * 4); for (i = 0; i < so->cur_reloc; i++) { struct nouveau_stateobj_reloc *r = &so->reloc[i]; - nouveau_pushbuf_emit_reloc(chan, pb->cur + r->offset, + if ((ret = nouveau_pushbuf_emit_reloc(chan, pb->cur + r->offset, r->bo, r->data, 0, r->flags, - r->vor, r->tor); + r->vor, r->tor))) { + debug_printf("so_emit failed reloc with error %d\n", ret); + r...
2010 Jan 29
2
[PATCH 1/2] libdrm/nouveau: new optimized libdrm pushbuffer ABI
...nr_relocs = nvpb->marker_relocs; /* reset pushbuf back to last marker */ - nvpb->base.cur = nvpb->pushbuf + nvpb->marker; - nvpb->base.remaining = nvpb->size - nvpb->marker; + chan->cur = nvpb->pushbuf + nvpb->marker; nvpb->marker = 0; } @@ -355,7 +350,7 @@ nouveau_pushbuf_emit_reloc(struct nouveau_channel *chan, void *ptr, struct nouveau_bo *bo, uint32_t data, uint32_t data2, uint32_t flags, uint32_t vor, uint32_t tor) { - struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(chan->pushbuf); + struct nouveau_pushbuf_priv *nvpb = &nouveau_channel(chan)->p...
2009 Dec 13
3
[PATCH] nouveau: avoid running out of relocs (attempt 5)
...r, so->cur_reloc))) { + debug_printf("so_emit failed marker emit with error %d\n", ret); + return; + } pb->remaining -= nr; memcpy(pb->cur, so->push, nr * 4); for (i = 0; i < so->cur_reloc; i++) { struct nouveau_stateobj_reloc *r = &so->reloc[i]; - nouveau_pushbuf_emit_reloc(chan, pb->cur + r->offset, + if ((ret = nouveau_pushbuf_emit_reloc(chan, pb->cur + r->offset, r->bo, r->data, 0, r->flags, - r->vor, r->tor); + r->vor, r->tor))) { + debug_printf("so_emit failed reloc with error %d\n", ret); + p...
2009 Dec 05
0
[PATCH] nouveau: avoid running out of relocs (attempt 3)
...(pb->remaining < nr) { + debug_printf("so_emit ran out of space\n"); + return; + } pb->remaining -= nr; memcpy(pb->cur, so->push, nr * 4); for (i = 0; i < so->cur_reloc; i++) { struct nouveau_stateobj_reloc *r = &so->reloc[i]; + int ret = 0; - nouveau_pushbuf_emit_reloc(chan, pb->cur + r->offset, + if ((ret = nouveau_pushbuf_emit_reloc(chan, pb->cur + r->offset, r->bo, r->data, 0, r->flags, - r->vor, r->tor); + r->vor, r->tor))) { + debug_printf("so_emit failed reloc with error %d\n", ret); + r...
2013 Apr 30
1
[Bug 64074] New: Mesalib Installation Error
...bo.h" #include "nouveau_grobj.h" int nouveau_pushbuf_flush(struct nouveau_channel *, unsigned min); int nouveau_pushbuf_marker_emit(struct nouveau_channel *chan, unsigned wait_dwords, unsigned wait_relocs); void nouveau_pushbuf_marker_undo(struct nouveau_channel *chan); int nouveau_pushbuf_emit_reloc(struct nouveau_channel *, void *ptr, struct nouveau_bo *, uint32_t data, uint32_t data2, uint32_t flags, uint32_t vor, uint32_t tor); int nouveau_pushbuf_submit(struct nouveau_channel *chan, struct nouveau_bo *bo, unsigned offset, unsigned length); /* Push buffer access macro...
2009 Dec 18
1
[PATCH] nouveau: don't emit reloc markers for bo's that are mapped
...p;so->reloc[i]; + /* This is probably a vbo which has caused a pushbuf flush + * before mapping. Don't try to reloc it again, it will cause + * problems, because important stuff is skipped. + */ + if (r->bo->map) { + pb->remaining += 2; + continue; + } + if ((ret = nouveau_pushbuf_emit_reloc(chan, pb->cur++, r->bo, r->packet, 0, (r->flags & (NOUVEAU_BO_VRAM | -- 1.6.5.4
2013 Apr 29
2
[Bug 64042] New: Mesalib Installation Error
...u_bo_unmap' nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_channel_free' nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_grobj_free' nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_device_open_existing' nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_pushbuf_emit_reloc' nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_device_close' nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_channel_alloc' nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_bo_handle_get' nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_bo_map...
2009 Dec 30
4
[PATCH 1/3] nv50: remove vtxbuf stateobject after a referenced vtxbuf is mapped
- This avoids problematic "reloc'ed while mapped" messages and some associated corruption as well. Signed-off-by: Maarten Maathuis <madman2003 at gmail.com> --- src/gallium/drivers/nouveau/nouveau_screen.c | 21 +++++++++++++++++++++ src/gallium/drivers/nouveau/nouveau_screen.h | 3 +++ src/gallium/drivers/nouveau/nouveau_stateobj.h | 13 +++++++++++++