Re: [Nouveau] help with push

2015-11-02 Thread Daniel Melo Jorge da Cunha
But at the time the mesa3d file src/gallium/drivers/nouveau/nv30/nv30_screen.c is called and when the various PUSH_DATA begin to be called there is not yet a call to nouveau_pushbuf_space. So it would generate a seg fault in push->curr. Again, sorry for the confusion and thanks for the reply.

Re: [Nouveau] help with push

2015-11-02 Thread Ilia Mirkin
See libdrm's pushbuf.c -- iirc push->cur points to a GART-mapped bo. http://cgit.freedesktop.org/mesa/drm/tree/nouveau/pushbuf.c#n682 nouveau_pushbuf_data(push, NULL, 0, 0); nouveau_bo_ref(bo, >bo); nouveau_bo_ref(NULL, ); nvpb->bgn = nvpb->bo->map; nvpb->ptr = nvpb->bgn; push->cur = nvpb->bgn;

Re: [Nouveau] help with push

2015-11-02 Thread Daniel Melo Jorge da Cunha
SORRY SORRY SORRY :) Thanks for the consideration. 2015-11-02 15:42 GMT-03:00 Ilia Mirkin : > E are you sure? > > nv30_screen_create starts with a bunch of stuff init'ing objects, and then > does: > >BEGIN_NV04(push, NV01_SUBC(3D, OBJECT), 1); >PUSH_DATA

Re: [Nouveau] help with push

2015-11-02 Thread Ilia Mirkin
E are you sure? nv30_screen_create starts with a bunch of stuff init'ing objects, and then does: BEGIN_NV04(push, NV01_SUBC(3D, OBJECT), 1); PUSH_DATA (push, screen->eng3d->handle); And as you can see in nv30_winsys.h: static inline void BEGIN_NV04(struct nouveau_pushbuf *push,

[Nouveau] help with push

2015-11-02 Thread Daniel Melo Jorge da Cunha
Hi, sorry if I misunderstood everything... In the file src/gallium/drivers/nouveau/nv30/nv30_screen.c there is loans of PUSH_DATA which is basically *push->curr = data; I'm thinking that somehow push->curr is the bo->map = drm_mmap(...) that is called in nouveau_bo_map. But I cannot see how they