[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-nouveau: Changes to 'upstream-experimental'



 configure.ac           |    4 
 src/Makefile.am        |   15 
 src/drmmode_display.c  |    4 
 src/nouveau_bios.h     |   11 
 src/nouveau_bo.c       |  163 -
 src/nouveau_bo.h       |   51 
 src/nouveau_channel.c  |  136 -
 src/nouveau_channel.h  |   37 
 src/nouveau_class.h    | 6231 -------------------------------------------------
 src/nouveau_device.c   |  137 -
 src/nouveau_device.h   |   29 
 src/nouveau_dma.c      |  200 -
 src/nouveau_dma.h      |  158 -
 src/nouveau_drmif.h    |  185 -
 src/nouveau_exa.c      |  509 ++++
 src/nouveau_grobj.c    |  107 
 src/nouveau_grobj.h    |   41 
 src/nouveau_local.h    |  101 
 src/nouveau_notifier.c |  140 -
 src/nouveau_notifier.h |   43 
 src/nouveau_xv.c       |   70 
 src/nv04_exa.c         |  354 ++
 src/nv04_xv_blit.c     |    2 
 src/nv10_exa.c         |   62 
 src/nv30_exa.c         |   44 
 src/nv30_shaders.c     |    5 
 src/nv30_xv_tex.c      |    7 
 src/nv40_exa.c         |   42 
 src/nv40_xv_tex.c      |    3 
 src/nv50_accel.c       |   76 
 src/nv50_connector.c   |    3 
 src/nv50_crtc.c        |   39 
 src/nv50_exa.c         |  134 -
 src/nv50_randr.c       |    2 
 src/nv50_xv.c          |  109 
 src/nv_accel_common.c  |   58 
 src/nv_bios.c          |  550 ++--
 src/nv_crtc.c          |  101 
 src/nv_cursor.c        |   29 
 src/nv_dac.c           |    4 
 src/nv_dma.c           |   51 
 src/nv_dri.c           |   10 
 src/nv_driver.c        |  209 +
 src/nv_exa.c           |  968 -------
 src/nv_hw.c            |   33 
 src/nv_include.h       |    9 
 src/nv_output.c        |    2 
 src/nv_proto.h         |   33 
 src/nv_setup.c         |    4 
 src/nv_shadow.c        |    2 
 src/nv_type.h          |   21 
 src/nvreg.h            |   10 
 52 files changed, 1953 insertions(+), 9395 deletions(-)

New commits:
commit 4dfd0b1b21415c48c4b6e0e8d335f3fc70922d27
Author: Ben Skeggs <skeggsb@gmail.com>
Date:   Wed Feb 4 15:35:53 2009 +1000

    oops

diff --git a/src/nv_driver.c b/src/nv_driver.c
index c6a4441..303e42f 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -1584,22 +1584,24 @@ NVMapMemSW(ScrnInfoPtr pScrn)
 	CLUTOffset[0] = Cursor1Offset + (64 * 1024);
 	CLUTOffset[1] = CLUTOffset[0] + (4 * 1024);
 
-	ret = nouveau_bo_fake(&dev, NOUVEAU_BO_VRAM | NOUVEAU_BO_PIN,
-			      0, pNv->VRAMSize - (1<<20), pNv->VRAMMap,
+	ret = nouveau_bo_fake(&dev, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_PIN,
+			      pNv->VRAMSize - (1<<20), pNv->VRAMMap,
 			      &pNv->FB);
 	if (ret)
 		return FALSE;
 	pNv->GART = NULL;
 
-	ret = nouveau_bo_fake(&dev, NOUVEAU_BO_VRAM | NOUVEAU_BO_PIN,
-			      Cursor0Offset, 64*1024,
-			      pNv->VRAMMap + Cursor0Offset, &pNv->Cursor);
+	ret = nouveau_bo_fake(&dev, Cursor0Offset,
+			      NOUVEAU_BO_VRAM | NOUVEAU_BO_PIN,
+			      64*1024, pNv->VRAMMap + Cursor0Offset,
+			      &pNv->Cursor);
 	if (ret)
 		return FALSE;
 
-	ret = nouveau_bo_fake(&dev, NOUVEAU_BO_VRAM | NOUVEAU_BO_PIN,
-			      Cursor1Offset, 64*1024,
-			      pNv->VRAMMap + Cursor1Offset, &pNv->Cursor2);
+	ret = nouveau_bo_fake(&dev, Cursor1Offset,
+			      NOUVEAU_BO_VRAM | NOUVEAU_BO_PIN,
+			      64*1024, pNv->VRAMMap + Cursor1Offset,
+			      &pNv->Cursor2);
 	if (ret)
 		return FALSE;
 
@@ -1607,10 +1609,11 @@ NVMapMemSW(ScrnInfoPtr pScrn)
 		for(i = 0; i < 2; i++) {
 			nouveauCrtcPtr crtc = pNv->crtc[i];
 
-			ret = nouveau_bo_fake(&dev, NOUVEAU_BO_VRAM |
-					      NOUVEAU_BO_PIN, CLUTOffset[i],
-					      0x1000, pNv->VRAMMap +
-					      CLUTOffset[i], &crtc->lut);
+			ret = nouveau_bo_fake(&dev, CLUTOffset[i],
+					      NOUVEAU_BO_VRAM |
+					      NOUVEAU_BO_PIN, 0x1000,
+					      pNv->VRAMMap + CLUTOffset[i],
+					      &crtc->lut);
 			if (ret)
 				return FALSE;
 

commit e02813aab0376271ee777a2b8dafc9381f96311a
Author: Ben Skeggs <skeggsb@gmail.com>
Date:   Wed Feb 4 14:50:35 2009 +1000

    link against libdrm_nouveau (installed with libdrm)

diff --git a/configure.ac b/configure.ac
index 8588e05..efcb046 100644
--- a/configure.ac
+++ b/configure.ac
@@ -65,6 +65,10 @@ XORG_DRIVER_CHECK_EXT(XV, videoproto)
 XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
 
 # Checks for pkg-config packages
+PKG_CHECK_MODULES(LIBDRM_NOUVEAU, libdrm_nouveau)
+AC_SUBST(LIBDRM_NOUVEAU_CFLAGS)
+AC_SUBST(LIBDRM_NOUVEAU_LIBS)
+
 PKG_CHECK_MODULES(XORG, [xorg-server >= 1.3] xproto fontsproto libdrm xf86driproto $REQUIRED_MODULES)
 sdkdir=$(pkg-config --variable=sdkdir xorg-server)
 
diff --git a/src/Makefile.am b/src/Makefile.am
index 5613c80..8311ed4 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -23,20 +23,13 @@
 # -avoid-version prevents gratuitous .0.0.0 version numbers on the end
 # _ladir passes a dummy rpath to libtool so the thing will actually link
 # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
-AM_CFLAGS = @XORG_CFLAGS@
+AM_CFLAGS = @XORG_CFLAGS@ @LIBDRM_NOUVEAU_CFLAGS@
 nouveau_drv_la_LTLIBRARIES = nouveau_drv.la
-nouveau_drv_la_LDFLAGS = -module -avoid-version
+nouveau_drv_la_LDFLAGS = -module -avoid-version @LIBDRM_NOUVEAU_LIBS@
 nouveau_drv_ladir = @moduledir@/drivers
 
 nouveau_drv_la_SOURCES = \
 			 nouveau_bios.h \
-			 nouveau_device.c nouveau_device.h nouveau_drmif.h \
-			 nouveau_channel.c nouveau_channel.h \
-			 nouveau_grobj.c nouveau_grobj.h \
-			 nouveau_notifier.c nouveau_notifier.h \
-			 nouveau_dma.c nouveau_dma.h \
-			 nouveau_bo.c nouveau_bo.h \
-			 nouveau_class.h \
 			 nouveau_local.h \
 			 nouveau_exa.c nouveau_xv.c \
 			 nv_accel_common.c \
diff --git a/src/nouveau_bo.c b/src/nouveau_bo.c
deleted file mode 100644
index a475d4f..0000000
--- a/src/nouveau_bo.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright 2007 Nouveau Project
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include <stdint.h>
-#include <errno.h>
-
-#include "nouveau_drmif.h"
-#include "nouveau_dma.h"
-#include "nouveau_local.h"
-
-static void
-nouveau_bo_del(struct nouveau_bo **userbo)
-{
-	struct drm_nouveau_mem_free f;
-	struct nouveau_bo_priv *bo;
-
-	if (!userbo || !*userbo)
-		return;
-	bo = nouveau_bo(*userbo);
-	*userbo = NULL;
-
-	if (--bo->refcount)
-		return;
-
-	if (bo->fake) {
-		free(bo);
-		return;
-	}
-
-	if (bo->map) {
-		drmUnmap(bo->map, bo->drm.size);
-		bo->map = NULL;
-	}
-
-	f.flags = bo->drm.flags;
-	f.offset = bo->drm.offset;
-	drmCommandWrite(nouveau_device(bo->base.device)->fd,
-			DRM_NOUVEAU_MEM_FREE, &f, sizeof(f));
-
-	free(bo);
-}
-
-int
-nouveau_bo_ref(struct nouveau_bo *ref, struct nouveau_bo **pbo)
-{
-	if (!pbo)
-		return -EINVAL;
-
-	if (ref)
-		nouveau_bo(ref)->refcount++;
-
-	if (*pbo)
-		nouveau_bo_del(pbo);
-
-	*pbo = ref;
-	return 0;
-}
-
-int
-nouveau_bo_fake(struct nouveau_device *userdev, uint32_t flags, uint64_t offset,
-		int size, void *map, struct nouveau_bo **userbo)
-{
-	struct nouveau_bo_priv *bo;
-
-	if (!userdev || !userbo || *userbo)
-		return -EINVAL;
-
-	bo = calloc(1, sizeof(*bo));
-	if (!bo)
-		return -ENOMEM;
-
-	bo->refcount = 1;
-	bo->fake = 1;
-	bo->map = map;
-	bo->base.offset = offset;
-	bo->base.size = size;
-	bo->base.device = userdev;
-	*userbo = &bo->base;
-	return 0;
-}
-
-int
-nouveau_bo_new(struct nouveau_device *userdev, uint32_t flags, int align,
-	       int size, struct nouveau_bo **userbo)
-{
-	struct nouveau_device_priv *nv = nouveau_device(userdev);
-	struct nouveau_bo_priv *bo;
-	int ret;
-
-	if (!nv || !userbo || *userbo)
-		return -EINVAL;
-
-	bo = calloc(1, sizeof(*bo));
-	if (!bo)
-		return -ENOMEM;
-	bo->base.device = userdev;
-
-	if (flags & NOUVEAU_BO_VRAM)
-		bo->drm.flags |= NOUVEAU_MEM_FB;
-	if (flags & NOUVEAU_BO_GART)
-		bo->drm.flags |= (NOUVEAU_MEM_AGP | NOUVEAU_MEM_PCI);
-	if (flags & NOUVEAU_BO_TILE)
-		bo->drm.flags |= NOUVEAU_MEM_TILE;
-	bo->drm.flags |= NOUVEAU_MEM_MAPPED;
-
-	bo->drm.size = size;
-	bo->drm.alignment = align;
-
-	ret = drmCommandWriteRead(nv->fd, DRM_NOUVEAU_MEM_ALLOC, &bo->drm,
-				  sizeof(bo->drm));
-	if (ret) {
-		free(bo);
-		return ret;
-	}
-
-	ret = drmMap(nv->fd, bo->drm.map_handle, bo->drm.size, &bo->map);
-	if (ret) {
-		bo->map = NULL;
-		nouveau_bo_del((void *)&bo);
-		return ret;
-	}
-
-	bo->base.size = bo->drm.size;
-	bo->base.offset = bo->drm.offset;
-	bo->base.handle = (unsigned long)bo;
-	bo->base.map_handle = bo->drm.map_handle;
-	bo->refcount = 1;
-	*userbo = &bo->base;
-	return 0;
-}
-
-int
-nouveau_bo_map(struct nouveau_bo *userbo, uint32_t flags)
-{
-	struct nouveau_bo_priv *bo = nouveau_bo(userbo);
-
-	if (!bo)
-		return -EINVAL;
-	userbo->map = bo->map;
-	return 0;
-}
-
-void
-nouveau_bo_unmap(struct nouveau_bo *userbo)
-{
-	userbo->map = NULL;
-}
-
-void
-nouveau_bo_emit_reloc(struct nouveau_channel *userchan, void *ptr,
-		      struct nouveau_bo *userbo, uint32_t data, uint32_t flags,
-		      uint32_t vor, uint32_t tor)
-{
-	struct nouveau_channel_priv *chan = nouveau_channel(userchan);
-	struct nouveau_bo_priv *bo = nouveau_bo(userbo);
-	struct nouveau_bo_reloc *r;
-
-	if (chan->num_relocs >= chan->max_relocs)
-		FIRE_RING_CH(userchan);
-	r = &chan->relocs[chan->num_relocs++];
-
-	r->ptr = ptr;
-	r->bo = bo;
-	r->data = data;
-	r->flags = flags;
-	r->vor = vor;
-	r->tor = tor;
-}
-
-void
-nouveau_bo_validate(struct nouveau_channel *userchan)
-{
-	struct nouveau_channel_priv *chan = nouveau_channel(userchan);
-	struct nouveau_bo_reloc *r = chan->relocs;
-	int nr = chan->num_relocs;
-
-	while (nr--) {
-		assert(!r->bo->base.map);
-		r++;
-	}
-}
-
diff --git a/src/nouveau_bo.h b/src/nouveau_bo.h
deleted file mode 100644
index 86961a2..0000000
--- a/src/nouveau_bo.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2007 Nouveau Project
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef __NOUVEAU_BO_H__
-#define __NOUVEAU_BO_H__
-
-/* Relocation/Buffer type flags */
-#define NOUVEAU_BO_VRAM (1 << 0)
-#define NOUVEAU_BO_GART (1 << 1)
-#define NOUVEAU_BO_RD   (1 << 2)
-#define NOUVEAU_BO_WR   (1 << 3)
-#define NOUVEAU_BO_RDWR (NOUVEAU_BO_RD | NOUVEAU_BO_WR)
-#define NOUVEAU_BO_MAP  (1 << 4)
-#define NOUVEAU_BO_PIN  (1 << 5)
-#define NOUVEAU_BO_LOW  (1 << 6)
-#define NOUVEAU_BO_HIGH (1 << 7)
-#define NOUVEAU_BO_OR   (1 << 8)
-#define NOUVEAU_BO_TILE (1 << 9)
-
-struct nouveau_bo {
-	struct nouveau_device *device;
-	uint64_t handle;
-	drm_handle_t map_handle;
-
-	uint64_t size;
-	void *map;
-
-	/*XXX: temporary! */
-	uint64_t offset;
-};
-
-#endif
diff --git a/src/nouveau_channel.c b/src/nouveau_channel.c
deleted file mode 100644
index 485b963..0000000
--- a/src/nouveau_channel.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright 2007 Nouveau Project
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#include "nouveau_drmif.h"
-#include "nouveau_dma.h"
-
-int
-nouveau_channel_alloc(struct nouveau_device *userdev, uint32_t fb_ctxdma,
-		      uint32_t tt_ctxdma, struct nouveau_channel **userchan)
-{
-	struct nouveau_device_priv *nv = nouveau_device(userdev);
-	struct nouveau_channel_priv *chan;
-	int ret;
-
-	if (!nv || !userchan || *userchan)
-	    return -EINVAL;
-
-	chan = calloc(1, sizeof(*chan));
-	if (!chan)
-		return -ENOMEM;
-	chan->base.device = userdev;
-
-	chan->drm.fb_ctxdma_handle = fb_ctxdma;
-	chan->drm.tt_ctxdma_handle = tt_ctxdma;
-	ret = drmCommandWriteRead(nv->fd, DRM_NOUVEAU_CHANNEL_ALLOC,
-				  &chan->drm, sizeof(chan->drm));
-	if (ret) {
-		free(chan);
-		return ret;
-	}
-
-	chan->base.id = chan->drm.channel;
-	if (nouveau_grobj_ref(&chan->base, chan->drm.fb_ctxdma_handle,
-			      &chan->base.vram) ||
-	    nouveau_grobj_ref(&chan->base, chan->drm.tt_ctxdma_handle,
-		    	      &chan->base.gart)) {
-		nouveau_channel_free((void *)&chan);
-	}
-
-	ret = drmMap(nv->fd, chan->drm.ctrl, chan->drm.ctrl_size,
-		     (void*)&chan->user);
-	if (ret) {
-		nouveau_channel_free((void *)&chan);
-		return ret;
-	}
-	chan->put     = &chan->user[0x40/4];
-	chan->get     = &chan->user[0x44/4];
-	chan->ref_cnt = &chan->user[0x48/4];
-
-	ret = drmMap(nv->fd, chan->drm.notifier, chan->drm.notifier_size,
-		     (drmAddressPtr)&chan->notifier_block);
-	if (ret) {
-		nouveau_channel_free((void *)&chan);
-		return ret;
-	}
-
-	ret = drmMap(nv->fd, chan->drm.cmdbuf, chan->drm.cmdbuf_size,
-		     (void*)&chan->pushbuf);
-	if (ret) {
-		nouveau_channel_free((void *)&chan);
-		return ret;
-	}
-
-	chan->max_relocs = chan->drm.cmdbuf_size / 4;
-	chan->num_relocs = 0;
-	chan->relocs =
-		malloc(sizeof(struct nouveau_bo_reloc) * chan->max_relocs);
-
-	nouveau_dma_channel_init(&chan->base);
-
-	*userchan = &chan->base;
-	return 0;
-}
-
-void
-nouveau_channel_free(struct nouveau_channel **userchan)
-{
-	struct nouveau_channel_priv *chan;
-	
-	if (!userchan)
-		return;
-	chan = nouveau_channel(*userchan);
-
-	if (chan) {
-		struct nouveau_device_priv *nv;
-		struct drm_nouveau_channel_free cf;
-
-		nv = nouveau_device((*userchan)->device);
-
-		FIRE_RING_CH(*userchan);
-
-		if (chan->relocs)
-			free(chan->relocs);
-
-		if (chan->pushbuf)
-			drmUnmap(chan->pushbuf, chan->drm.cmdbuf_size);
-		if (chan->notifier_block)
-			drmUnmap(chan->notifier_block, chan->drm.notifier_size);
-		if (chan->user)
-			drmUnmap((void *)chan->user, chan->drm.ctrl_size);
-
-		nouveau_grobj_free(&chan->base.vram);
-		nouveau_grobj_free(&chan->base.gart);
-
-		cf.channel = chan->drm.channel;
-		drmCommandWrite(nv->fd, DRM_NOUVEAU_CHANNEL_FREE,
-				&cf, sizeof(cf));
-		free(chan);
-		*userchan = NULL;
-	}
-}
-
-
diff --git a/src/nouveau_channel.h b/src/nouveau_channel.h
deleted file mode 100644
index d3c7ed7..0000000
--- a/src/nouveau_channel.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2007 Nouveau Project
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef __NOUVEAU_CHANNEL_H__
-#define __NOUVEAU_CHANNEL_H__
-
-struct nouveau_channel {
-	struct nouveau_device *device;
-	int id;
-
-	struct nouveau_grobj *vram;
-	struct nouveau_grobj *gart;
-
-	void *user_private;
-	void (*hang_notify)(struct nouveau_channel *);
-	void (*flush_notify)(struct nouveau_channel *);
-};
-
-#endif
diff --git a/src/nouveau_class.h b/src/nouveau_class.h
deleted file mode 100644
index 89cd416..0000000
--- a/src/nouveau_class.h
+++ /dev/null
@@ -1,6231 +0,0 @@
-/*************************************************************************
-
-   Autogenerated file, do not edit !
-
-**************************************************************************
-
-   Copyright (C) 2006-2008 :
-   Dmitry Baryshkov,
-   Laurent Carlier,
-   Matthieu Castet,
-   Dawid Gajownik,
-   Jeremy Kolb,
-   Stephane Loeuillet,
-   Patrice Mandin,
-   Stephane Marchesin,
-   Serge Martin,
-   Sylvain Munaut,
-   Simon Raffeiner,
-   Ben Skeggs,
-   Erik Waling,
-   koala_br,
-
-All Rights Reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice (including the
-next paragraph) shall be included in all copies or substantial
-portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*************************************************************************/
-
-
-#ifndef NOUVEAU_REG_H
-#define NOUVEAU_REG_H 1
-
-
-#define NV01_ROOT									0x00000001
-
-
-
-#define NV01_CONTEXT_DMA								0x00000002
-
-
-
-#define NV01_DEVICE									0x00000003
-
-
-
-#define NV01_TIMER									0x00000004
-
-#define  NV01_TIMER_SYNCHRONIZE								0x00000100
-#define  NV01_TIMER_STOP_ALARM								0x00000104
-#define  NV01_TIMER_DMA_NOTIFY								0x00000180
-#define  NV01_TIMER_TIME(x)								(0x00000300+((x)*4))
-#define  NV01_TIMER_TIME__SIZE								0x00000002
-#define  NV01_TIMER_ALARM_NOTIFY							0x00000308
-
-
-#define NV_IMAGE_STENCIL								0x00000010
-
-#define  NV_IMAGE_STENCIL_NOTIFY							0x00000104
-#define  NV_IMAGE_STENCIL_DMA_NOTIFY							0x00000180
-#define  NV_IMAGE_STENCIL_IMAGE_OUTPUT							0x00000200
-#define  NV_IMAGE_STENCIL_IMAGE_INPUT(x)						(0x00000204+((x)*4))
-#define  NV_IMAGE_STENCIL_IMAGE_INPUT__SIZE						0x00000002
-
-
-#define NV_IMAGE_BLEND_AND								0x00000011
-
-#define  NV_IMAGE_BLEND_AND_NOP								0x00000100
-#define  NV_IMAGE_BLEND_AND_NOTIFY							0x00000104
-#define  NV_IMAGE_BLEND_AND_DMA_NOTIFY							0x00000180
-#define  NV_IMAGE_BLEND_AND_IMAGE_OUTPUT						0x00000200
-#define  NV_IMAGE_BLEND_AND_BETA_INPUT							0x00000204
-#define  NV_IMAGE_BLEND_AND_IMAGE_INPUT							0x00000208
-
-
-#define NV01_CONTEXT_BETA1								0x00000012
-
-#define  NV01_CONTEXT_BETA1_NOP								0x00000100
-#define  NV01_CONTEXT_BETA1_NOTIFY							0x00000104
-#define  NV01_CONTEXT_BETA1_DMA_NOTIFY							0x00000180
-#define  NV01_CONTEXT_BETA1_BETA_1D31							0x00000300
-
-
-#define NV_IMAGE_ROP_AND								0x00000013
-
-#define  NV_IMAGE_ROP_AND_NOTIFY							0x00000104
-#define  NV_IMAGE_ROP_AND_DMA_NOTIFY							0x00000180
-#define  NV_IMAGE_ROP_AND_IMAGE_OUTPUT							0x00000200
-#define  NV_IMAGE_ROP_AND_ROP_INPUT							0x00000204
-#define  NV_IMAGE_ROP_AND_IMAGE_INPUT(x)						(0x00000208+((x)*4))
-#define  NV_IMAGE_ROP_AND_IMAGE_INPUT__SIZE						0x00000002
-
-
-#define NV_IMAGE_COLOR_KEY								0x00000015
-
-
-
-#define NV01_CONTEXT_COLOR_KEY								0x00000017
-
-#define  NV01_CONTEXT_COLOR_KEY_NOP							0x00000100
-#define  NV01_CONTEXT_COLOR_KEY_NOTIFY							0x00000104
-#define  NV01_CONTEXT_COLOR_KEY_DMA_NOTIFY						0x00000180
-#define  NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT						0x00000300
-#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16A8Y8					0x00000001
-#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X24Y8					0x00000002
-#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16A1R5G5B5				0x00000003
-#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X17R5G5B5					0x00000004
-#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_A8R8G8B8					0x00000005
-#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X8R8G8B8					0x00000006
-#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_A16Y16					0x00000007
-#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16Y16					0x00000008
-#define  NV01_CONTEXT_COLOR_KEY_COLOR							0x00000304
-
-
-#define NV01_CONTEXT_PATTERN								0x00000018
-
-#define  NV01_CONTEXT_PATTERN_NOP							0x00000100
-#define  NV01_CONTEXT_PATTERN_NOTIFY							0x00000104
-#define  NV01_CONTEXT_PATTERN_DMA_NOTIFY						0x00000180
-#define  NV01_CONTEXT_PATTERN_COLOR_FORMAT						0x00000300
-#define  NV01_CONTEXT_PATTERN_MONOCHROME_FORMAT						0x00000304
-#define  NV01_CONTEXT_PATTERN_SHAPE							0x00000308
-#define  NV01_CONTEXT_PATTERN_COLOR(x)							(0x00000310+((x)*4))
-#define  NV01_CONTEXT_PATTERN_COLOR__SIZE						0x00000002
-#define  NV01_CONTEXT_PATTERN_PATTERN(x)						(0x00000318+((x)*4))
-#define  NV01_CONTEXT_PATTERN_PATTERN__SIZE						0x00000002
-
-
-#define NV01_CONTEXT_CLIP_RECTANGLE							0x00000019
-
-#define  NV01_CONTEXT_CLIP_RECTANGLE_NOP						0x00000100
-#define  NV01_CONTEXT_CLIP_RECTANGLE_NOTIFY						0x00000104
-#define  NV01_CONTEXT_CLIP_RECTANGLE_DMA_NOTIFY						0x00000180
-#define  NV01_CONTEXT_CLIP_RECTANGLE_POINT						0x00000300
-#define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_X_SHIFT					0
-#define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_X_MASK					0x0000ffff
-#define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_Y_SHIFT					16
-#define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_Y_MASK					0xffff0000
-#define  NV01_CONTEXT_CLIP_RECTANGLE_SIZE						0x00000304
-#define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_W_SHIFT					0
-#define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_W_MASK					0x0000ffff
-#define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_H_SHIFT					16
-#define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_H_MASK					0xffff0000
-
-
-#define NV01_RENDER_SOLID_LINE								0x0000001c
-
-#define  NV01_RENDER_SOLID_LINE_NOP							0x00000100
-#define  NV01_RENDER_SOLID_LINE_NOTIFY							0x00000104
-#define  NV01_RENDER_SOLID_LINE_PATCH							0x0000010c
-#define  NV01_RENDER_SOLID_LINE_DMA_NOTIFY						0x00000180
-#define  NV01_RENDER_SOLID_LINE_CLIP_RECTANGLE						0x00000184
-#define  NV01_RENDER_SOLID_LINE_PATTERN							0x00000188
-#define  NV01_RENDER_SOLID_LINE_ROP							0x0000018c
-#define  NV01_RENDER_SOLID_LINE_BETA1							0x00000190
-#define  NV01_RENDER_SOLID_LINE_SURFACE							0x00000194
-#define  NV01_RENDER_SOLID_LINE_OPERATION						0x000002fc
-#define   NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY_AND					0x00000000
-#define   NV01_RENDER_SOLID_LINE_OPERATION_ROP_AND					0x00000001
-#define   NV01_RENDER_SOLID_LINE_OPERATION_BLEND_AND					0x00000002
-#define   NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY					0x00000003
-#define   NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY_PREMULT				0x00000004
-#define   NV01_RENDER_SOLID_LINE_OPERATION_BLEND_PREMULT				0x00000005
-#define  NV01_RENDER_SOLID_LINE_COLOR_FORMAT						0x00000300
-#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16A8Y8					0x00000001
-#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X24Y8					0x00000002
-#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16A1R5G5B5				0x00000003
-#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X17R5G5B5					0x00000004
-#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_A8R8G8B8					0x00000005
-#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X8R8G8B8					0x00000006
-#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_A16Y16					0x00000007
-#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16Y16					0x00000008
-#define  NV01_RENDER_SOLID_LINE_COLOR							0x00000304
-#define  NV01_RENDER_SOLID_LINE_LINE_POINT0(x)						(0x00000400+((x)*8))
-#define  NV01_RENDER_SOLID_LINE_LINE_POINT0__SIZE					0x00000010
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT0_X_SHIFT					0
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT0_X_MASK					0x0000ffff
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT0_Y_SHIFT					16
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT0_Y_MASK					0xffff0000
-#define  NV01_RENDER_SOLID_LINE_LINE_POINT1(x)						(0x00000404+((x)*8))
-#define  NV01_RENDER_SOLID_LINE_LINE_POINT1__SIZE					0x00000010
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT1_X_SHIFT					0
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT1_X_MASK					0x0000ffff
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT1_Y_SHIFT					16
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT1_Y_MASK					0xffff0000
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_X(x)					(0x00000480+((x)*16))
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_X__SIZE					0x00000010
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_Y(x)					(0x00000484+((x)*16))
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_Y__SIZE					0x00000010
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_X(x)					(0x00000488+((x)*16))
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_X__SIZE					0x00000010
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_Y(x)					(0x0000048c+((x)*16))
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_Y__SIZE					0x00000010
-#define  NV01_RENDER_SOLID_LINE_POLYLINE(x)						(0x00000500+((x)*4))
-#define  NV01_RENDER_SOLID_LINE_POLYLINE__SIZE						0x00000020
-#define   NV01_RENDER_SOLID_LINE_POLYLINE_X_SHIFT					0
-#define   NV01_RENDER_SOLID_LINE_POLYLINE_X_MASK					0x0000ffff
-#define   NV01_RENDER_SOLID_LINE_POLYLINE_Y_SHIFT					16
-#define   NV01_RENDER_SOLID_LINE_POLYLINE_Y_MASK					0xffff0000
-#define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_X(x)					(0x00000580+((x)*8))
-#define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_X__SIZE				0x00000010
-#define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_Y(x)					(0x00000584+((x)*8))
-#define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_Y__SIZE				0x00000010
-#define  NV01_RENDER_SOLID_LINE_CPOLYLINE_COLOR(x)					(0x00000600+((x)*8))
-#define  NV01_RENDER_SOLID_LINE_CPOLYLINE_COLOR__SIZE					0x00000010
-#define  NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT(x)					(0x00000604+((x)*8))
-#define  NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT__SIZE					0x00000010
-#define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_X_SHIFT				0
-#define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_X_MASK					0x0000ffff
-#define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_Y_SHIFT				16
-#define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_Y_MASK					0xffff0000
-
-
-#define NV01_RENDER_SOLID_TRIANGLE							0x0000001d
-
-#define  NV01_RENDER_SOLID_TRIANGLE_NOP							0x00000100
-#define  NV01_RENDER_SOLID_TRIANGLE_NOTIFY						0x00000104
-#define  NV01_RENDER_SOLID_TRIANGLE_PATCH						0x0000010c
-#define  NV01_RENDER_SOLID_TRIANGLE_DMA_NOTIFY						0x00000180
-#define  NV01_RENDER_SOLID_TRIANGLE_CLIP_RECTANGLE					0x00000184
-#define  NV01_RENDER_SOLID_TRIANGLE_PATTERN						0x00000188
-#define  NV01_RENDER_SOLID_TRIANGLE_ROP							0x0000018c
-#define  NV01_RENDER_SOLID_TRIANGLE_BETA1						0x00000190
-#define  NV01_RENDER_SOLID_TRIANGLE_SURFACE						0x00000194
-#define  NV01_RENDER_SOLID_TRIANGLE_OPERATION						0x000002fc
-#define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY_AND				0x00000000
-#define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_ROP_AND					0x00000001
-#define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_BLEND_AND				0x00000002
-#define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY					0x00000003
-#define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY_PREMULT				0x00000004
-#define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_BLEND_PREMULT				0x00000005
-#define  NV01_RENDER_SOLID_TRIANGLE_COLOR_FORMAT					0x00000300
-#define  NV01_RENDER_SOLID_TRIANGLE_COLOR						0x00000304
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0					0x00000310
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_X_SHIFT				0
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_X_MASK				0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_Y_SHIFT				16
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_Y_MASK				0xffff0000
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1					0x00000314
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_X_SHIFT				0
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_X_MASK				0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_Y_SHIFT				16
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_Y_MASK				0xffff0000
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2					0x00000318
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_X_SHIFT				0
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_X_MASK				0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_Y_SHIFT				16
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_Y_MASK				0xffff0000
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT0_X					0x00000320
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT0_Y					0x00000324
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT1_X					0x00000328
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT1_Y					0x0000032c
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT2_X					0x00000330
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT2_Y					0x00000334
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH(x)						(0x00000400+((x)*4))
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH__SIZE					0x00000020
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_X_SHIFT					0
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_X_MASK					0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_Y_SHIFT					16
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_Y_MASK					0xffff0000
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_X(x)				(0x00000480+((x)*8))
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_X__SIZE				0x00000010
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_Y(x)				(0x00000484+((x)*8))
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_Y__SIZE				0x00000010
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_COLOR(x)					(0x00000500+((x)*16))
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_COLOR__SIZE				0x00000008
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0(x)					(0x00000504+((x)*16))
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0__SIZE				0x00000008
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_X_SHIFT				0
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_X_MASK				0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_Y_SHIFT				16
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_Y_MASK				0xffff0000
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1(x)					(0x00000508+((x)*16))
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1__SIZE				0x00000008
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_X_SHIFT				0
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_X_MASK				0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_Y_SHIFT				16
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_Y_MASK				0xffff0000
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2(x)					(0x0000050c+((x)*16))
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2__SIZE				0x00000008
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_X_SHIFT				0
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_X_MASK				0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_Y_SHIFT				16
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_Y_MASK				0xffff0000
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_COLOR(x)					(0x00000580+((x)*8))
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_COLOR__SIZE				0x00000010
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT(x)					(0x00000584+((x)*8))
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT__SIZE				0x00000010
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_X_SHIFT				0
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_X_MASK				0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_Y_SHIFT				16
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_Y_MASK				0xffff0000
-
-
-#define NV01_RENDER_SOLID_RECTANGLE							0x0000001e
-
-#define  NV01_RENDER_SOLID_RECTANGLE_NOP						0x00000100
-#define  NV01_RENDER_SOLID_RECTANGLE_NOTIFY						0x00000104
-#define  NV01_RENDER_SOLID_RECTANGLE_PATCH						0x0000010c
-#define  NV01_RENDER_SOLID_RECTANGLE_DMA_NOTIFY						0x00000180
-#define  NV01_RENDER_SOLID_RECTANGLE_CLIP_RECTANGLE					0x00000184
-#define  NV01_RENDER_SOLID_RECTANGLE_PATTERN						0x00000188
-#define  NV01_RENDER_SOLID_RECTANGLE_ROP						0x0000018c
-#define  NV01_RENDER_SOLID_RECTANGLE_BETA1						0x00000190
-#define  NV01_RENDER_SOLID_RECTANGLE_SURFACE						0x00000194
-#define  NV01_RENDER_SOLID_RECTANGLE_OPERATION						0x000002fc
-#define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY_AND				0x00000000
-#define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_ROP_AND					0x00000001
-#define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_BLEND_AND				0x00000002
-#define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY					0x00000003
-#define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY_PREMULT				0x00000004
-#define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_BLEND_PREMULT				0x00000005
-#define  NV01_RENDER_SOLID_RECTANGLE_COLOR_FORMAT					0x00000300
-#define  NV01_RENDER_SOLID_RECTANGLE_COLOR						0x00000304
-#define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT(x)					(0x00000400+((x)*8))
-#define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT__SIZE				0x00000010
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_X_SHIFT				0
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_X_MASK				0x0000ffff
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_Y_SHIFT				16
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_Y_MASK				0xffff0000
-#define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE(x)					(0x00000404+((x)*8))
-#define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE__SIZE				0x00000010
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_W_SHIFT				0
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_W_MASK				0x0000ffff
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_H_SHIFT				16
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_H_MASK				0xffff0000
-
-
-#define NV01_IMAGE_BLIT									0x0000001f
-
-#define  NV01_IMAGE_BLIT_NOP								0x00000100
-#define  NV01_IMAGE_BLIT_NOTIFY								0x00000104
-#define  NV01_IMAGE_BLIT_PATCH								0x0000010c
-#define  NV01_IMAGE_BLIT_DMA_NOTIFY							0x00000180
-#define  NV01_IMAGE_BLIT_COLOR_KEY							0x00000184
-#define  NV01_IMAGE_BLIT_CLIP_RECTANGLE							0x00000188
-#define  NV01_IMAGE_BLIT_PATTERN							0x0000018c
-#define  NV01_IMAGE_BLIT_ROP								0x00000190
-#define  NV01_IMAGE_BLIT_BETA1								0x00000194
-#define  NV01_IMAGE_BLIT_SURFACE							0x0000019c
-#define  NV01_IMAGE_BLIT_OPERATION							0x000002fc
-#define  NV01_IMAGE_BLIT_IMAGE_INPUT							0x00000204
-#define  NV01_IMAGE_BLIT_POINT_IN							0x00000300
-#define   NV01_IMAGE_BLIT_POINT_IN_X_SHIFT						0
-#define   NV01_IMAGE_BLIT_POINT_IN_X_MASK						0x0000ffff
-#define   NV01_IMAGE_BLIT_POINT_IN_Y_SHIFT						16
-#define   NV01_IMAGE_BLIT_POINT_IN_Y_MASK						0xffff0000
-#define  NV01_IMAGE_BLIT_POINT_OUT							0x00000304
-#define   NV01_IMAGE_BLIT_POINT_OUT_X_SHIFT						0
-#define   NV01_IMAGE_BLIT_POINT_OUT_X_MASK						0x0000ffff
-#define   NV01_IMAGE_BLIT_POINT_OUT_Y_SHIFT						16
-#define   NV01_IMAGE_BLIT_POINT_OUT_Y_MASK						0xffff0000
-#define  NV01_IMAGE_BLIT_SIZE								0x00000308
-#define   NV01_IMAGE_BLIT_SIZE_W_SHIFT							0
-#define   NV01_IMAGE_BLIT_SIZE_W_MASK							0x0000ffff
-#define   NV01_IMAGE_BLIT_SIZE_H_SHIFT							16
-#define   NV01_IMAGE_BLIT_SIZE_H_MASK							0xffff0000
-
-
-#define NV01_IMAGE_FROM_CPU								0x00000021
-
-#define  NV01_IMAGE_FROM_CPU_NOP							0x00000100
-#define  NV01_IMAGE_FROM_CPU_NOTIFY							0x00000104
-#define  NV01_IMAGE_FROM_CPU_PATCH							0x0000010c


Reply to: