configure.ac          |   15 
 man/nouveau.man       |    3 
 src/Makefile.am       |    3 
 src/drmmode_display.c |   42 -
 src/nouveau_class.h   |  975 ----------------------------------------
 src/nouveau_dri2.c    |   20 
 src/nouveau_exa.c     |   50 +-
 src/nouveau_local.h   |    3 
 src/nouveau_wfb.c     |    5 
 src/nouveau_xv.c      |   59 +-
 src/nv04_exa.c        |    8 
 src/nv04_xv_blit.c    |    2 
 src/nv10_exa.c        |    1 
 src/nv30_exa.c        |    1 
 src/nv30_shaders.c    |    1 
 src/nv30_xv_tex.c     |    1 
 src/nv40_exa.c        |    1 
 src/nv40_xv_tex.c     |    1 
 src/nv50_accel.c      |   41 -
 src/nv50_accel.h      |   12 
 src/nv50_defs.xml.h   |  144 +++++
 src/nv50_exa.c        |    5 
 src/nv50_xv.c         |  141 +++++
 src/nv_3ddefs.xml.h   |   93 +++
 src/nv_accel_common.c |   91 ++-
 src/nv_const.h        |    2 
 src/nv_dma.c          |   21 
 src/nv_driver.c       |   38 +
 src/nv_include.h      |    2 
 src/nv_object.xml.h   |  246 ++++++++++
 src/nv_proto.h        |   37 +
 src/nvc0_3d.xml.h     | 1093 +++++++++++++++++++++++++++++++++++++++++++++
 src/nvc0_accel.c      |  731 ++++++++++++++++++++++++++++++
 src/nvc0_accel.h      |   83 +++
 src/nvc0_exa.c        | 1204 ++++++++++++++++++++++++++++++++++++++++++++++++++
 src/nvc0_m2mf.xml.h   |  138 +++++
 src/nvc0_xv.c         |  427 +++++++++++++++++
 37 files changed, 4629 insertions(+), 1111 deletions(-)

New commits:
commit 92db2bc192a074d4b7fc3e9c16e9aa62a8deaeb6
Author: Christoph Bumiller <e0425...@student.tuwien.ac.at>
Date:   Thu Mar 3 22:17:23 2011 +0100

    nvc0/accel: allow nvc1,nvc3,nvc4 in 3D engine init and use 9097

diff --git a/src/nvc0_accel.c b/src/nvc0_accel.c
index aef8305..c37b30c 100644
--- a/src/nvc0_accel.c
+++ b/src/nvc0_accel.c
@@ -92,6 +92,9 @@ NVAccelInit3D_NVC0(ScrnInfoPtr pScrn)
 
        switch (pNv->dev->chipset) {
        case 0xc0:
+       case 0xc1:
+       case 0xc3:
+       case 0xc4:
                tclClass = 0x9097;
                break;
        default:

commit ace98a492353e6de712f4f717e6d3f562e3591f0
Author: Ben Skeggs <bske...@redhat.com>
Date:   Tue Mar 1 13:54:38 2011 +1000

    dri2: return an error rather than crashing if we can't allocate a buffer
    
    Signed-off-by: Ben Skeggs <bske...@redhat.com>

diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
index d5afa8a..1a68ed3 100644
--- a/src/nouveau_dri2.c
+++ b/src/nouveau_dri2.c
@@ -29,6 +29,7 @@ nouveau_dri2_create_buffer(DrawablePtr pDraw, unsigned int 
attachment,
        ScreenPtr pScreen = pDraw->pScreen;
        NVPtr pNv = NVPTR(xf86Screens[pScreen->myNum]);
        struct nouveau_dri2_buffer *nvbuf;
+       struct nouveau_pixmap *nvpix;
        PixmapPtr ppix;
 
        nvbuf = calloc(1, sizeof(*nvbuf));
@@ -70,7 +71,14 @@ nouveau_dri2_create_buffer(DrawablePtr pDraw, unsigned int 
attachment,
        nvbuf->base.flags = 0;
        nvbuf->ppix = ppix;
 
-       nouveau_bo_handle_get(nouveau_pixmap(ppix)->bo, &nvbuf->base.name);
+       nvpix = nouveau_pixmap(ppix);
+       if (!nvpix || !nvpix->bo ||
+           nouveau_bo_handle_get(nvpix->bo, &nvbuf->base.name)) {
+               pScreen->DestroyPixmap(nvbuf->ppix);
+               free(nvbuf);
+               return NULL;
+       }
+
        return &nvbuf->base;
 }
 

commit bc5dec2ca7ca7edc340a99bd73946e228117dfd8
Author: Ben Skeggs <bske...@redhat.com>
Date:   Thu Feb 24 15:15:00 2011 +1000

    dri2: disable page flipping if any crtc is rotated
    
    Signed-off-by: Ben Skeggs <bske...@redhat.com>

diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
index 45add0f..d5afa8a 100644
--- a/src/nouveau_dri2.c
+++ b/src/nouveau_dri2.c
@@ -134,7 +134,16 @@ static Bool
 can_exchange(DrawablePtr draw, PixmapPtr dst_pix, PixmapPtr src_pix)
 {
        ScrnInfoPtr scrn = xf86Screens[draw->pScreen->myNum];
+       xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
        NVPtr pNv = NVPTR(scrn);
+       int i;
+
+       for (i = 0; i < xf86_config->num_crtc; i++) {
+               xf86CrtcPtr crtc = xf86_config->crtc[i];
+               if (crtc->enabled && crtc->rotatedData)
+                       return FALSE;
+
+       }
 
        return (!nouveau_exa_pixmap_is_onscreen(dst_pix) ||
                (DRI2CanFlip(draw) && pNv->has_pageflip)) &&

commit c123618470b5ff32c6377a4cae0f148d4a518a5d
Author: Francesco Marella <francesco.mare...@gmail.com>
Date:   Thu Feb 17 03:48:16 2011 +0100

    Fix gcc 4.6.0 set but unused variable warnings
    
    Signed-off-by: Francesco Marella <fm...@paranoici.org>
    Signed-off-by: Ben Skeggs <bske...@redhat.com>

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index d14dd80..43a2672 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1158,7 +1158,6 @@ static const xf86CrtcConfigFuncsRec 
drmmode_xf86crtc_config_funcs = {
 
 Bool drmmode_pre_init(ScrnInfoPtr pScrn, int fd, int cpp)
 {
-       xf86CrtcConfigPtr   xf86_config;
        drmmode_ptr drmmode;
        int i;
 
@@ -1167,7 +1166,6 @@ Bool drmmode_pre_init(ScrnInfoPtr pScrn, int fd, int cpp)
        drmmode->fb_id = 0;
 
        xf86CrtcConfigInit(pScrn, &drmmode_xf86crtc_config_funcs);
-       xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
 
        drmmode->cpp = cpp;
        drmmode->mode_res = drmModeGetResources(drmmode->fd);
diff --git a/src/nv_driver.c b/src/nv_driver.c
index 7497d7c..f503c39 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -601,7 +601,7 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
        MessageType from;
        const char *reason;
        uint64_t v;
-       int ret, i;
+       int ret;
 
        if (flags & PROBE_DETECT) {
                EntityInfoPtr pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
@@ -609,7 +609,6 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
                if (!pEnt)
                        return FALSE;
 
-               i = pEnt->index;
                free(pEnt);
 
                return TRUE;

commit 3531b2aa13e9c78288d96fe5e1492f0b6e899b00
Author: Francesco Marella <francesco.mare...@gmail.com>
Date:   Thu Feb 17 03:47:46 2011 +0100

    Page flipping man page update
    
    Signed-off-by: Francesco Marella <fm...@paranoici.org>
    Signed-off-by: Ben Skeggs <bske...@redhat.com>

diff --git a/man/nouveau.man b/man/nouveau.man
index 39de690..dd9d938 100644
--- a/man/nouveau.man
+++ b/man/nouveau.man
@@ -90,6 +90,9 @@ For example:
 .B
 Option \*qZaphodHeads\*q \*qLVDS,VGA-0\*q
 will assign xrandr outputs LVDS and VGA-0 to this instance of the driver.
+.TP
+.BI "Option \*qPageFlip\*q \*q" boolean \*q
+Enable DRI2 page flipping. Default: on.
 .SH "SEE ALSO"
 __xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), 
Xserver(__appmansuffix__), X(__miscmansuffix__)
 .SH AUTHORS

commit 85a706df6f7986158c964e3afd0aa8e352ff5cea
Author: Francesco Marella <francesco.mare...@gmail.com>
Date:   Thu Feb 17 03:47:08 2011 +0100

    Update configure.ac with autoupdate
    
    Signed-off-by: Francesco Marella <fm...@paranoici.org>
    Signed-off-by: Ben Skeggs <bske...@redhat.com>

diff --git a/configure.ac b/configure.ac
index 676c2a4..6a143dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,11 +20,11 @@
 #
 # Process this file with autoconf to produce a configure script
 
-AC_PREREQ(2.57)
+AC_PREREQ([2.60])
 AC_INIT([xf86-video-nouveau],
-        0.0.16,
+        [0.0.16],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
-        xf86-video-nouveau)
+        [xf86-video-nouveau])
 
 AC_DEFINE_UNQUOTED([NV_MAJOR_VERSION],
                    [$(echo $PACKAGE_VERSION | sed -e 
's/^\([[0-9]]*\)\.[[0-9]]*\.[[0-9]]*/\1/')],
@@ -40,7 +40,7 @@ AC_DEFINE_UNQUOTED([NV_DRIVER_DATE],
                    [Driver date])
 
 AC_CONFIG_SRCDIR([Makefile.am])
-AM_CONFIG_HEADER([config.h])
+AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_AUX_DIR(.)
 
 AM_INIT_AUTOMAKE([dist-bzip2])
@@ -49,13 +49,13 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 # Checks for programs.
 AC_DISABLE_STATIC
-AC_PROG_LIBTOOL
+LT_INIT
 AC_PROG_CC
 
 AH_TOP([#include "xorg-server.h"])
 
 AC_ARG_WITH(xorg-module-dir,
-            AC_HELP_STRING([--with-xorg-module-dir=DIR],
+            AS_HELP_STRING([--with-xorg-module-dir=DIR],
                            [Default xorg module directory 
[[default=$libdir/xorg/modules]]]),
             [moduledir="$withval"],
             [moduledir="$libdir/xorg/modules"])
@@ -113,8 +113,9 @@ AC_SUBST([DRIVER_NAME])
 XORG_MANPAGE_SECTIONS
 XORG_RELEASE_VERSION
 
-AC_OUTPUT([
+AC_CONFIG_FILES([
        Makefile
        src/Makefile
        man/Makefile
 ])
+AC_OUTPUT

commit 42c16ff33dcca6cd9bae62fe0d71a40452e03581
Author: Ben Skeggs <bske...@redhat.com>
Date:   Wed Feb 16 13:51:54 2011 +1000

    nv50: attempt to allocate compressed Z buffers
    
    This should automagically fallback to the non-compressed version on kernels
    that don't support compression.
    
    Signed-off-by: Ben Skeggs <bske...@redhat.com>

diff --git a/src/nv_accel_common.c b/src/nv_accel_common.c
index ac4f628..735f47f 100644
--- a/src/nv_accel_common.c
+++ b/src/nv_accel_common.c
@@ -86,7 +86,7 @@ nouveau_allocate_surface(ScrnInfoPtr scrn, int width, int 
height, int bpp,
                                tile_mode = 0;
 
                        if (usage_hint & NOUVEAU_CREATE_PIXMAP_ZETA)
-                               tile_flags = 0x2800;
+                               tile_flags = 0x22800;
                        else if (usage_hint & NOUVEAU_CREATE_PIXMAP_SCANOUT)
                                tile_flags = (bpp == 16 ? 0x7000 : 0x7a00);
                        else

commit 46acb7e095e9c0d55b90070b77c64679fcfb9d4e
Author: Marcin Slusarz <marcin.slus...@gmail.com>
Date:   Sun Feb 13 20:46:42 2011 +0100

    fix drmSetMaster error reporting
    
    On error, drmSetMaster returns -1 and sets errno.
    
    Signed-off-by: Ben Skeggs <bske...@redhat.com>

diff --git a/src/nv_driver.c b/src/nv_driver.c
index 523cab8..7497d7c 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -334,7 +334,7 @@ NVEnterVT(int scrnIndex, int flags)
 
        ret = drmSetMaster(nouveau_device(pNv->dev)->fd);
        if (ret)
-               ErrorF("Unable to get master: %d\n", ret);
+               ErrorF("Unable to get master: %s\n", strerror(errno));
 
        if (!xf86SetDesiredModes(pScrn))
                return FALSE;

commit 54764980411b4b8124c36edb8730612b04f292a9
Author: Maarten Maathuis <madman2...@gmail.com>
Date:   Thu Feb 10 20:12:07 2011 +0100

    Also flush from the BlockHandler.
    
    - The fact that commit 02c50db307a4e4eeb87f7db5d401bc53cce3b21f
      fixed missing text for some people proves this is needed.
      That commit should have only improved latency a bit.
    - The FlushCallback is still needed for DRI2 texture_from_pixmap.
    - See bugs.fd.o #33977 for discussion.
    
    Signed-off-by: Maarten Maathuis <madman2...@gmail.com>
    Signed-off-by: Ben Skeggs <bske...@redhat.com>

diff --git a/src/nv_driver.c b/src/nv_driver.c
index 3e009fc..523cab8 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -384,15 +384,18 @@ NVBlockHandler (
 )
 {
        ScreenPtr pScreen = screenInfo.screens[i];
-       ScrnInfoPtr pScrnInfo = xf86Screens[i];
-       NVPtr pNv = NVPTR(pScrnInfo);
+       ScrnInfoPtr pScrn = xf86Screens[i];
+       NVPtr pNv = NVPTR(pScrn);
 
        pScreen->BlockHandler = pNv->BlockHandler;
        (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask);
        pScreen->BlockHandler = NVBlockHandler;
 
+       if (pScrn->vtSema && !pNv->NoAccel)
+               FIRE_RING (pNv->chan);
+
        if (pNv->VideoTimerCallback) 
-               (*pNv->VideoTimerCallback)(pScrnInfo, currentTime.milliseconds);
+               (*pNv->VideoTimerCallback)(pScrn, currentTime.milliseconds);
 }
 
 static Bool

commit 02c50db307a4e4eeb87f7db5d401bc53cce3b21f
Author: Maarten Maathuis <madman2...@gmail.com>
Date:   Mon Feb 7 19:37:47 2011 +0100

    exa: Flush (S)IFC to the frontbuffer immediately.
    
    This avoids high latency while typing with core fonts for example.
    
    Signed-off-by: Maarten Maathuis <madman2...@gmail.com>
    Signed-off-by: Ben Skeggs <bske...@redhat.com>

diff --git a/src/nv04_exa.c b/src/nv04_exa.c
index 267c7b5..2603bd4 100644
--- a/src/nv04_exa.c
+++ b/src/nv04_exa.c
@@ -340,6 +340,7 @@ NV04EXAUploadIFC(ScrnInfoPtr pScrn, const char *src, int 
src_pitch,
                 PixmapPtr pDst, int x, int y, int w, int h, int cpp)
 {
        NVPtr pNv = NVPTR(pScrn);
+       ScreenPtr pScreen = pDst->drawable.pScreen;
        struct nouveau_channel *chan = pNv->chan;
        struct nouveau_grobj *clip = pNv->NvClipRectangle;
        struct nouveau_grobj *ifc = pNv->NvImageFromCpu;
@@ -413,6 +414,9 @@ NV04EXAUploadIFC(ScrnInfoPtr pScrn, const char *src, int 
src_pitch,
        }
 
        chan->flush_notify = NULL;
+
+       if (pDst == pScreen->GetScreenPixmap(pScreen))
+               FIRE_RING(chan);
        return TRUE;
 }
 
diff --git a/src/nv50_exa.c b/src/nv50_exa.c
index e8ff5aa..85baa68 100644
--- a/src/nv50_exa.c
+++ b/src/nv50_exa.c
@@ -372,6 +372,7 @@ NV50EXAUploadSIFC(const char *src, int src_pitch,
                  PixmapPtr pdpix, int x, int y, int w, int h, int cpp)
 {
        NV50EXA_LOCALS(pdpix);
+       ScreenPtr pScreen = pdpix->drawable.pScreen;
        int line_dwords = (w * cpp + 3) / 4;
        uint32_t sifc_fmt;
 
@@ -428,6 +429,9 @@ NV50EXAUploadSIFC(const char *src, int src_pitch,
        }
 
        chan->flush_notify = NULL;
+
+       if (pdpix == pScreen->GetScreenPixmap(pScreen))
+               FIRE_RING(chan);
        return TRUE;
 }
 
diff --git a/src/nvc0_exa.c b/src/nvc0_exa.c
index 45647ce..85cb5d2 100644
--- a/src/nvc0_exa.c
+++ b/src/nvc0_exa.c
@@ -550,6 +550,7 @@ NVC0EXAUploadSIFC(const char *src, int src_pitch,
                  PixmapPtr pdpix, int x, int y, int w, int h, int cpp)
 {
        NVC0EXA_LOCALS(pdpix);
+       ScreenPtr pScreen = pdpix->drawable.pScreen;
        int line_dwords = (w * cpp + 3) / 4;
        uint32_t sifc_fmt;
 
@@ -608,6 +609,9 @@ NVC0EXAUploadSIFC(const char *src, int src_pitch,
        }
 
        chan->flush_notify = NULL;
+
+       if (pdpix == pScreen->GetScreenPixmap(pScreen))
+               FIRE_RING(chan);
        return TRUE;
 }
 

commit e4fb9fd2f790ed66e4be61ca00d55522525619f4
Author: Ben Skeggs <bske...@redhat.com>
Date:   Wed Feb 9 13:46:32 2011 +1000

    dri2: allow page flipping to be disabled in xorg.conf
    
    Signed-off-by: Ben Skeggs <bske...@redhat.com>

diff --git a/src/nv_const.h b/src/nv_const.h
index 01ffc2c..a27a951 100644
--- a/src/nv_const.h
+++ b/src/nv_const.h
@@ -14,6 +14,7 @@ typedef enum {
     OPTION_WFB,
     OPTION_GLX_VBLANK,
     OPTION_ZAPHOD_HEADS,
+    OPTION_PAGE_FLIP,
 } NVOpts;
 
 
@@ -26,6 +27,7 @@ static const OptionInfoRec NVOptions[] = {
     { OPTION_WFB,              "WrappedFB",    OPTV_BOOLEAN,   {0}, FALSE },
     { OPTION_GLX_VBLANK,       "GLXVBlank",    OPTV_BOOLEAN,   {0}, FALSE },
     { OPTION_ZAPHOD_HEADS,     "ZaphodHeads",  OPTV_STRING,    {0}, FALSE },
+    { OPTION_PAGE_FLIP,                "PageFlip",     OPTV_BOOLEAN,   {0}, 
FALSE },
     { -1,                       NULL,           OPTV_NONE,      {0}, FALSE }
 };
 
diff --git a/src/nv_driver.c b/src/nv_driver.c
index 5286ff4..3e009fc 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -596,6 +596,7 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
        struct nouveau_device *dev;
        NVPtr pNv;
        MessageType from;
+       const char *reason;
        uint64_t v;
        int ret, i;
 
@@ -812,14 +813,24 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
        }
 
 #ifdef NOUVEAU_GETPARAM_HAS_PAGEFLIP
+       reason = ": no kernel support";
+       from = X_DEFAULT;
+
        ret = nouveau_device_get_param(pNv->dev,
                                       NOUVEAU_GETPARAM_HAS_PAGEFLIP, &v);
-       if (!ret)
-               pNv->has_pageflip = v;
+       if (ret == 0 && v == 1) {
+               pNv->has_pageflip = TRUE;
+               if (xf86GetOptValBool(pNv->Options, OPTION_PAGE_FLIP, 
&pNv->has_pageflip))
+                       from = X_CONFIG;
+               reason = "";
+       }
 #else
-       (void)v;
+       reason = ": not available at build time";
 #endif
 
+       xf86DrvMsg(pScrn->scrnIndex, from, "Page flipping %sabled%s\n",
+                  pNv->has_pageflip ? "en" : "dis", reason);
+
        if(xf86GetOptValInteger(pNv->Options, OPTION_VIDEO_KEY, 
&(pNv->videoKey))) {
                xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 
0x%x\n",
                                        pNv->videoKey);

commit 38e8809bb415bae5c182fc79c8fc62992c5e4ed0
Author: Ben Skeggs <bske...@redhat.com>
Date:   Mon Jan 17 09:14:31 2011 +1000

    nvc0: merge initial acceleration support
    
    Squashed commit of the following:
    
    commit e8ce1ef351ee51bec51211dca6fda88fdbfbefee
    Author: Ben Skeggs <bske...@redhat.com>
    Date:   Mon Jan 17 08:55:04 2011 +1000
    
        fix hardcoding of nvc0 wfb path
    
    commit b414b1f948da18d96309bad84c54948d877efaa6
    Author: Ben Skeggs <bske...@redhat.com>
    Date:   Mon Jan 17 08:52:53 2011 +1000
    
        general tidy-ups in preparation for merge to master
    
    commit 73bf71d5de0cb990178a1d2a31e0ea1717c214a4
    Merge: fb499a4 b795ca6
    Author: Ben Skeggs <bske...@redhat.com>
    Date:   Mon Jan 17 08:47:40 2011 +1000
    
        Merge branch 'master' into nvc0
    
    commit fb499a4e9d95650dc89f4c1820b94d01344733f6
    Author: Ben Skeggs <bske...@redhat.com>
    Date:   Mon Dec 20 12:54:43 2010 +1000
    
        nvc0: switch to "standard" RING macros
    
    commit 64f0e1d0e9e29c5437ad4e52d01ccfb0b03a2ae9
    Merge: eba7e17 c2092a4
    Author: Ben Skeggs <bske...@redhat.com>
    Date:   Mon Dec 20 11:58:42 2010 +1000
    
        Merge branch 'master' into nvc0
    
        Conflicts:
                src/nv_dma.c
    
    commit eba7e173a5006ff50b950d0e8b8154564471a9ce
    Author: Ben Skeggs <bske...@redhat.com>
    Date:   Fri Dec 17 11:04:40 2010 +1000
    
        nvc0/xv: use mad in nv12 shader, rather than mul+add
    
        Signed-off-by: Ben Skeggs <bske...@redhat.com>
    
    commit b025ceb40a5e94a3657f3c7f76044c49a1a05e8d
    Author: Christoph Bumiller <e0425...@student.tuwien.ac.at>
    Date:   Thu Dec 16 23:34:29 2010 +0100
    
        nvc0: fix offset of 17bc buffer
    
        I had messed it up in 5e4da3451c3c0f645f98fea7fb0ce2629b1bfd2f.
    
    commit 6ff5a9a7f3411ef218f17fa481c583596ffde2cc
    Author: Christoph Bumiller <e0425...@student.tuwien.ac.at>
    Date:   Thu Dec 16 01:07:25 2010 +0100
    
        nvc0/xv: bind textures for the FP, not the TEP
    
    commit 5e4da3451c3c0f645f98fea7fb0ce2629b1bfd2f
    Author: Christoph Bumiller <e0425...@student.tuwien.ac.at>
    Date:   Thu Dec 16 01:02:58 2010 +0100
    
        nvc0: switch to rnn headers
    
    commit 0839041e79dbb0e629326d0f240220b33921db1a
    Author: Ben Skeggs <bske...@redhat.com>
    Date:   Wed Dec 15 16:42:41 2010 +1000
    
        nvc0/exa: fix m2mf dfs
    
    commit 88c1c43302331e1cb8b7035bfb4677a5e7da3090
    Author: Ben Skeggs <bske...@redhat.com>
    Date:   Mon Dec 13 12:00:23 2010 +1000
    
        nvc0: add Xv implementation
    
    commit ad5b4cfe388a102a0c93f7281cb4bba532b1796b
    Merge: 1942a81 b6cb21b
    Author: Ben Skeggs <bske...@redhat.com>
    Date:   Wed Dec 15 14:57:04 2010 +1000
    
        Merge branch 'master' into nvc0
    
    commit 1942a81c0eb592972d4a3e8c46b80192ae8d1a59
    Author: Ben Skeggs <bske...@redhat.com>
    Date:   Thu Dec 9 12:48:27 2010 +1000
    
        nvc0: call grobj_alloc for all used object classes
    
        Though the hardware has no concept of object handles any more, the 
nouveau
        DRM still uses this call to know what engines are in use.
    
    commit 0c670a6d406fe0a57373fa9e03005be6f28ecc3e
    Author: Ben Skeggs <bske...@redhat.com>
    Date:   Thu Dec 9 12:44:41 2010 +1000
    
        nvc0: don't try and create DmaNotifier0
    
    commit 5d3d20d908a50ad7742567d58969c7f12dd944f7
    Author: Christoph Bumiller <e0425...@student.tuwien.ac.at>
    Date:   Thu Dec 9 01:36:32 2010 +0100
    
        nvc0: change tile_mode to contain 0xZYX instead of 0xZY
    
        Warning: the kernel will not like that (EVO)
    
    commit dd7fd8263e0e9f92412fb20086e4c8acf8cab099
    Author: Christoph Bumiller <e0425...@student.tuwien.ac.at>
    Date:   Thu Dec 9 00:29:58 2010 +0100
    
        exa: don't fall back to nv04 m2mf if nvc0 m2mf fails
    
    commit b4cf5a8f2276392945c2530f0d6fe96b5ab4b5da
    Author: Christoph Bumiller <e0425...@student.tuwien.ac.at>
    Date:   Thu Dec 9 00:07:59 2010 +0100
    
        nvc0/exa: remove noisy debug messages
    
    commit 5419ef6d2cfabb7329982cb8dbdb5bbc8e973fe3
    Author: Christoph Bumiller <e0425...@student.tuwien.ac.at>
    Date:   Wed Dec 8 23:55:51 2010 +0100
    
        nvc0/accel: remove unneeded scratch method 0x3420 init
    
        It was intended be read by a MACRO method to get the address for
        constants upload.
    
    commit 178356391ff6831599eba257a5912079894641a1
    Merge: 8573280 8bb8231
    Author: Christoph Bumiller <e0425...@student.tuwien.ac.at>
    Date:   Thu Dec 9 01:31:40 2010 +0100
    
        Merge remote branch 'origin/master' into nvc0
    
        Conflicts:
                src/drmmode_display.c
                src/nouveau_exa.c
                src/nv_driver.c
                src/nv_type.h
    
    commit 8573280871401e29f27fa24d0b7c6ac5e35b2cc1
    Author: Christoph Bumiller <e0425...@student.tuwien.ac.at>
    Date:   Sat Jul 3 14:27:36 2010 +0200
    
        nvc0: initial implementation
    
        EXA should work, Xv not yet done.

diff --git a/src/Makefile.am b/src/Makefile.am
index 9340c45..e9e84ae 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -58,6 +58,9 @@ nouveau_drv_la_SOURCES = \
                         nv50_exa.c \
                         nv50_xv.c \
                         nv50_texture.h \
+                        nvc0_accel.c nvc0_accel.h \
+                        nvc0_exa.c \
+                        nvc0_xv.c \
                         drmmode_display.c \
                         vl_hwmc.c \
                         vl_hwmc.h
diff --git a/src/nouveau_class.h b/src/nouveau_class.h
index 5ce978a..5f4a829 100644
--- a/src/nouveau_class.h
+++ b/src/nouveau_class.h
@@ -735,44 +735,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
 #define  NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH                          
        0x0000023c
 
 
-#define NVC0_MEMORY_TO_MEMORY_FORMAT                                           
        0x00009039
-
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_NOP                                      
        0x00000100
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_SERIALIZE                                
                0x00000110
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_IN                           
        0x00000204
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_IN                          
        0x00000208
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_IN                         
        0x0000020c
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_IN                          
        0x00000210
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Z                     
        0x00000214
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_OUT                          
        0x00000220
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_OUT                         
        0x00000224
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_OUT                        
                0x00000228
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_OUT                         
        0x0000022c
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Z                    
        0x00000230
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH                          
        0x00000238
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_LOW                           
        0x0000023c
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC                                     
        0x00000300
-#define   NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_PUSH                               
        (1 <<  0)
-#define   NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_LINEAR_IN                          
        (1 <<  4)
-#define   NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_LINEAR_OUT                         
        (1 <<  8)
-#define   NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_NOTIFY                             
        (1 << 13)
-#define   NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_INC_SHIFT                          
        20
-#define   NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_INC_MASK                           
        0x00f00000
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_DATA                                     
        0x00000304
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_HIGH                           
        0x0000030c
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_LOW                            
        0x00000310
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_PITCH_IN                                 
        0x00000314
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT                                
                0x00000318
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN                           
        0x0000031c
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT                               
        0x00000320
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_NOTIFY_ADDRESS_HIGH                      
        0x0000032c
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_NOTIFY_ADDRESS_LOW                       
        0x00000330
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_NOTIFY                                   
        0x00000334
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X                     
        0x00000344
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y                     
        0x00000348
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X                    
        0x0000034c
-#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y                    
        0x00000350
-
 
 #define NV01_MEMORY_LOCAL_BANKED                                               
        0x0000003d
 
@@ -9112,938 +9074,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
 #define  NV50_COMPUTE_USER_PARAM__SIZE                                         
        0x00000040
 
 
-#define NVC0TCL                                                                
                0x00009097
-
-#define  NVC0TCL_SEMAPHORE_ADDRESS_HIGH                                        
                0x00000010
-#define  NVC0TCL_SEMAPHORE_ADDRESS_LOW                                         
        0x00000014
-#define  NVC0TCL_NOP                                                           
        0x00000100
-#define  NVC0TCL_NOTIFY_ADDRESS_HIGH                                           
        0x00000104
-#define  NVC0TCL_NOTIFY_ADDRESS_LOW                                            
        0x00000108
-#define  NVC0TCL_NOTIFY                                                        
                0x0000010c
-#define  NVC0TCL_SERIALIZE                                                     
        0x00000110
-#define  NVC0TCL_EARLY_FRAGMENT_TESTS                                          
        0x00000210
-#define  NVC0TCL_TESS_MODE                                                     
        0x00000320
-#define   NVC0TCL_TESS_MODE_PRIM_SHIFT                                         
        0
-#define   NVC0TCL_TESS_MODE_PRIM_MASK                                          
        0x0000000f
-#define    NVC0TCL_TESS_MODE_PRIM_ISOLINES                                     
        0x00000000
-#define    NVC0TCL_TESS_MODE_PRIM_TRIANGLES                                    
        0x00000001
-#define    NVC0TCL_TESS_MODE_PRIM_QUADS                                        
                0x00000002
-#define   NVC0TCL_TESS_MODE_SPACING_SHIFT                                      
        4
-#define   NVC0TCL_TESS_MODE_SPACING_MASK                                       
        0x000000f0
-#define    NVC0TCL_TESS_MODE_SPACING_EQUAL                                     
        0x00000000
-#define    NVC0TCL_TESS_MODE_SPACING_FRACTIONAL_ODD                            
        0x00000010
-#define    NVC0TCL_TESS_MODE_SPACING_FRACTIONAL_EVEN                           
        0x00000020
-#define   NVC0TCL_TESS_MODE_CW                                                 
        (1 <<  8)
-#define   NVC0TCL_TESS_MODE_CONNECTED                                          
        (1 <<  9)
-#define  NVC0TCL_TESS_LEVEL_OUTER(x)                                           
        (0x00000324+((x)*4))
-#define  NVC0TCL_TESS_LEVEL_OUTER__SIZE                                        
                0x00000004
-#define  NVC0TCL_TESS_LEVEL_INNER(x)                                           
        (0x00000334+((x)*4))
-#define  NVC0TCL_TESS_LEVEL_INNER__SIZE                                        
                0x00000002
-#define  NVC0TCL_RASTERIZE_ENABLE                                              
        0x0000037c
-#define  NVC0TCL_TFB_BUFFER_ENABLE(x)                                          
        (0x00000380+((x)*32))
-#define  NVC0TCL_TFB_BUFFER_ENABLE__SIZE                                       
        0x00000004
-#define  NVC0TCL_TFB_ADDRESS_HIGH(x)                                           
        (0x00000384+((x)*32))
-#define  NVC0TCL_TFB_ADDRESS_HIGH__SIZE                                        
                0x00000004
-#define  NVC0TCL_TFB_ADDRESS_LOW(x)                                            
        (0x00000388+((x)*32))
-#define  NVC0TCL_TFB_ADDRESS_LOW__SIZE                                         
        0x00000004
-#define  NVC0TCL_TFB_BUFFER_SIZE(x)                                            
        (0x0000038c+((x)*32))
-#define  NVC0TCL_TFB_BUFFER_SIZE__SIZE                                         
        0x00000004
-#define  NVC0TCL_TFB_PRIMITIVE_ID(x)                                           
        (0x00000390+((x)*32))
-#define  NVC0TCL_TFB_PRIMITIVE_ID__SIZE                                        
                0x00000004
-#define  NVC0TCL_TFB_UNK0700(x)                                                
                (0x00000700+((x)*16))
-#define  NVC0TCL_TFB_UNK0700__SIZE                                             
        0x00000004
-#define  NVC0TCL_TFB_VARYING_COUNT(x)                                          
        (0x00000704+((x)*16))
-#define  NVC0TCL_TFB_VARYING_COUNT__SIZE                                       
        0x00000004
-#define  NVC0TCL_TFB_BUFFER_STRIDE(x)                                          
        (0x00000708+((x)*16))
-#define  NVC0TCL_TFB_BUFFER_STRIDE__SIZE                                       
        0x00000004
-#define  NVC0TCL_TFB_ENABLE                                                    
        0x00000744
-#define  NVC0TCL_LOCAL_BASE                                                    
        0x0000077c
-#define  NVC0TCL_UNK0790_ADDRESS_HIGH                                          
        0x00000790
-#define  NVC0TCL_UNK0790_ADDRESS_LOW                                           
        0x00000794
-#define  NVC0TCL_RT_ADDRESS_HIGH(x)                                            
        (0x00000800+((x)*32))
-#define  NVC0TCL_RT_ADDRESS_HIGH__SIZE                                         
        0x00000008
-#define  NVC0TCL_RT_ADDRESS_LOW(x)                                             
        (0x00000804+((x)*32))
-#define  NVC0TCL_RT_ADDRESS_LOW__SIZE                                          
        0x00000008
-#define  NVC0TCL_RT_HORIZ(x)                                                   
        (0x00000808+((x)*32))
-#define  NVC0TCL_RT_HORIZ__SIZE                                                
                0x00000008
-#define  NVC0TCL_RT_VERT(x)                                                    
        (0x0000080c+((x)*32))
-#define  NVC0TCL_RT_VERT__SIZE                                                 
        0x00000008
-#define  NVC0TCL_RT_FORMAT(x)                                                  
        (0x00000810+((x)*32))
-#define  NVC0TCL_RT_FORMAT__SIZE                                               
        0x00000008
-#define   NVC0TCL_RT_FORMAT_R32G32B32A32_FLOAT                                 
        0x000000c0
-#define   NVC0TCL_RT_FORMAT_R32G32B32A32_SINT                                  
        0x000000c1
-#define   NVC0TCL_RT_FORMAT_R32G32B32A32_UINT                                  
        0x000000c2
-#define   NVC0TCL_RT_FORMAT_R32G32B32X32_FLOAT                                 
        0x000000c3
-#define   NVC0TCL_RT_FORMAT_R16G16B16A16_UNORM                                 
        0x000000c6
-#define   NVC0TCL_RT_FORMAT_R16G16B16A16_SNORM                                 
        0x000000c7
-#define   NVC0TCL_RT_FORMAT_R16G16B16A16_SINT                                  
        0x000000c8
-#define   NVC0TCL_RT_FORMAT_R16G16B16A16_UINT                                  
        0x000000c9
-#define   NVC0TCL_RT_FORMAT_R16G16B16A16_FLOAT                                 
        0x000000ca
-#define   NVC0TCL_RT_FORMAT_R32G32_FLOAT                                       
        0x000000cb
-#define   NVC0TCL_RT_FORMAT_R32G32_SINT                                        
                0x000000cc
-#define   NVC0TCL_RT_FORMAT_R32G32_UINT                                        
                0x000000cd
-#define   NVC0TCL_RT_FORMAT_R16G16B16X16_FLOAT                                 
        0x000000ce
-#define   NVC0TCL_RT_FORMAT_A8R8G8B8_UNORM                                     
        0x000000cf
-#define   NVC0TCL_RT_FORMAT_A8R8G8B8_SRGB                                      
        0x000000d0
-#define   NVC0TCL_RT_FORMAT_A2B10G10R10_UNORM                                  
        0x000000d1
-#define   NVC0TCL_RT_FORMAT_A2B10G10R10_UINT                                   
        0x000000d2
-#define   NVC0TCL_RT_FORMAT_A8B8G8R8_UNORM                                     
        0x000000d5
-#define   NVC0TCL_RT_FORMAT_A8B8G8R8_SRGB                                      
        0x000000d6
-#define   NVC0TCL_RT_FORMAT_A8B8G8R8_SNORM                                     
        0x000000d7
-#define   NVC0TCL_RT_FORMAT_A8B8G8R8_SINT                                      
        0x000000d8
-#define   NVC0TCL_RT_FORMAT_A8B8G8R8_UINT                                      
        0x000000d9
-#define   NVC0TCL_RT_FORMAT_R16G16_UNORM                                       
        0x000000da
-#define   NVC0TCL_RT_FORMAT_R16G16_SNORM                                       
        0x000000db
-#define   NVC0TCL_RT_FORMAT_R16G16_SINT                                        
                0x000000dc
-#define   NVC0TCL_RT_FORMAT_R16G16_UINT                                        
                0x000000dd
-#define   NVC0TCL_RT_FORMAT_R16G16_FLOAT                                       
        0x000000de
-#define   NVC0TCL_RT_FORMAT_A2R10G10B10_UNORM                                  
        0x000000df
-#define   NVC0TCL_RT_FORMAT_B10G11R11_FLOAT                                    
        0x000000e0
-#define   NVC0TCL_RT_FORMAT_R32_FLOAT                                          
        0x000000e5
-#define   NVC0TCL_RT_FORMAT_X8R8G8B8_UNORM                                     
        0x000000e6
-#define   NVC0TCL_RT_FORMAT_X8R8G8B8_SRGB                                      
        0x000000e7
-#define   NVC0TCL_RT_FORMAT_R5G6B5_UNORM                                       
        0x000000e8
-#define   NVC0TCL_RT_FORMAT_A1R5G5B5_UNORM                                     
        0x000000e9
-#define   NVC0TCL_RT_FORMAT_R8G8_UNORM                                         
        0x000000ea
-#define   NVC0TCL_RT_FORMAT_R8G8_SNORM                                         
        0x000000eb
-#define   NVC0TCL_RT_FORMAT_R8G8_SINT                                          
        0x000000ec
-#define   NVC0TCL_RT_FORMAT_R8G8_UINT                                          
        0x000000ed
-#define   NVC0TCL_RT_FORMAT_R16_UNORM                                          
        0x000000ee
-#define   NVC0TCL_RT_FORMAT_R16_SNORM                                          
        0x000000ef
-#define   NVC0TCL_RT_FORMAT_R16_SINT                                           
        0x000000f0
-#define   NVC0TCL_RT_FORMAT_R16_UINT                                           
        0x000000f1
-#define   NVC0TCL_RT_FORMAT_R16_FLOAT                                          
        0x000000f2
-#define   NVC0TCL_RT_FORMAT_R8_UNORM                                           
        0x000000f3
-#define   NVC0TCL_RT_FORMAT_R8_SNORM                                           
        0x000000f4
-#define   NVC0TCL_RT_FORMAT_R8_SINT                                            
        0x000000f5
-#define   NVC0TCL_RT_FORMAT_R8_UINT                                            
        0x000000f6
-#define   NVC0TCL_RT_FORMAT_A8_UNORM                                           
        0x000000f7
-#define   NVC0TCL_RT_FORMAT_X1R5G5B5_UNORM                                     
        0x000000f8
-#define   NVC0TCL_RT_FORMAT_X8B8G8R8_UNORM                                     
        0x000000f9
-#define   NVC0TCL_RT_FORMAT_X8B8G8R8_SRGB                                      
        0x000000fa
-#define  NVC0TCL_RT_TILE_MODE(x)                                               
        (0x00000814+((x)*32))
-#define  NVC0TCL_RT_TILE_MODE__SIZE                                            
        0x00000008
-#define  NVC0TCL_RT_ARRAY_MODE(x)                                              
        (0x00000818+((x)*32))
-#define  NVC0TCL_RT_ARRAY_MODE__SIZE                                           
        0x00000008
-#define   NVC0TCL_RT_ARRAY_MODE_LAYERS_SHIFT                                   
        0
-#define   NVC0TCL_RT_ARRAY_MODE_LAYERS_MASK                                    
        0x0000ffff
-#define   NVC0TCL_RT_ARRAY_MODE_VOLUME                                         
        (1 << 16)
-#define  NVC0TCL_RT_LAYER_STRIDE(x)                                            
        (0x0000081c+((x)*32))
-#define  NVC0TCL_RT_LAYER_STRIDE__SIZE                                         
        0x00000008
-#define  NVC0TCL_VIEWPORT_SCALE_X(x)                                           
        (0x00000a00+((x)*32))
-#define  NVC0TCL_VIEWPORT_SCALE_X__SIZE                                        
                0x00000010
-#define  NVC0TCL_VIEWPORT_SCALE_Y(x)                                           
        (0x00000a04+((x)*32))
-#define  NVC0TCL_VIEWPORT_SCALE_Y__SIZE                                        
                0x00000010
-#define  NVC0TCL_VIEWPORT_SCALE_Z(x)                                           
        (0x00000a08+((x)*32))
-#define  NVC0TCL_VIEWPORT_SCALE_Z__SIZE                                        
                0x00000010
-#define  NVC0TCL_VIEWPORT_TRANSLATE_X(x)                                       
        (0x00000a0c+((x)*32))
-#define  NVC0TCL_VIEWPORT_TRANSLATE_X__SIZE                                    
        0x00000010
-#define  NVC0TCL_VIEWPORT_TRANSLATE_Y(x)                                       
        (0x00000a10+((x)*32))
-#define  NVC0TCL_VIEWPORT_TRANSLATE_Y__SIZE                                    
        0x00000010
-#define  NVC0TCL_VIEWPORT_TRANSLATE_Z(x)                                       
        (0x00000a14+((x)*32))
-#define  NVC0TCL_VIEWPORT_TRANSLATE_Z__SIZE                                    
        0x00000010
-#define  NVC0TCL_VIEWPORT_HORIZ(x)                                             
        (0x00000c00+((x)*16))
-#define  NVC0TCL_VIEWPORT_HORIZ__SIZE                                          
        0x00000010
-#define   NVC0TCL_VIEWPORT_HORIZ_X_SHIFT                                       
        0
-#define   NVC0TCL_VIEWPORT_HORIZ_X_MASK                                        
                0x0000ffff
-#define   NVC0TCL_VIEWPORT_HORIZ_W_SHIFT                                       
        16
-#define   NVC0TCL_VIEWPORT_HORIZ_W_MASK                                        
                0xffff0000
-#define  NVC0TCL_VIEWPORT_VERT(x)                                              
        (0x00000c04+((x)*16))
-#define  NVC0TCL_VIEWPORT_VERT__SIZE                                           
        0x00000010
-#define   NVC0TCL_VIEWPORT_VERT_Y_SHIFT                                        
                0
-#define   NVC0TCL_VIEWPORT_VERT_Y_MASK                                         
        0x0000ffff
-#define   NVC0TCL_VIEWPORT_VERT_H_SHIFT                                        
                16
-#define   NVC0TCL_VIEWPORT_VERT_H_MASK                                         
        0xffff0000
-#define  NVC0TCL_DEPTH_RANGE_NEAR(x)                                           
        (0x00000c08+((x)*16))
-#define  NVC0TCL_DEPTH_RANGE_NEAR__SIZE                                        
                0x00000010
-#define  NVC0TCL_DEPTH_RANGE_FAR(x)                                            
        (0x00000c0c+((x)*16))
-#define  NVC0TCL_DEPTH_RANGE_FAR__SIZE                                         
        0x00000010
-#define  NVC0TCL_VIEWPORT_CLIP_HORIZ(x)                                        
                (0x00000d00+((x)*8))
-#define  NVC0TCL_VIEWPORT_CLIP_HORIZ__SIZE                                     
        0x00000008
-#define   NVC0TCL_VIEWPORT_CLIP_HORIZ_MIN_SHIFT                                
                0
-#define   NVC0TCL_VIEWPORT_CLIP_HORIZ_MIN_MASK                                 
        0x0000ffff
-#define   NVC0TCL_VIEWPORT_CLIP_HORIZ_MAX_SHIFT                                
                16
-#define   NVC0TCL_VIEWPORT_CLIP_HORIZ_MAX_MASK                                 
        0xffff0000
-#define  NVC0TCL_VIEWPORT_CLIP_VERT(x)                                         
        (0x00000d04+((x)*8))
-#define  NVC0TCL_VIEWPORT_CLIP_VERT__SIZE                                      
        0x00000008
-#define   NVC0TCL_VIEWPORT_CLIP_VERT_MIN_SHIFT                                 
        0
-#define   NVC0TCL_VIEWPORT_CLIP_VERT_MIN_MASK                                  
        0x0000ffff
-#define   NVC0TCL_VIEWPORT_CLIP_VERT_MAX_SHIFT                                 
        16
-#define   NVC0TCL_VIEWPORT_CLIP_VERT_MAX_MASK                                  
        0xffff0000
-#define  NVC0TCL_CLIPID_REGION_HORIZ(x)                                        
                (0x00000d40+((x)*8))
-#define  NVC0TCL_CLIPID_REGION_HORIZ__SIZE                                     
        0x00000004
-#define  NVC0TCL_CLIPID_REGION_VERT(x)                                         
        (0x00000d44+((x)*8))
-#define  NVC0TCL_CLIPID_REGION_VERT__SIZE                                      
        0x00000004
-#define  NVC0TCL_VERTEX_BUFFER_FIRST                                           
        0x00000d74
-#define  NVC0TCL_VERTEX_BUFFER_COUNT                                           
        0x00000d78
-#define  NVC0TCL_CLEAR_COLOR(x)                                                
                (0x00000d80+((x)*4))
-#define  NVC0TCL_CLEAR_COLOR__SIZE                                             
        0x00000004
-#define  NVC0TCL_CLEAR_DEPTH                                                   
        0x00000d90
-#define  NVC0TCL_STACK_ADDRESS_HIGH                                            
        0x00000d94
-#define  NVC0TCL_STACK_ADDRESS_LOW                                             
        0x00000d98
-#define  NVC0TCL_STACK_SIZE_LOG                                                
                0x00000d9c
-#define  NVC0TCL_CLEAR_STENCIL                                                 
        0x00000da0
-#define  NVC0TCL_POLYGON_SMOOTH_ENABLE                                         
        0x00000db4
-#define  NVC0TCL_POLYGON_OFFSET_POINT_ENABLE                                   
        0x00000dc0
-#define  NVC0TCL_POLYGON_OFFSET_LINE_ENABLE                                    
        0x00000dc4
-#define  NVC0TCL_POLYGON_OFFSET_FILL_ENABLE                                    
        0x00000dc8
-#define  NVC0TCL_PATCH_VERTICES                                                
                0x00000dcc
-#define  NVC0TCL_WATCHDOG_TIMER                                                
                0x00000de4
-#define  NVC0TCL_WINDOW_OFFSET_X                                               
        0x00000df8
-#define  NVC0TCL_WINDOW_OFFSET_Y                                               
        0x00000dfc
-#define  NVC0TCL_SCISSOR_ENABLE(x)                                             
        (0x00000e00+((x)*16))
-#define  NVC0TCL_SCISSOR_ENABLE__SIZE                                          
        0x00000010
-#define  NVC0TCL_SCISSOR_HORIZ(x)                                              
        (0x00000e04+((x)*16))
-#define  NVC0TCL_SCISSOR_HORIZ__SIZE                                           
        0x00000010
-#define   NVC0TCL_SCISSOR_HORIZ_MIN_SHIFT                                      
        0
-#define   NVC0TCL_SCISSOR_HORIZ_MIN_MASK                                       
        0x0000ffff
-#define   NVC0TCL_SCISSOR_HORIZ_MAX_SHIFT                                      
        16
-#define   NVC0TCL_SCISSOR_HORIZ_MAX_MASK                                       
        0xffff0000
-#define  NVC0TCL_SCISSOR_VERT(x)                                               
        (0x00000e08+((x)*16))
-#define  NVC0TCL_SCISSOR_VERT__SIZE                                            
        0x00000010
-#define   NVC0TCL_SCISSOR_VERT_MIN_SHIFT                                       
        0
-#define   NVC0TCL_SCISSOR_VERT_MIN_MASK                                        
                0x0000ffff
-#define   NVC0TCL_SCISSOR_VERT_MAX_SHIFT                                       
        16
-#define   NVC0TCL_SCISSOR_VERT_MAX_MASK                                        
                0xffff0000
-#define  NVC0TCL_LOCAL_WARPS_LOG_ALLOC                                         
        0x00000f44
-#define  NVC0TCL_LOCAL_WARPS_NO_CLAMP                                          
        0x00000f48
-#define  NVC0TCL_STACK_WARPS_LOG_ALLOC                                         
        0x00000f4c
-#define  NVC0TCL_STACK_WARPS_NO_CLAMP                                          
        0x00000f50
-#define  NVC0TCL_STENCIL_BACK_FUNC_REF                                         
        0x00000f54
-#define  NVC0TCL_STENCIL_BACK_MASK                                             
        0x00000f58
-#define  NVC0TCL_STENCIL_BACK_FUNC_MASK                                        
                0x00000f5c
-#define  NVC0TCL_VERTEX_RUNOUT_HIGH                                            
        0x00000f84
-#define  NVC0TCL_VERTEX_RUNOUT_LOW                                             
        0x00000f88
-#define  NVC0TCL_DEPTH_BOUNDS(x)                                               
        (0x00000f9c+((x)*4))
-#define  NVC0TCL_DEPTH_BOUNDS__SIZE                                            
        0x00000002
-#define  NVC0TCL_MSAA_MASK(x)                                                  
        (0x00000fbc+((x)*4))
-#define  NVC0TCL_MSAA_MASK__SIZE                                               
        0x00000004
-#define  NVC0TCL_CLIPID_ADDRESS_HIGH                                           
        0x00000fcc
-#define  NVC0TCL_CLIPID_ADDRESS_LOW                                            
        0x00000fd0
-#define  NVC0TCL_ZETA_ADDRESS_HIGH                                             
        0x00000fe0
-#define  NVC0TCL_ZETA_ADDRESS_LOW                                              
        0x00000fe4
-#define  NVC0TCL_ZETA_FORMAT                                                   
        0x00000fe8
-#define   NVC0TCL_ZETA_FORMAT_Z32_FLOAT                                        
                0x0000000a
-#define   NVC0TCL_ZETA_FORMAT_Z16_UNORM                                        
                0x00000013
-#define   NVC0TCL_ZETA_FORMAT_Z24S8_UNORM                                      
        0x00000014
-#define   NVC0TCL_ZETA_FORMAT_X8Z24_UNORM                                      
        0x00000015
-#define   NVC0TCL_ZETA_FORMAT_S8Z24_UNORM                                      
        0x00000016
-#define   NVC0TCL_ZETA_FORMAT_Z32_FLOAT_X24S8_UNORM                            
        0x00000019
-#define  NVC0TCL_ZETA_TILE_MODE                                                
                0x00000fec
-#define  NVC0TCL_ZETA_LAYER_STRIDE                                             
        0x00000ff0
-#define  NVC0TCL_SCREEN_SCISSOR_HORIZ                                          
        0x00000ff4
-#define   NVC0TCL_SCREEN_SCISSOR_HORIZ_W_SHIFT                                 
        16
-#define   NVC0TCL_SCREEN_SCISSOR_HORIZ_W_MASK                                  
        0xffff0000
-#define   NVC0TCL_SCREEN_SCISSOR_HORIZ_X_SHIFT                                 
        0
-#define   NVC0TCL_SCREEN_SCISSOR_HORIZ_X_MASK                                  
        0x0000ffff
-#define  NVC0TCL_SCREEN_SCISSOR_VERT                                           
        0x00000ff8
-#define   NVC0TCL_SCREEN_SCISSOR_VERT_H_SHIFT                                  
        16
-#define   NVC0TCL_SCREEN_SCISSOR_VERT_H_MASK                                   
        0xffff0000
-#define   NVC0TCL_SCREEN_SCISSOR_VERT_Y_SHIFT                                  
        0
-#define   NVC0TCL_SCREEN_SCISSOR_VERT_Y_MASK                                   
        0x0000ffff
-#define  NVC0TCL_VTX_ATTR_DEFINE                                               
        0x0000114c
-#define   NVC0TCL_VTX_ATTR_DEFINE_ATTR_SHIFT                                   
        0
-#define   NVC0TCL_VTX_ATTR_DEFINE_ATTR_MASK                                    
        0x0000003f
-#define   NVC0TCL_VTX_ATTR_DEFINE_COMP_SHIFT                                   
        8
-#define   NVC0TCL_VTX_ATTR_DEFINE_COMP_MASK                                    
        0x00000f00
-#define   NVC0TCL_VTX_ATTR_DEFINE_SIZE_SHIFT                                   
        12
-#define   NVC0TCL_VTX_ATTR_DEFINE_SIZE_MASK                                    
        0x0000f000
-#define   NVC0TCL_VTX_ATTR_DEFINE_TYPE_SHIFT                                   
        16
-#define   NVC0TCL_VTX_ATTR_DEFINE_TYPE_MASK                                    
        0x000f0000
-#define    NVC0TCL_VTX_ATTR_DEFINE_TYPE_FLOAT                                  
        0x00070000
-#define    NVC0TCL_VTX_ATTR_DEFINE_TYPE_UNORM                                  
        0x00010000
-#define    NVC0TCL_VTX_ATTR_DEFINE_TYPE_SNORM                                  
        0x00020000
-#define    NVC0TCL_VTX_ATTR_DEFINE_TYPE_USCALED                                
                0x00050000
-#define    NVC0TCL_VTX_ATTR_DEFINE_TYPE_SSCALED                                
                0x00060000
-#define    NVC0TCL_VTX_ATTR_DEFINE_TYPE_UINT                                   
        0x00040000
-#define    NVC0TCL_VTX_ATTR_DEFINE_TYPE_SINT                                   
        0x00030000
-#define  NVC0TCL_VTX_ATTR_DATA(x)                                              
        (0x00001150+((x)*4))
-#define  NVC0TCL_VTX_ATTR_DATA__SIZE                                           
        0x00000004
-#define  NVC0TCL_VERTEX_ATTRIB_FORMAT(x)                                       
        (0x00001160+((x)*4))
-#define  NVC0TCL_VERTEX_ATTRIB_FORMAT__SIZE                                    
        0x00000020
-#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_BUFFER_SHIFT                            
        0
-#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_BUFFER_MASK                             
        0x0000003f
-#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_CONST                                   
        (1 <<  6)
-#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_OFFSET_SHIFT                            
        7
-#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_OFFSET_MASK                             
        0x001fff80
-#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_SHIFT                            
        21
-#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_MASK                             
        0x07e00000
-#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32_32_32_32                     
        0x00200000
-#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32_32_32                        
                0x00400000
-#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16_16_16_16                     
        0x00600000
-#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32_32                           
        0x00800000
-#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16_16_16                        
                0x00a00000
-#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8_8_8_8                         
        0x01400000
-#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16_16                           
        0x01e00000
-#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32                              
        0x02400000
-#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8_8_8                           
        0x02600000
-#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8_8                             
        0x03000000
-#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16                              
        0x03600000
-#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8                               
        0x03a00000
-#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_2_10_10_10                      
        0x06000000
-#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_SHIFT                              
        27
-#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_MASK                               
        0x78000000
-#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_FLOAT                             
        0x38000000


-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/e1pvp8n-0007e4...@alioth.debian.org

Reply via email to