Displaying 7 results from an estimated 7 matches for "nv01_subc".
2012 Jul 27
1
[PATCH] nvc0: Add and enable vblank support
...annel, 0x906e, 0x906e,
+ NULL, 0, &pNv->NvSW);
+
if (nouveau_pushbuf_space(push, 512, 0, 0) ||
nouveau_pushbuf_refn (push, &(struct nouveau_pushbuf_refn) {
pNv->scratch, NOUVEAU_BO_VRAM |
NOUVEAU_BO_WR }, 1))
return FALSE;
+ if (!ret) {
+ BEGIN_NVC0(push, NV01_SUBC(NVSW, OBJECT), 1);
+ PUSH_DATA (push, pNv->NvSW->handle);
+ BEGIN_NVC0(push, SUBC_NVSW(0x0200), 2); /* VBLSEM_OFFSET */
+ PUSH_DATA (push, pNv->notifier_bo->offset >> 32);
+ PUSH_DATA (push, pNv->notifier_bo->offset);
+ } else if (pNv->glx_vblank) {
+ xf86DrvMsg(pScr...
2015 Nov 02
2
help with push
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.
Awaiting
for an answer if possible. Thanks in advance.
2015-11-02 14:44 GMT-03:00 Ilia Mirkin
2015 Nov 02
0
help with push
Errrr.... 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, int subc, int mthd, int size)
{
PUSH_SPACE(push, size + 1);
PUSH_DATA (push, 0x00000000 | (size << 18) | (subc << 1...
2014 Jun 17
0
[PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...+ FAIL_SCREEN_INIT("error allocating scaled image object: %d\n", ret);
+
+ return pscreen;
+}
+
+void nv30_screen_init_hwctx(struct nv30_screen *screen, struct nouveau_pushbuf *push)
+{
+ struct nv04_fifo *fifo = screen->base.channel->data;
+ int i;
+
BEGIN_NV04(push, NV01_SUBC(3D, OBJECT), 1);
PUSH_DATA (push, screen->eng3d->handle);
BEGIN_NV04(push, NV30_3D(DMA_NOTIFY), 13);
@@ -507,8 +476,8 @@ nv30_screen_create(struct nouveau_device *dev)
PUSH_DATA (push, fifo->vram); /* ZETA */
PUSH_DATA (push, fifo->vram); /* VTXBUF0 */
PUSH_D...
2014 Jun 17
2
[PATCH try 2 1/2] gallium/nouveau: decouple nouveau_fence implementation from screen
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com>
---
src/gallium/drivers/nouveau/nouveau_fence.c | 76 ++++++++++++-------------
src/gallium/drivers/nouveau/nouveau_fence.h | 22 +++++--
src/gallium/drivers/nouveau/nouveau_screen.c | 9 +++
src/gallium/drivers/nouveau/nouveau_screen.h | 14 ++---
src/gallium/drivers/nouveau/nv30/nv30_context.c | 4 +-
2014 Jun 21
3
[Mesa-dev] [PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...led image object: %d\n", ret);
> +
> + return pscreen;
> +}
> +
> +void nv30_screen_init_hwctx(struct nv30_screen *screen, struct nouveau_pushbuf *push)
> +{
> + struct nv04_fifo *fifo = screen->base.channel->data;
> + int i;
> +
> BEGIN_NV04(push, NV01_SUBC(3D, OBJECT), 1);
> PUSH_DATA (push, screen->eng3d->handle);
> BEGIN_NV04(push, NV30_3D(DMA_NOTIFY), 13);
> @@ -507,8 +476,8 @@ nv30_screen_create(struct nouveau_device *dev)
> PUSH_DATA (push, fifo->vram); /* ZETA */
> PUSH_DATA (push, fifo->vram);...
2014 Jun 16
2
[PATCH 1/2] gallium/nouveau: decouple nouveau_fence implementation from screen
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com>
---
src/gallium/drivers/nouveau/nouveau_fence.c | 76 ++++++++++++-------------
src/gallium/drivers/nouveau/nouveau_fence.h | 22 +++++--
src/gallium/drivers/nouveau/nouveau_screen.c | 9 +++
src/gallium/drivers/nouveau/nouveau_screen.h | 14 ++---
src/gallium/drivers/nouveau/nv30/nv30_context.c | 4