Makefile.am             |    2 
 README.NV1              |   42 
 configure.ac            |   49 
 man/nouveau.man         |   27 
 src/Makefile.am         |   40 
 src/drmmode_display.c   |  850 ++--
 src/nouveau_bios.h      |  224 -
 src/nouveau_calc.c      |  612 ---
 src/nouveau_class.h     | 9024 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/nouveau_connector.h |   65 
 src/nouveau_crtc.h      |   91 
 src/nouveau_dri2.c      |  223 -
 src/nouveau_exa.c       |  440 --
 src/nouveau_hw.c        | 1018 -----
 src/nouveau_hw.h        |  337 -
 src/nouveau_local.h     |   26 
 src/nouveau_modeset.h   |   31 
 src/nouveau_ms.h        |  156 
 src/nouveau_output.h    |   69 
 src/nouveau_wfb.c       |   54 
 src/nouveau_xv.c        |  192 -
 src/nv04_exa.c          |   96 
 src/nv04_xv_blit.c      |   59 
 src/nv04_xv_ovl.c       |   30 
 src/nv10_exa.c          | 1398 +++----
 src/nv10_xv_ovl.c       |   32 
 src/nv30_exa.c          |  102 
 src/nv30_shaders.c      |   27 
 src/nv30_shaders.h      |    4 
 src/nv30_xv_tex.c       |   98 
 src/nv40_exa.c          |   78 
 src/nv40_xv_tex.c       |   83 
 src/nv50_accel.c        |  268 -
 src/nv50_connector.c    |  123 
 src/nv50_crtc.c         |  559 --
 src/nv50_cursor.c       |   77 
 src/nv50_dac.c          |  225 -
 src/nv50_display.c      |  150 
 src/nv50_exa.c          |  388 +-
 src/nv50_output.c       |  236 -
 src/nv50_randr.c        |  882 ----
 src/nv50_randr.h        |   41 
 src/nv50_sor.c          |  216 -
 src/nv50_texture.h      |   90 
 src/nv50_xv.c           |  221 -
 src/nv50reg.h           |  449 --
 src/nv_accel_common.c   |   48 
 src/nv_bios.c           | 4814 -------------------------
 src/nv_const.h          |   18 
 src/nv_crtc.c           | 1174 ------
 src/nv_cursor.c         |  211 -
 src/nv_dac.c            |  403 --
 src/nv_dma.c            |   37 
 src/nv_dma.h            |   10 
 src/nv_dri.c            |  376 --
 src/nv_dri.h            |   28 
 src/nv_dripriv.h        |   21 
 src/nv_driver.c         | 1683 +-------
 src/nv_hw.c             |  362 -
 src/nv_i2c.c            |  158 
 src/nv_include.h        |   17 
 src/nv_local.h          |   83 
 src/nv_output.c         | 1293 ------
 src/nv_pcicompat.h      |   52 
 src/nv_proto.h          |  136 
 src/nv_setup.c          |  711 ---
 src/nv_shadow.c         |    9 
 src/nv_type.h           |  276 -
 src/nvreg.h             |  503 --
 69 files changed, 11969 insertions(+), 19958 deletions(-)

New commits:
commit 4b8f1a082069a17555d4142003213cf83d4e5464
Author: Lubomir Rintel <lkund...@v3.sk>
Date:   Mon May 10 09:25:55 2010 +0200

    Handle startup without monitor attached more gracefully
    
    Refuse to configure a screen which has no valid modes. Otherwise X server
    would crash attempting to dereference to modes list later on.
    
    Signed-off-by: Ben Skeggs <bske...@redhat.com>

diff --git a/src/nv_driver.c b/src/nv_driver.c
index 795859f..f60b6d9 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -794,6 +794,10 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
                                                     pScrn->depth);
        }
 
+       /* No usable mode */
+       if (!pScrn->modes)
+               return FALSE;
+
        /* Set the current mode to the first in the list */
        pScrn->currentMode = pScrn->modes;
 

commit ac8f8d14a82ae8ba5b41fa88903edcad67f339c2
Author: Maarten Maathuis <madman2...@gmail.com>
Date:   Fri May 7 20:51:43 2010 +0200

    wfb: use 28 bits instead of 32 bits for multiply_factor optimisation
    
    - Avoiding division in a hot code path is noticable even on an otherwise 
idle
    computer, but it's subject to rounding errors. If anyone knows a corner case
    and has better ideas, don't hesitate to contact me. For the moment this 
should
    make the problem less likely to trigger.
    
    Signed-off-by: Maarten Maathuis <madman2...@gmail.com>

diff --git a/src/nouveau_wfb.c b/src/nouveau_wfb.c
index adee492..7575672 100644
--- a/src/nouveau_wfb.c
+++ b/src/nouveau_wfb.c
@@ -79,7 +79,7 @@ nouveau_wfb_rd_tiled(const void *ptr, int size) {
 
        offset -= wfb->base;
 
-       y = (offset * wfb->multiply_factor) >> 32;
+       y = (offset * wfb->multiply_factor) >> 36;
        x = offset - y * wfb->pitch;
 
        offset  = (x >> TP) + ((y >> TH) * wfb->horiz_tiles);
@@ -111,7 +111,7 @@ nouveau_wfb_wr_tiled(void *ptr, FbBits value, int size) {
 
        offset -= wfb->base;
 
-       y = (offset * wfb->multiply_factor) >> 32;
+       y = (offset * wfb->multiply_factor) >> 36;
        x = offset - y * wfb->pitch;
 
        offset  = (x >> TP) + ((y >> TH) * wfb->horiz_tiles);
@@ -175,7 +175,8 @@ nouveau_wfb_setup_wrap(ReadMemoryProcPtr *pRead, 
WriteMemoryProcPtr *pWrite,
                wfb->pitch = 0;
        } else {
                wfb->pitch = ppix->devKind;
-               wfb->multiply_factor = (0xFFFFFFFF / wfb->pitch) + 1;
+               /* 8192x8192x4 is 28 bits max, 64 - 28 == 36. */
+               wfb->multiply_factor = (((1ULL << 36) - 1) / wfb->pitch) + 1;
                wfb->tile_height = bo->tile_mode + 2;
                wfb->horiz_tiles = wfb->pitch / 64;
                have_tiled = 1;

commit 13c10430ba8f7b0edff3ad8aae4a97672eea4a8f
Author: Ben Skeggs <bske...@redhat.com>
Date:   Fri Apr 23 14:09:35 2010 +1000

    Bump version number to 0.0.16
    
    Forgotten when the ABI broke a while back..

diff --git a/configure.ac b/configure.ac
index 66a7d78..1c39923 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-nouveau],
-        0.0.15,
+        0.0.16,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-nouveau)
 

commit 6ff8ade0c7cd835b4172257ea310a8d88f28e757
Author: Ben Skeggs <bske...@redhat.com>
Date:   Fri Apr 16 16:09:51 2010 +1000

    Add uevent support
    
    When a hotplug event is received from the kernel we should notify the
    client side to reconfigure the display.
    
    Ported to nouveau from radeon driver, based on work by ajax in intel driver.

diff --git a/configure.ac b/configure.ac
index f5df8ad..66a7d78 100644
--- a/configure.ac
+++ b/configure.ac
@@ -81,6 +81,14 @@ sdkdir=$(pkg-config --variable=sdkdir xorg-server)
 # Checks for libraries.
 PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.10])
 
+PKG_CHECK_MODULES(LIBUDEV, [libudev], [LIBUDEV=yes], [LIBUDEV=no])
+if test "x$LIBUDEV" = xyes; then
+       AC_DEFINE(HAVE_LIBUDEV, 1, [libudev support])
+fi
+AM_CONDITIONAL(LIBUDEV, [ test "x$LIBUDEV" = "xyes" ] )
+AC_SUBST([LIBUDEV_CFLAGS])
+AC_SUBST([LIBUDEV_LIBS])
+
 # Checks for header files.
 AC_HEADER_STDC
 
diff --git a/src/Makefile.am b/src/Makefile.am
index b5d287e..9340c45 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -23,9 +23,10 @@
 # -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@ @LIBDRM_NOUVEAU_CFLAGS@
+AM_CFLAGS = @XORG_CFLAGS@ @LIBUDEV_CFLAGS@ @LIBDRM_NOUVEAU_CFLAGS@
 nouveau_drv_la_LTLIBRARIES = nouveau_drv.la
-nouveau_drv_la_LDFLAGS = -module -avoid-version @LIBDRM_NOUVEAU_LIBS@
+nouveau_drv_la_LDFLAGS = -module -avoid-version @LIBDRM_NOUVEAU_LIBS@ \
+                        @LIBUDEV_LIBS@
 nouveau_drv_ladir = @moduledir@/drivers
 
 nouveau_drv_la_SOURCES = \
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index df881da..7867ddb 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -38,12 +38,19 @@
 #include "X11/Xatom.h"
 
 #include <sys/ioctl.h>
+#ifdef HAVE_LIBUDEV
+#include "libudev.h"
+#endif
 
 typedef struct {
     int fd;
     uint32_t fb_id;
     drmModeResPtr mode_res;
     int cpp;
+#ifdef HAVE_LIBUDEV
+    struct udev_monitor *uevent_monitor;
+    InputHandlerProc uevent_handler;
+#endif
 } drmmode_rec, *drmmode_ptr;
 
 typedef struct {
@@ -1169,3 +1176,79 @@ drmmode_cursor_init(ScreenPtr pScreen)
        return xf86_cursors_init(pScreen, size, size, flags);
 }
 
+#ifdef HAVE_LIBUDEV
+static drmmode_ptr
+drmmode_from_scrn(ScrnInfoPtr scrn)
+{
+       xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
+       drmmode_crtc_private_ptr drmmode_crtc;
+
+       drmmode_crtc = xf86_config->crtc[0]->driver_private;
+       return drmmode_crtc->drmmode;
+}
+
+static void
+drmmode_handle_uevents(int fd, void *closure)
+{
+       ScrnInfoPtr scrn = closure;
+       drmmode_ptr drmmode = drmmode_from_scrn(scrn);
+       struct udev_device *dev;
+
+       dev = udev_monitor_receive_device(drmmode->uevent_monitor);
+       if (!dev)
+               return;
+
+       RRGetInfo(screenInfo.screens[scrn->scrnIndex], TRUE);
+       udev_device_unref(dev);
+}
+#endif
+
+void
+drmmode_uevent_init(ScrnInfoPtr scrn)
+{
+#ifdef HAVE_LIBUDEV
+       drmmode_ptr drmmode = drmmode_from_scrn(scrn);
+       struct udev *u;
+       struct udev_monitor *mon;
+
+       u = udev_new();
+       if (!u)
+               return;
+       mon = udev_monitor_new_from_netlink(u, "udev");
+       if (!mon) {
+               udev_unref(u);
+               return;
+       }
+
+       if (udev_monitor_filter_add_match_subsystem_devtype(mon,
+                                                           "drm",
+                                                           "drm_minor") < 0 ||
+           udev_monitor_enable_receiving(mon) < 0) {
+               udev_monitor_unref(mon);
+               udev_unref(u);
+               return;
+       }
+
+       drmmode->uevent_handler =
+               xf86AddGeneralHandler(udev_monitor_get_fd(mon),
+                                     drmmode_handle_uevents, scrn);
+
+       drmmode->uevent_monitor = mon;
+#endif
+}
+
+void
+drmmode_uevent_fini(ScrnInfoPtr scrn)
+{
+#ifdef HAVE_LIBUDEV
+       drmmode_ptr drmmode = drmmode_from_scrn(scrn);
+
+       if (drmmode->uevent_handler) {
+               struct udev *u = udev_monitor_get_udev(drmmode->uevent_monitor);
+               xf86RemoveGeneralHandler(drmmode->uevent_handler);
+
+               udev_monitor_unref(drmmode->uevent_monitor);
+               udev_unref(u);
+       }
+#endif
+}
diff --git a/src/nv_driver.c b/src/nv_driver.c
index 4b00e3d..795859f 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -411,6 +411,8 @@ NVCloseScreen(int scrnIndex, ScreenPtr pScreen)
        ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
        NVPtr pNv = NVPTR(pScrn);
 
+       drmmode_uevent_fini(pScrn);
+
        nouveau_dri2_fini(pScreen);
 
        if (pScrn->vtSema) {
@@ -1167,6 +1169,7 @@ NVScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, 
char **argv)
        if (serverGeneration == 1)
                xf86ShowUnusedOptions(pScrn->scrnIndex, pScrn->options);
 
+       drmmode_uevent_init(pScrn);
        return TRUE;
 }
 
diff --git a/src/nv_proto.h b/src/nv_proto.h
index 9534f4e..d6791ef 100644
--- a/src/nv_proto.h
+++ b/src/nv_proto.h
@@ -7,6 +7,8 @@ void drmmode_adjust_frame(ScrnInfoPtr pScrn, int x, int y, int 
flags);
 void drmmode_remove_fb(ScrnInfoPtr pScrn);
 Bool drmmode_cursor_init(ScreenPtr pScreen);
 void drmmode_fbcon_copy(ScreenPtr pScreen);
+void drmmode_uevent_init(ScrnInfoPtr);
+void drmmode_uevent_fini(ScrnInfoPtr);
 
 /* in nv_accel_common.c */
 Bool NVAccelCommonInit(ScrnInfoPtr pScrn);

commit 4063616938f76af8028491276039d422c0782b1b
Author: Ben Skeggs <bske...@redhat.com>
Date:   Fri Apr 9 20:43:51 2010 +1000

    Import latest nouveau_class.h from renouveau

diff --git a/src/Makefile.am b/src/Makefile.am
index f3c2c96..b5d287e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -29,7 +29,7 @@ nouveau_drv_la_LDFLAGS = -module -avoid-version 
@LIBDRM_NOUVEAU_LIBS@
 nouveau_drv_ladir = @moduledir@/drivers
 
 nouveau_drv_la_SOURCES = \
-                        nouveau_local.h \
+                        nouveau_class.h nouveau_local.h \
                         nouveau_exa.c nouveau_xv.c nouveau_dri2.c \
                         nouveau_wfb.c \
                         nv_accel_common.c \
diff --git a/src/nouveau_class.h b/src/nouveau_class.h
new file mode 100644
index 0000000..a701b9d
--- /dev/null
+++ b/src/nouveau_class.h
@@ -0,0 +1,9024 @@
+/*************************************************************************
+
+   Autogenerated file, do not edit !
+
+   This file was generated by renouveau-gen from renouveau.xml, the
+   XML database of nvidia objects and methods. renouveau-gen and
+   renouveau.xml can be found in CVS module renouveau of sourceforge.net
+   project nouveau:
+
+cvs -z3 -d:pserver:anonym...@nouveau.cvs.sourceforge.net:/cvsroot/nouveau co 
-P renouveau
+
+**************************************************************************
+
+   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 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 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 NV04_CONTEXT_COLOR_KEY                                                 
        0x00000057
+
+
+
+#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 NV04_RENDER_SOLID_LINE                                                 
        0x0000005c
+
+#define  NV04_RENDER_SOLID_LINE_BETA4                                          
        0x00000194
+#define  NV04_RENDER_SOLID_LINE_SURFACE                                        
                0x00000198
+
+
+#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 NV04_RENDER_SOLID_TRIANGLE                                             
        0x0000005d
+
+#define  NV04_RENDER_SOLID_TRIANGLE_BETA4                                      
        0x00000194
+#define  NV04_RENDER_SOLID_TRIANGLE_SURFACE                                    
        0x00000198
+
+
+#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 NV04_RENDER_SOLID_RECTANGLE                                            
        0x0000005e
+
+#define  NV04_RENDER_SOLID_RECTANGLE_BETA4                                     
        0x00000194
+#define  NV04_RENDER_SOLID_RECTANGLE_SURFACE                                   
        0x00000198
+
+
+#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_OPERATION_SRCCOPY_AND                                
                0x00000000
+#define   NV01_IMAGE_BLIT_OPERATION_ROP_AND                                    
        0x00000001
+#define   NV01_IMAGE_BLIT_OPERATION_BLEND_AND                                  
        0x00000002
+#define   NV01_IMAGE_BLIT_OPERATION_SRCCOPY                                    
        0x00000003
+#define   NV01_IMAGE_BLIT_OPERATION_SRCCOPY_PREMULT                            
        0x00000004
+#define   NV01_IMAGE_BLIT_OPERATION_BLEND_PREMULT                              
        0x00000005
+#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 NV04_IMAGE_BLIT                                                        
                0x0000005f
+
+#define  NV04_IMAGE_BLIT_ROP                                                   
        0x00000190
+#define  NV04_IMAGE_BLIT_BETA4                                                 
        0x00000198
+#define  NV04_IMAGE_BLIT_SURFACE                                               
        0x0000019c
+
+
+#define NV12_IMAGE_BLIT                                                        
                0x0000009f
+
+#define  NV12_IMAGE_BLIT_WAIT_FOR_IDLE                                         
        0x00000108
+
+
+#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
+#define  NV01_IMAGE_FROM_CPU_DMA_NOTIFY                                        
                0x00000180
+#define  NV01_IMAGE_FROM_CPU_COLOR_KEY                                         
        0x00000184
+#define  NV01_IMAGE_FROM_CPU_CLIP_RECTANGLE                                    
        0x00000188
+#define  NV01_IMAGE_FROM_CPU_PATTERN                                           
        0x0000018c
+#define  NV01_IMAGE_FROM_CPU_ROP                                               
        0x00000190
+#define  NV01_IMAGE_FROM_CPU_BETA1                                             
        0x00000194
+#define  NV01_IMAGE_FROM_CPU_SURFACE                                           
        0x00000198
+#define  NV01_IMAGE_FROM_CPU_OPERATION                                         
        0x000002fc
+#define   NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY_AND                            
        0x00000000
+#define   NV01_IMAGE_FROM_CPU_OPERATION_ROP_AND                                
                0x00000001
+#define   NV01_IMAGE_FROM_CPU_OPERATION_BLEND_AND                              
        0x00000002
+#define   NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY                                
                0x00000003
+#define   NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY_PREMULT                        
                0x00000004
+#define   NV01_IMAGE_FROM_CPU_OPERATION_BLEND_PREMULT                          
        0x00000005
+#define  NV01_IMAGE_FROM_CPU_COLOR_FORMAT                                      
        0x00000300
+#define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_Y8                                  
        0x00000001
+#define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_A1R5G5B5                            
        0x00000002
+#define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_X1R5G5B5                            
        0x00000003
+#define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_A8R8G8B8                            
        0x00000004
+#define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_X8R8G8B8                            
        0x00000005
+#define  NV01_IMAGE_FROM_CPU_POINT                                             
        0x00000304
+#define   NV01_IMAGE_FROM_CPU_POINT_X_SHIFT                                    
        0
+#define   NV01_IMAGE_FROM_CPU_POINT_X_MASK                                     
        0x0000ffff
+#define   NV01_IMAGE_FROM_CPU_POINT_Y_SHIFT                                    
        16
+#define   NV01_IMAGE_FROM_CPU_POINT_Y_MASK                                     
        0xffff0000
+#define  NV01_IMAGE_FROM_CPU_SIZE_OUT                                          
        0x00000308
+#define   NV01_IMAGE_FROM_CPU_SIZE_OUT_W_SHIFT                                 
        0
+#define   NV01_IMAGE_FROM_CPU_SIZE_OUT_W_MASK                                  
        0x0000ffff
+#define   NV01_IMAGE_FROM_CPU_SIZE_OUT_H_SHIFT                                 
        16
+#define   NV01_IMAGE_FROM_CPU_SIZE_OUT_H_MASK                                  
        0xffff0000
+#define  NV01_IMAGE_FROM_CPU_SIZE_IN                                           
        0x0000030c
+#define   NV01_IMAGE_FROM_CPU_SIZE_IN_W_SHIFT                                  
        0
+#define   NV01_IMAGE_FROM_CPU_SIZE_IN_W_MASK                                   
        0x0000ffff
+#define   NV01_IMAGE_FROM_CPU_SIZE_IN_H_SHIFT                                  
        16
+#define   NV01_IMAGE_FROM_CPU_SIZE_IN_H_MASK                                   
        0xffff0000
+#define  NV01_IMAGE_FROM_CPU_COLOR(x)                                          
        (0x00000400+((x)*4))
+#define  NV01_IMAGE_FROM_CPU_COLOR__SIZE                                       
        0x00000020
+
+
+#define NV04_IMAGE_FROM_CPU                                                    
        0x00000061
+
+#define  NV04_IMAGE_FROM_CPU_BETA4                                             
        0x00000198
+#define  NV04_IMAGE_FROM_CPU_SURFACE                                           
        0x0000019c
+
+
+#define NV05_IMAGE_FROM_CPU                                                    
        0x00000065
+
+#define  NV05_IMAGE_FROM_CPU_COLOR_CONVERSION                                  
        0x000002f8
+
+
+#define NV10_IMAGE_FROM_CPU                                                    
        0x0000008a
+
+#define  NV10_IMAGE_FROM_CPU_WAIT_FOR_IDLE                                     
        0x00000108
+
+
+#define NV30_IMAGE_FROM_CPU                                                    
        0x0000038a
+
+
+
+#define NV40_IMAGE_FROM_CPU                                                    
        0x0000308a
+
+
+
+#define NV01_NULL                                                              
        0x00000030
+
+
+
+#define NV03_STRETCHED_IMAGE_FROM_CPU                                          
        0x00000036
+
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_NOP                                     
        0x00000100
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_NOTIFY                                  
        0x00000104
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_PATCH                                   
        0x0000010c
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_DMA_NOTIFY                              
        0x00000180
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR_KEY                               
        0x00000184
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_PATTERN                                 
        0x00000188
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_ROP                                     
        0x0000018c
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_BETA1                                   
        0x00000190
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_SURFACE                                 
        0x00000194
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_OPERATION                               
        0x000002fc
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR_FORMAT                            
        0x00000300
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN                                 
        0x00000304
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_W_SHIFT                        
                0
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_W_MASK                         
        0x0000ffff
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_H_SHIFT                        
                16
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_H_MASK                         
        0xffff0000
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_DX_DU                                   
        0x00000308
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_DY_DV                                   
        0x0000030c
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT                              
        0x00000310
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_X_SHIFT                     
        0
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_X_MASK                      
        0x0000ffff
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_Y_SHIFT                     
        16
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_Y_MASK                      
        0xffff0000
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE                               
        0x00000314
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_W_SHIFT                      
        0
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_W_MASK                       
        0x0000ffff
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_H_SHIFT                      
        16
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_H_MASK                       
        0xffff0000
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4                               
        0x00000318
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_X_SHIFT                      
        0
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_X_MASK                       
        0x0000ffff
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_Y_SHIFT                      
        16
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_Y_MASK                       
        0xffff0000
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR(x)                                
                (0x00000400+((x)*4))
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR__SIZE                             
        0x00000020
+
+
+#define NV04_STRETCHED_IMAGE_FROM_CPU                                          
        0x00000076
+
+#define  NV04_STRETCHED_IMAGE_FROM_CPU_BETA4                                   
        0x00000194
+#define  NV04_STRETCHED_IMAGE_FROM_CPU_SURFACE                                 
        0x00000198
+
+
+#define NV05_STRETCHED_IMAGE_FROM_CPU                                          
        0x00000066
+
+#define  NV05_STRETCHED_IMAGE_FROM_CPU_COLOR_CONVERSION                        
                0x000002f8
+
+
+#define NV30_STRETCHED_IMAGE_FROM_CPU                                          
        0x00000366
+
+
+
+#define NV40_STRETCHED_IMAGE_FROM_CPU                                          
        0x00003066
+
+
+
+#define NV03_SCALED_IMAGE_FROM_MEMORY                                          
        0x00000037
+
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_NOP                                     
        0x00000100
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_NOTIFY                                  
        0x00000104
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_DMA_NOTIFY                              
        0x00000180
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_DMA_IMAGE                               
        0x00000184
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_PATTERN                                 
        0x00000188
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_ROP                                     
        0x0000018c
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_BETA1                                   
        0x00000190
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_SURFACE                                 
        0x00000194
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT                            
        0x00000300
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A1R5G5B5                  
        0x00000001
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X1R5G5B5                  
        0x00000002
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A8R8G8B8                  
        0x00000003
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X8R8G8B8                  
        0x00000004
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_V8YB8U8YA8                
                0x00000005
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_YB8V8YA8U8                
                0x00000006
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_R5G6B5                    
        0x00000007
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_Y8                        
                0x00000008
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_AY8                       
        0x00000009
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION                               
        0x00000304
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_AND                  
        0x00000000
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_ROP_AND                      
        0x00000001
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_AND                    
        0x00000002
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY                      
        0x00000003
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_PREMULT              
        0x00000004
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_PREMULT                
                0x00000005
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT                              
        0x00000308
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_SHIFT                     
        0
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_MASK                      
        0x0000ffff
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_SHIFT                     
        16
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_MASK                      
        0xffff0000
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE                               
        0x0000030c
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_SHIFT                      
        0
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_MASK                       
        0x0000ffff
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_SHIFT                      
        16
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_MASK                       
        0xffff0000
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT                               
        0x00000310
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_SHIFT                      
        0
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_MASK                       
        0x0000ffff
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_SHIFT                      
        16
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_MASK                       
        0xffff0000
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE                                
                0x00000314
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_SHIFT                       
        0
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_MASK                        
                0x0000ffff
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_SHIFT                       
        16
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_MASK                        
                0xffff0000
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_DU_DX                                   
        0x00000318
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_DV_DY                                   
        0x0000031c
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_SIZE                                    
        0x00000400
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_W_SHIFT                           
        0
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_W_MASK                            
        0x0000ffff
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_H_SHIFT                           
        16
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_H_MASK                            
        0xffff0000
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT                                  
        0x00000404
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_SHIFT                     
        0
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_MASK                      
        0x0000ffff
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_SHIFT                    
        16
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_MASK                     
        0x00ff0000
+#define    NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CENTER                  
        0x00010000
+#define    NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CORNER                  
        0x00020000
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_SHIFT                    
        24
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_MASK                     
        0xff000000
+#define    NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_POINT_SAMPLE            
        0x00000000
+#define    NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_BILINEAR                
                0x01000000
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_OFFSET                                  
        0x00000408
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_POINT                                   
        0x0000040c
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_POINT_U_SHIFT                          
        0
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_POINT_U_MASK                           
        0x0000ffff
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_POINT_V_SHIFT                          
        16
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_POINT_V_MASK                           
        0xffff0000
+
+
+#define NV04_SCALED_IMAGE_FROM_MEMORY                                          
        0x00000077
+
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_BETA4                                   
        0x00000194
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_SURFACE                                 
        0x00000198
+
+
+#define NV05_SCALED_IMAGE_FROM_MEMORY                                          
        0x00000063
+
+#define  NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION                        
                0x000002fc
+#define   NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_DITHER                
                0x00000000
+#define   NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_TRUNCATE              
        0x00000001
+#define   NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_SUBTR_TRUNCATE        
                0x00000002
+
+
+#define NV10_SCALED_IMAGE_FROM_MEMORY                                          
        0x00000089
+
+#define  NV10_SCALED_IMAGE_FROM_MEMORY_WAIT_FOR_IDLE                           
        0x00000108
+
+
+#define NV30_SCALED_IMAGE_FROM_MEMORY                                          
        0x00000389
+
+
+
+#define NV40_SCALED_IMAGE_FROM_MEMORY                                          
        0x00003089
+
+
+
+#define NV04_DVD_SUBPICTURE                                                    
        0x00000038
+


-- 
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/e1ofquj-0005s6...@alioth.debian.org

Reply via email to