debian/changelog                                                     |   60 
 debian/control                                                       |    4 
 debian/copyright                                                     |   46 
 debian/libdrm-nouveau1.symbols                                       |    1 
 debian/libdrm-radeon1.symbols                                        |   37 
 debian/patches/02_fix_kms_detection_with_linux_backport_modules.diff |   33 
 debian/patches/03_update_nouveau_defines_1.diff                      | 1620 
++++
 debian/patches/04_update_nouveau_defines_2.diff                      | 4032 
++++++++++
 debian/patches/05_update_nouveau_defines_3.diff                      |  117 
 debian/patches/06_nouveau_free_objects_on_channel_close.diff         |   78 
 debian/patches/07_nouveau_fix_mem_leak_on_channel_free.diff          |   28 
 debian/patches/08_nouveau_no_flush_notify_on_channel_free.diff       |   22 
 debian/patches/series                                                |    7 
 debian/rules                                                         |   16 
 14 files changed, 6066 insertions(+), 35 deletions(-)

New commits:
commit 61adb70b692f3746c7386c93bb39dd87e3667d27
Author: Christopher James Halse Rogers <r...@ubuntu.com>
Date:   Mon Feb 1 14:38:30 2010 +1100

    Update libdrm-nouveau1.symbols for new symbol added in 
06_nouveau_free_objects_on_channel_close.

diff --git a/debian/changelog b/debian/changelog
index d5375a3..bf5d8e6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -23,6 +23,8 @@ libdrm (2.4.17-1ubuntu1) UNRELEASED; urgency=low
   * debian/patches/07_nouveau_fix_mem_leak_on_channel_free.diff:
     + Patches taken from git.  Fix a couple of memory leaks when freeing
       channels
+  * debian/libdrm-nouveau1.symbols:
+    + Add new symbol added in 06_nouveau_free_objects_on_channel_close.
   * debian/patches/08_nouveau_no_flush_notify_on_channel_free.diff:
     + Patch taken from git.  Avoid calling flush_notify when part of the 
       channel's context might be freed.
diff --git a/debian/libdrm-nouveau1.symbols b/debian/libdrm-nouveau1.symbols
index 58eab28..538e61e 100644
--- a/debian/libdrm-nouveau1.symbols
+++ b/debian/libdrm-nouveau1.symbols
@@ -48,6 +48,7 @@ libdrm_nouveau.so.1 libdrm-nouveau1 #MINVER#
  nouveau_notifier_sta...@base 2.4.4
  nouveau_notifier_wait_sta...@base 2.4.4
  nouveau_pushbuf_emit_re...@base 2.4.4
+ nouveau_pushbuf_f...@base 2.4.17-1ubuntu1~
  nouveau_pushbuf_fl...@base 2.4.4
  nouveau_pushbuf_i...@base 2.4.4
  nouveau_pushbuf_marker_e...@base 2.4.16

commit 0aeb2401c69f7c755e21d1e2ff75c7734c3ab719
Author: Christopher James Halse Rogers <r...@ubuntu.com>
Date:   Mon Feb 1 13:54:57 2010 +1100

    libdrm-nouveau: Pull some memory-leak fixes from git

diff --git a/debian/changelog b/debian/changelog
index 6905713..d5375a3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -17,8 +17,16 @@ libdrm (2.4.17-1ubuntu1) UNRELEASED; urgency=low
   * debian/patches/03_update_nouveau_defines_1.diff:
   * debian/patches/04_update_nouveau_defines_2.diff:
   * debian/patches/05_update_nouveau_defines_3.diff:
-    + Update #defines in nouveau headers to make allow recent DDXs to build.
-
+    + Patches taken from git.  Update #defines in nouveau headers to make allow
+      recent DDXs to build.
+  * debian/patches/06_nouveau_free_objects_on_channel_close.diff:
+  * debian/patches/07_nouveau_fix_mem_leak_on_channel_free.diff:
+    + Patches taken from git.  Fix a couple of memory leaks when freeing
+      channels
+  * debian/patches/08_nouveau_no_flush_notify_on_channel_free.diff:
+    + Patch taken from git.  Avoid calling flush_notify when part of the 
+      channel's context might be freed.
+  
  -- Christopher James Halse Rogers <r...@ubuntu.com>  Mon, 01 Feb 2010 
12:50:59 +1100
 
 libdrm (2.4.17-1) unstable; urgency=low
diff --git a/debian/patches/06_nouveau_free_objects_on_channel_close.diff 
b/debian/patches/06_nouveau_free_objects_on_channel_close.diff
new file mode 100644
index 0000000..3b847e7
--- /dev/null
+++ b/debian/patches/06_nouveau_free_objects_on_channel_close.diff
@@ -0,0 +1,78 @@
+commit cd2e4ba9aac65d10cf790990a8b86feed1cdd774
+Author: Younes Manton <youne...@gmail.com>
+Date:   Mon Dec 28 18:00:09 2009 -0500
+
+    nouveau: Unreference pushbuf objects on channel destruction.
+    
+    - unreference pushbuf objects on channel destruction
+    
+    Based on Krzysztof Smiechowicz's patch.
+
+diff --git a/nouveau/nouveau_channel.c b/nouveau/nouveau_channel.c
+index 674c5c3..638aee3 100644
+--- a/nouveau/nouveau_channel.c
++++ b/nouveau/nouveau_channel.c
+@@ -111,6 +111,7 @@ nouveau_channel_free(struct nouveau_channel **chan)
+ 
+       FIRE_RING(&nvchan->base);
+ 
++      nouveau_pushbuf_fini(&nvchan->base);
+       nouveau_bo_unmap(nvchan->notifier_bo);
+       nouveau_bo_ref(NULL, &nvchan->notifier_bo);
+ 
+diff --git a/nouveau/nouveau_private.h b/nouveau/nouveau_private.h
+index 784afc9..39758d1 100644
+--- a/nouveau/nouveau_private.h
++++ b/nouveau/nouveau_private.h
+@@ -64,6 +64,8 @@ struct nouveau_pushbuf_priv {
+ 
+ int
+ nouveau_pushbuf_init(struct nouveau_channel *);
++void
++nouveau_pushbuf_fini(struct nouveau_channel *);
+ 
+ struct nouveau_channel_priv {
+       struct nouveau_channel base;
+diff --git a/nouveau/nouveau_pushbuf.c b/nouveau/nouveau_pushbuf.c
+index b90e923..7da3a47 100644
+--- a/nouveau/nouveau_pushbuf.c
++++ b/nouveau/nouveau_pushbuf.c
+@@ -80,13 +80,13 @@ nouveau_pushbuf_space(struct nouveau_channel *chan, 
unsigned min)
+               nvpb->pushbuf = NULL;
+       }
+ 
+-      nvpb->size = min < PB_MIN_USER_DWORDS ? PB_MIN_USER_DWORDS : min;       
++      nvpb->size = min < PB_MIN_USER_DWORDS ? PB_MIN_USER_DWORDS : min;
+       nvpb->pushbuf = malloc(sizeof(uint32_t) * nvpb->size);
+ 
+       nvpb->base.channel = chan;
+       nvpb->base.remaining = nvpb->size;
+       nvpb->base.cur = nvpb->pushbuf;
+-      
++
+       return 0;
+ }
+ 
+@@ -165,11 +165,21 @@ nouveau_pushbuf_init(struct nouveau_channel *chan)
+                              sizeof(struct drm_nouveau_gem_pushbuf_bo));
+       nvpb->relocs = calloc(NOUVEAU_GEM_MAX_RELOCS,
+                             sizeof(struct drm_nouveau_gem_pushbuf_reloc));
+-      
++
+       chan->pushbuf = &nvpb->base;
+       return 0;
+ }
+ 
++void
++nouveau_pushbuf_fini(struct nouveau_channel *chan)
++{
++      struct nouveau_channel_priv *nvchan = nouveau_channel(chan);
++      struct nouveau_pushbuf_priv *nvpb = &nvchan->pb;
++      nouveau_pushbuf_fini_call(chan);
++      free(nvpb->buffers);
++      free(nvpb->relocs);
++}
++
+ int
+ nouveau_pushbuf_flush(struct nouveau_channel *chan, unsigned min)
+ {
diff --git a/debian/patches/07_nouveau_fix_mem_leak_on_channel_free.diff 
b/debian/patches/07_nouveau_fix_mem_leak_on_channel_free.diff
new file mode 100644
index 0000000..1f7dd1e
--- /dev/null
+++ b/debian/patches/07_nouveau_fix_mem_leak_on_channel_free.diff
@@ -0,0 +1,28 @@
+commit a03dcc21040775e660afcfc3dc37a324d2dd2ed3
+Author: Marcin Slusarz <marcin.slus...@gmail.com>
+Date:   Tue Jan 12 15:32:39 2010 +0100
+
+    nouveau: fix memory leak in nouveau_channel_free
+
+diff --git a/nouveau/nouveau_channel.c b/nouveau/nouveau_channel.c
+index 638aee3..14cf4c6 100644
+--- a/nouveau/nouveau_channel.c
++++ b/nouveau/nouveau_channel.c
+@@ -102,6 +102,7 @@ nouveau_channel_free(struct nouveau_channel **chan)
+       struct nouveau_channel_priv *nvchan;
+       struct nouveau_device_priv *nvdev;
+       struct drm_nouveau_channel_free cf;
++      int i;
+ 
+       if (!chan || !*chan)
+               return;
+@@ -115,6 +116,9 @@ nouveau_channel_free(struct nouveau_channel **chan)
+       nouveau_bo_unmap(nvchan->notifier_bo);
+       nouveau_bo_ref(NULL, &nvchan->notifier_bo);
+ 
++      for (i = 0; i < nvchan->drm.nr_subchan; i++)
++              free(nvchan->base.subc[i].gr);
++
+       nouveau_grobj_free(&nvchan->base.vram);
+       nouveau_grobj_free(&nvchan->base.gart);
+       nouveau_grobj_free(&nvchan->base.nullobj);
diff --git a/debian/patches/08_nouveau_no_flush_notify_on_channel_free.diff 
b/debian/patches/08_nouveau_no_flush_notify_on_channel_free.diff
new file mode 100644
index 0000000..0193c24
--- /dev/null
+++ b/debian/patches/08_nouveau_no_flush_notify_on_channel_free.diff
@@ -0,0 +1,22 @@
+commit 3d3d87f3a70089f645facb2bff5a0b93ec0a0efd
+Author: Marcin Slusarz <marcin.slus...@gmail.com>
+Date:   Tue Jan 12 15:38:29 2010 +0100
+
+    nouveau: disable flush_notify on channel_free
+    
+    We don't want do call flush_notify when we will FIRE the RING
+    a couple of lines later, because grobj bound to this channel
+    might be already freed.
+
+diff --git a/nouveau/nouveau_channel.c b/nouveau/nouveau_channel.c
+index 14cf4c6..01d6681 100644
+--- a/nouveau/nouveau_channel.c
++++ b/nouveau/nouveau_channel.c
+@@ -107,6 +107,7 @@ nouveau_channel_free(struct nouveau_channel **chan)
+       if (!chan || !*chan)
+               return;
+       nvchan = nouveau_channel(*chan);
++      (*chan)->flush_notify = NULL;
+       *chan = NULL;
+       nvdev = nouveau_device(nvchan->base.device);
+ 
diff --git a/debian/patches/series b/debian/patches/series
index b9bccd1..4950390 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,6 @@
 03_update_nouveau_defines_1.diff
 04_update_nouveau_defines_2.diff
 05_update_nouveau_defines_3.diff
+06_nouveau_free_objects_on_channel_close.diff
+07_nouveau_fix_mem_leak_on_channel_free.diff
+08_nouveau_no_flush_notify_on_channel_free.diff

commit a1fab2b3ac2e4455a0e6d8363fbb3919a3b207b3
Author: Christopher James Halse Rogers <r...@ubuntu.com>
Date:   Mon Feb 1 13:21:01 2010 +1100

    Backport a series of patches from libdrm git updating the #define names for 
nouveau, so recent DDXs can build

diff --git a/debian/changelog b/debian/changelog
index 1132fe5..6905713 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -14,6 +14,10 @@ libdrm (2.4.17-1ubuntu1) UNRELEASED; urgency=low
       /sys/.../drm/.  linux-backport-modules-nouveau has the drm module renamed
       to lbm_drm to avoid conflicts with other modules' drm.  This fixes
       drmCheckModesettingAvailable when using linux-backports-modules-nouveau.
+  * debian/patches/03_update_nouveau_defines_1.diff:
+  * debian/patches/04_update_nouveau_defines_2.diff:
+  * debian/patches/05_update_nouveau_defines_3.diff:
+    + Update #defines in nouveau headers to make allow recent DDXs to build.
 
  -- Christopher James Halse Rogers <r...@ubuntu.com>  Mon, 01 Feb 2010 
12:50:59 +1100
 
diff --git a/debian/patches/03_update_nouveau_defines_1.diff 
b/debian/patches/03_update_nouveau_defines_1.diff
new file mode 100644
index 0000000..6648590
--- /dev/null
+++ b/debian/patches/03_update_nouveau_defines_1.diff
@@ -0,0 +1,1620 @@
+commit 5fd00ddc9f35ac99c93a40d34a5d5019b91e8750
+Author: Marcin Koƛcielnicki <koria...@0x04.net>
+Date:   Tue Nov 24 17:23:54 2009 +0000
+
+    nouveau: Update nouveau_class.h with new renouveau.xml definitions.
+    
+    Signed-off-by: Francisco Jerez <curroje...@riseup.net>
+
+diff --git a/nouveau/nouveau_class.h b/nouveau/nouveau_class.h
+index 0b8a6f0..4342d5f 100644
+--- a/nouveau/nouveau_class.h
++++ b/nouveau/nouveau_class.h
+@@ -610,9 +610,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define  NV04_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT                              
        0x00000320
+ #define  NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT                                  
        0x00000324
+ #define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_SHIFT                 
        0
+-#define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_MASK                  
        0x0000000f
++#define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_MASK                  
        0x000000ff
+ #define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_SHIFT                
                8
+-#define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_MASK                 
        0x00000f00
++#define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_MASK                 
        0x0000ff00
+ #define  NV04_MEMORY_TO_MEMORY_FORMAT_BUF_NOTIFY                              
        0x00000328
+ 
+ 
+@@ -915,36 +915,36 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_MASK             
        0x000000ff
+ #define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_SHIFT           
        8
+ #define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_MASK            
        0xffffff00
+-#define  NV03_DX3_TEXTURED_TRIANGLE_SPECULAR(x)                               
                (0x00001000+((x)*32))
+-#define  NV03_DX3_TEXTURED_TRIANGLE_SPECULAR__SIZE                            
        0x00000040
+-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I0_SHIFT                        
                0
+-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I0_MASK                         
        0x0000000f
+-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I1_SHIFT                        
                4
+-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I1_MASK                         
        0x000000f0
+-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I2_SHIFT                        
                8
+-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I2_MASK                         
        0x00000f00
+-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I3_SHIFT                        
                12
+-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I3_MASK                         
        0x0000f000
+-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I4_SHIFT                        
                16
+-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I4_MASK                         
        0x000f0000
+-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I5_SHIFT                        
                20
+-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I5_MASK                         
        0x00f00000
+-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_FOG_SHIFT                       
                24
+-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_FOG_MASK                        
                0xff000000
+-#define  NV03_DX3_TEXTURED_TRIANGLE_COLOR(x)                                  
        (0x00001004+((x)*32))
+-#define  NV03_DX3_TEXTURED_TRIANGLE_COLOR__SIZE                               
                0x00000040
+-#define  NV03_DX3_TEXTURED_TRIANGLE_X(x)                                      
        (0x00001008+((x)*32))
+-#define  NV03_DX3_TEXTURED_TRIANGLE_X__SIZE                                   
        0x00000040
+-#define  NV03_DX3_TEXTURED_TRIANGLE_Y(x)                                      
        (0x0000100c+((x)*32))
+-#define  NV03_DX3_TEXTURED_TRIANGLE_Y__SIZE                                   
        0x00000040
+-#define  NV03_DX3_TEXTURED_TRIANGLE_Z(x)                                      
        (0x00001010+((x)*32))
+-#define  NV03_DX3_TEXTURED_TRIANGLE_Z__SIZE                                   
        0x00000040
+-#define  NV03_DX3_TEXTURED_TRIANGLE_M(x)                                      
        (0x00001014+((x)*32))
+-#define  NV03_DX3_TEXTURED_TRIANGLE_M__SIZE                                   
        0x00000040
+-#define  NV03_DX3_TEXTURED_TRIANGLE_U(x)                                      
        (0x00001018+((x)*32))
+-#define  NV03_DX3_TEXTURED_TRIANGLE_U__SIZE                                   
        0x00000040
+-#define  NV03_DX3_TEXTURED_TRIANGLE_V(x)                                      
        (0x0000101c+((x)*32))
+-#define  NV03_DX3_TEXTURED_TRIANGLE_V__SIZE                                   
        0x00000040
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(x)                      
        (0x00001000+((x)*32))
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR__SIZE                   
        0x00000080
++#define   NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I0_SHIFT               
                0
++#define   NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I0_MASK                
                0x0000000f
++#define   NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I1_SHIFT               
                4
++#define   NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I1_MASK                
                0x000000f0
++#define   NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I2_SHIFT               
                8
++#define   NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I2_MASK                
                0x00000f00
++#define   NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I3_SHIFT               
                12
++#define   NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I3_MASK                
                0x0000f000
++#define   NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I4_SHIFT               
                16
++#define   NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I4_MASK                
                0x000f0000
++#define   NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I5_SHIFT               
                20
++#define   NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I5_MASK                
                0x00f00000
++#define   NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_SHIFT              
        24
++#define   NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_MASK               
                0xff000000
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_COLOR(x)                         
        (0x00001004+((x)*32))
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_COLOR__SIZE                      
        0x00000080
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SX(x)                            
        (0x00001008+((x)*32))
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SX__SIZE                         
        0x00000080
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SY(x)                            
        (0x0000100c+((x)*32))
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SY__SIZE                         
        0x00000080
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SZ(x)                            
        (0x00001010+((x)*32))
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_SZ__SIZE                         
        0x00000080
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_RHW(x)                           
        (0x00001014+((x)*32))
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_RHW__SIZE                        
                0x00000080
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_TU(x)                            
        (0x00001018+((x)*32))
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_TU__SIZE                         
        0x00000080
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_TV(x)                            
        (0x0000101c+((x)*32))
++#define  NV03_DX3_TEXTURED_TRIANGLE_TLVERTEX_TV__SIZE                         
        0x00000080
+ 
+ 
+ #define NV04_GDI_RECTANGLE_TEXT                                               
                0x0000004a
+@@ -2525,7 +2525,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV10TCL_ALPHA_FUNC_FUNC_EQUAL                                       
                0x00000202
+ #define   NV10TCL_ALPHA_FUNC_FUNC_LEQUAL                                      
        0x00000203
+ #define   NV10TCL_ALPHA_FUNC_FUNC_GREATER                                     
        0x00000204
+-#define   NV10TCL_ALPHA_FUNC_FUNC_GREATER                                     
        0x00000204
+ #define   NV10TCL_ALPHA_FUNC_FUNC_NOTEQUAL                                    
        0x00000205
+ #define   NV10TCL_ALPHA_FUNC_FUNC_GEQUAL                                      
        0x00000206
+ #define   NV10TCL_ALPHA_FUNC_FUNC_ALWAYS                                      
        0x00000207
+@@ -2583,7 +2582,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV10TCL_DEPTH_FUNC_EQUAL                                            
        0x00000202
+ #define   NV10TCL_DEPTH_FUNC_LEQUAL                                           
        0x00000203
+ #define   NV10TCL_DEPTH_FUNC_GREATER                                          
        0x00000204
+-#define   NV10TCL_DEPTH_FUNC_GREATER                                          
        0x00000204
+ #define   NV10TCL_DEPTH_FUNC_NOTEQUAL                                         
        0x00000205
+ #define   NV10TCL_DEPTH_FUNC_GEQUAL                                           
        0x00000206
+ #define   NV10TCL_DEPTH_FUNC_ALWAYS                                           
        0x00000207
+@@ -2600,7 +2598,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV10TCL_STENCIL_FUNC_FUNC_EQUAL                                     
        0x00000202
+ #define   NV10TCL_STENCIL_FUNC_FUNC_LEQUAL                                    
        0x00000203
+ #define   NV10TCL_STENCIL_FUNC_FUNC_GREATER                                   
        0x00000204
+-#define   NV10TCL_STENCIL_FUNC_FUNC_GREATER                                   
        0x00000204
+ #define   NV10TCL_STENCIL_FUNC_FUNC_NOTEQUAL                                  
        0x00000205
+ #define   NV10TCL_STENCIL_FUNC_FUNC_GEQUAL                                    
        0x00000206
+ #define   NV10TCL_STENCIL_FUNC_FUNC_ALWAYS                                    
        0x00000207
+@@ -3749,7 +3746,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV20TCL_ALPHA_FUNC_FUNC_EQUAL                                       
                0x00000202
+ #define   NV20TCL_ALPHA_FUNC_FUNC_LEQUAL                                      
        0x00000203
+ #define   NV20TCL_ALPHA_FUNC_FUNC_GREATER                                     
        0x00000204
+-#define   NV20TCL_ALPHA_FUNC_FUNC_GREATER                                     
        0x00000204
+ #define   NV20TCL_ALPHA_FUNC_FUNC_NOTEQUAL                                    
        0x00000205
+ #define   NV20TCL_ALPHA_FUNC_FUNC_GEQUAL                                      
        0x00000206
+ #define   NV20TCL_ALPHA_FUNC_FUNC_ALWAYS                                      
        0x00000207
+@@ -3807,7 +3803,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV20TCL_DEPTH_FUNC_EQUAL                                            
        0x00000202
+ #define   NV20TCL_DEPTH_FUNC_LEQUAL                                           
        0x00000203
+ #define   NV20TCL_DEPTH_FUNC_GREATER                                          
        0x00000204
+-#define   NV20TCL_DEPTH_FUNC_GREATER                                          
        0x00000204
+ #define   NV20TCL_DEPTH_FUNC_NOTEQUAL                                         
        0x00000205
+ #define   NV20TCL_DEPTH_FUNC_GEQUAL                                           
        0x00000206
+ #define   NV20TCL_DEPTH_FUNC_ALWAYS                                           
        0x00000207
+@@ -3824,7 +3819,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV20TCL_STENCIL_FUNC_FUNC_EQUAL                                     
        0x00000202
+ #define   NV20TCL_STENCIL_FUNC_FUNC_LEQUAL                                    
        0x00000203
+ #define   NV20TCL_STENCIL_FUNC_FUNC_GREATER                                   
        0x00000204
+-#define   NV20TCL_STENCIL_FUNC_FUNC_GREATER                                   
        0x00000204
+ #define   NV20TCL_STENCIL_FUNC_FUNC_NOTEQUAL                                  
        0x00000205
+ #define   NV20TCL_STENCIL_FUNC_FUNC_GEQUAL                                    
        0x00000206
+ #define   NV20TCL_STENCIL_FUNC_FUNC_ALWAYS                                    
        0x00000207
+@@ -4997,7 +4991,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV34TCL_ALPHA_FUNC_FUNC_EQUAL                                       
                0x00000202
+ #define   NV34TCL_ALPHA_FUNC_FUNC_LEQUAL                                      
        0x00000203
+ #define   NV34TCL_ALPHA_FUNC_FUNC_GREATER                                     
        0x00000204
+-#define   NV34TCL_ALPHA_FUNC_FUNC_GREATER                                     
        0x00000204
+ #define   NV34TCL_ALPHA_FUNC_FUNC_NOTEQUAL                                    
        0x00000205
+ #define   NV34TCL_ALPHA_FUNC_FUNC_GEQUAL                                      
        0x00000206
+ #define   NV34TCL_ALPHA_FUNC_FUNC_ALWAYS                                      
        0x00000207
+@@ -5105,7 +5098,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_EQUAL                                
                0x00000202
+ #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL                               
                0x00000203
+ #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_GREATER                              
        0x00000204
+-#define   NV34TCL_STENCIL_BACK_FUNC_FUNC_GREATER                              
        0x00000204
+ #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                             
        0x00000205
+ #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL                               
                0x00000206
+ #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS                               
                0x00000207
+@@ -5146,7 +5138,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL                               
                0x00000202
+ #define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL                              
        0x00000203
+ #define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                             
        0x00000204
+-#define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                             
        0x00000204
+ #define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                            
        0x00000205
+ #define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL                              
        0x00000206
+ #define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS                              
        0x00000207
+@@ -5952,7 +5943,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV34TCL_DEPTH_FUNC_EQUAL                                            
        0x00000202
+ #define   NV34TCL_DEPTH_FUNC_LEQUAL                                           
        0x00000203
+ #define   NV34TCL_DEPTH_FUNC_GREATER                                          
        0x00000204
+-#define   NV34TCL_DEPTH_FUNC_GREATER                                          
        0x00000204
+ #define   NV34TCL_DEPTH_FUNC_NOTEQUAL                                         
        0x00000205
+ #define   NV34TCL_DEPTH_FUNC_GEQUAL                                           
        0x00000206
+ #define   NV34TCL_DEPTH_FUNC_ALWAYS                                           
        0x00000207
+@@ -6613,7 +6603,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV40TCL_ALPHA_TEST_FUNC_EQUAL                                       
                0x00000202
+ #define   NV40TCL_ALPHA_TEST_FUNC_LEQUAL                                      
        0x00000203
+ #define   NV40TCL_ALPHA_TEST_FUNC_GREATER                                     
        0x00000204
+-#define   NV40TCL_ALPHA_TEST_FUNC_GREATER                                     
        0x00000204
+ #define   NV40TCL_ALPHA_TEST_FUNC_NOTEQUAL                                    
        0x00000205
+ #define   NV40TCL_ALPHA_TEST_FUNC_GEQUAL                                      
        0x00000206
+ #define   NV40TCL_ALPHA_TEST_FUNC_ALWAYS                                      
        0x00000207
+@@ -6730,7 +6719,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL                               
                0x00000202
+ #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL                              
        0x00000203
+ #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                             
        0x00000204
+-#define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                             
        0x00000204
+ #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                            
        0x00000205
+ #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL                              
        0x00000206
+ #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS                              
        0x00000207
+@@ -6771,7 +6759,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_EQUAL                                
                0x00000202
+ #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL                               
                0x00000203
+ #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_GREATER                              
        0x00000204
+-#define   NV40TCL_STENCIL_BACK_FUNC_FUNC_GREATER                              
        0x00000204
+ #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                             
        0x00000205
+ #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL                               
                0x00000206
+ #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS                               
                0x00000207
+@@ -6894,7 +6881,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define   NV40TCL_DEPTH_FUNC_EQUAL                                            
        0x00000202
+ #define   NV40TCL_DEPTH_FUNC_LEQUAL                                           
        0x00000203
+ #define   NV40TCL_DEPTH_FUNC_GREATER                                          
        0x00000204
+-#define   NV40TCL_DEPTH_FUNC_GREATER                                          
        0x00000204
+ #define   NV40TCL_DEPTH_FUNC_NOTEQUAL                                         
        0x00000205
+ #define   NV40TCL_DEPTH_FUNC_GEQUAL                                           
        0x00000206
+ #define   NV40TCL_DEPTH_FUNC_ALWAYS                                           
        0x00000207
+@@ -7312,41 +7298,65 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define  NV50_2D_NOP                                                          
        0x00000100
+ #define  NV50_2D_NOTIFY                                                       
                0x00000104
+ #define  NV50_2D_DMA_NOTIFY                                                   
        0x00000180
+-#define  NV50_2D_DMA_IN_MEMORY0                                               
                0x00000184
+-#define  NV50_2D_DMA_IN_MEMORY1                                               
                0x00000188
+-#define  NV50_2D_DMA_IN_MEMORY2                                               
                0x0000018c
++#define  NV50_2D_DMA_DST                                                      
        0x00000184
++#define  NV50_2D_DMA_SRC                                                      
        0x00000188
++#define  NV50_2D_DMA_COND                                                     
        0x0000018c
+ #define  NV50_2D_DST_FORMAT                                                   
        0x00000200
+ #define   NV50_2D_DST_FORMAT_R32G32B32A32_FLOAT                               
                0x000000c0
+-#define   NV50_2D_DST_FORMAT_R32G32B32_FLOAT                                  
        0x000000c3
++#define   NV50_2D_DST_FORMAT_R32G32B32A32_SINT                                
                0x000000c1
++#define   NV50_2D_DST_FORMAT_R32G32B32A32_UINT                                
                0x000000c2
++#define   NV50_2D_DST_FORMAT_R32G32B32X32_FLOAT                               
                0x000000c3
+ #define   NV50_2D_DST_FORMAT_R16G16B16A16_UNORM                               
                0x000000c6
+ #define   NV50_2D_DST_FORMAT_R16G16B16A16_SNORM                               
                0x000000c7
++#define   NV50_2D_DST_FORMAT_R16G16B16A16_SINT                                
                0x000000c8
++#define   NV50_2D_DST_FORMAT_R16G16B16A16_UINT                                
                0x000000c9
+ #define   NV50_2D_DST_FORMAT_R16G16B16A16_FLOAT                               
                0x000000ca
+ #define   NV50_2D_DST_FORMAT_R32G32_FLOAT                                     
        0x000000cb
++#define   NV50_2D_DST_FORMAT_R32G32_SINT                                      
        0x000000cc
++#define   NV50_2D_DST_FORMAT_R32G32_UINT                                      
        0x000000cd
+ #define   NV50_2D_DST_FORMAT_R16G16B16X16_FLOAT                               
                0x000000ce
+ #define   NV50_2D_DST_FORMAT_A8R8G8B8_UNORM                                   
        0x000000cf
++#define   NV50_2D_DST_FORMAT_A8R8G8B8_SRGB                                    
        0x000000d0
+ #define   NV50_2D_DST_FORMAT_A2B10G10R10_UNORM                                
                0x000000d1
+-#define   NV50_2D_DST_FORMAT_A8B8G8R8_UNORM                                   
        0x000000d6
++#define   NV50_2D_DST_FORMAT_A2B10G10R10_UINT                                 
        0x000000d2
++#define   NV50_2D_DST_FORMAT_A8B8G8R8_UNORM                                   
        0x000000d5
++#define   NV50_2D_DST_FORMAT_A8B8G8R8_SRGB                                    
        0x000000d6
+ #define   NV50_2D_DST_FORMAT_A8B8G8R8_SNORM                                   
        0x000000d7
++#define   NV50_2D_DST_FORMAT_A8B8G8R8_SINT                                    
        0x000000d8
++#define   NV50_2D_DST_FORMAT_A8B8G8R8_UINT                                    
        0x000000d9
+ #define   NV50_2D_DST_FORMAT_R16G16_UNORM                                     
        0x000000da
+ #define   NV50_2D_DST_FORMAT_R16G16_SNORM                                     
        0x000000db
++#define   NV50_2D_DST_FORMAT_R16G16_SINT                                      
        0x000000dc
++#define   NV50_2D_DST_FORMAT_R16G16_UINT                                      
        0x000000dd
+ #define   NV50_2D_DST_FORMAT_R16G16_FLOAT                                     
        0x000000de
+ #define   NV50_2D_DST_FORMAT_A2R10G10B10_UNORM                                
                0x000000df
+ #define   NV50_2D_DST_FORMAT_B10G11R11_FLOAT                                  
        0x000000e0
+ #define   NV50_2D_DST_FORMAT_R32_FLOAT                                        
                0x000000e5
+ #define   NV50_2D_DST_FORMAT_X8R8G8B8_UNORM                                   
        0x000000e6
++#define   NV50_2D_DST_FORMAT_X8R8G8B8_SRGB                                    
        0x000000e7
+ #define   NV50_2D_DST_FORMAT_R5G6B5_UNORM                                     
        0x000000e8
+-#define   NV50_2D_DST_FORMAT_R16_FLOAT                                        
                0x000000e9
++#define   NV50_2D_DST_FORMAT_A1R5G5B5_UNORM                                   
        0x000000e9
+ #define   NV50_2D_DST_FORMAT_R8G8_UNORM                                       
                0x000000ea
+ #define   NV50_2D_DST_FORMAT_R8G8_SNORM                                       
                0x000000eb
++#define   NV50_2D_DST_FORMAT_R8G8_SINT                                        
                0x000000ec
++#define   NV50_2D_DST_FORMAT_R8G8_UINT                                        
                0x000000ed
+ #define   NV50_2D_DST_FORMAT_R16_UNORM                                        
                0x000000ee
+ #define   NV50_2D_DST_FORMAT_R16_SNORM                                        
                0x000000ef
++#define   NV50_2D_DST_FORMAT_R16_SINT                                         
        0x000000f0
++#define   NV50_2D_DST_FORMAT_R16_UINT                                         
        0x000000f1
++#define   NV50_2D_DST_FORMAT_R16_FLOAT                                        
                0x000000f2
+ #define   NV50_2D_DST_FORMAT_R8_UNORM                                         
        0x000000f3
+-#define   NV50_2D_DST_FORMAT_R32_BOOLEAN                                      
        0x000000f6
++#define   NV50_2D_DST_FORMAT_R8_SNORM                                         
        0x000000f4
++#define   NV50_2D_DST_FORMAT_R8_SINT                                          
        0x000000f5
++#define   NV50_2D_DST_FORMAT_R8_UINT                                          
        0x000000f6
+ #define   NV50_2D_DST_FORMAT_A8_UNORM                                         
        0x000000f7
+-#define   NV50_2D_DST_FORMAT_X1B5G5R5_UNORM                                   
        0x000000f8
++#define   NV50_2D_DST_FORMAT_X1R5G5B5_UNORM                                   
        0x000000f8
+ #define   NV50_2D_DST_FORMAT_X8B8G8R8_UNORM                                   
        0x000000f9
++#define   NV50_2D_DST_FORMAT_X8B8G8R8_SRGB                                    
        0x000000fa
+ #define  NV50_2D_DST_LINEAR                                                   
        0x00000204
+ #define  NV50_2D_DST_TILE_MODE                                                
                0x00000208
++#define  NV50_2D_DST_DEPTH                                                    
        0x0000020c
++#define  NV50_2D_DST_LAYER                                                    
        0x00000210
+ #define  NV50_2D_DST_PITCH                                                    
        0x00000214
+ #define  NV50_2D_DST_WIDTH                                                    
        0x00000218
+ #define  NV50_2D_DST_HEIGHT                                                   
        0x0000021c
+@@ -7354,45 +7364,88 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define  NV50_2D_DST_ADDRESS_LOW                                              
        0x00000224
+ #define  NV50_2D_SRC_FORMAT                                                   
        0x00000230
+ #define   NV50_2D_SRC_FORMAT_R32G32B32A32_FLOAT                               
                0x000000c0
+-#define   NV50_2D_SRC_FORMAT_R32G32B32_FLOAT                                  
        0x000000c3
++#define   NV50_2D_SRC_FORMAT_R32G32B32A32_SINT                                
                0x000000c1
++#define   NV50_2D_SRC_FORMAT_R32G32B32A32_UINT                                
                0x000000c2
++#define   NV50_2D_SRC_FORMAT_R32G32B32X32_FLOAT                               
                0x000000c3
+ #define   NV50_2D_SRC_FORMAT_R16G16B16A16_UNORM                               
                0x000000c6
+ #define   NV50_2D_SRC_FORMAT_R16G16B16A16_SNORM                               
                0x000000c7
++#define   NV50_2D_SRC_FORMAT_R16G16B16A16_SINT                                
                0x000000c8
++#define   NV50_2D_SRC_FORMAT_R16G16B16A16_UINT                                
                0x000000c9
+ #define   NV50_2D_SRC_FORMAT_R16G16B16A16_FLOAT                               
                0x000000ca
+ #define   NV50_2D_SRC_FORMAT_R32G32_FLOAT                                     
        0x000000cb
++#define   NV50_2D_SRC_FORMAT_R32G32_SINT                                      
        0x000000cc
++#define   NV50_2D_SRC_FORMAT_R32G32_UINT                                      
        0x000000cd
+ #define   NV50_2D_SRC_FORMAT_R16G16B16X16_FLOAT                               
                0x000000ce
+ #define   NV50_2D_SRC_FORMAT_A8R8G8B8_UNORM                                   
        0x000000cf
++#define   NV50_2D_SRC_FORMAT_A8R8G8B8_SRGB                                    
        0x000000d0
+ #define   NV50_2D_SRC_FORMAT_A2B10G10R10_UNORM                                
                0x000000d1
+-#define   NV50_2D_SRC_FORMAT_A8B8G8R8_UNORM                                   
        0x000000d6
++#define   NV50_2D_SRC_FORMAT_A2B10G10R10_UINT                                 
        0x000000d2
++#define   NV50_2D_SRC_FORMAT_A8B8G8R8_UNORM                                   
        0x000000d5
++#define   NV50_2D_SRC_FORMAT_A8B8G8R8_SRGB                                    
        0x000000d6
+ #define   NV50_2D_SRC_FORMAT_A8B8G8R8_SNORM                                   
        0x000000d7
++#define   NV50_2D_SRC_FORMAT_A8B8G8R8_SINT                                    
        0x000000d8
++#define   NV50_2D_SRC_FORMAT_A8B8G8R8_UINT                                    
        0x000000d9
+ #define   NV50_2D_SRC_FORMAT_R16G16_UNORM                                     
        0x000000da
+ #define   NV50_2D_SRC_FORMAT_R16G16_SNORM                                     
        0x000000db
++#define   NV50_2D_SRC_FORMAT_R16G16_SINT                                      
        0x000000dc
++#define   NV50_2D_SRC_FORMAT_R16G16_UINT                                      
        0x000000dd
+ #define   NV50_2D_SRC_FORMAT_R16G16_FLOAT                                     
        0x000000de
+ #define   NV50_2D_SRC_FORMAT_A2R10G10B10_UNORM                                
                0x000000df
+ #define   NV50_2D_SRC_FORMAT_B10G11R11_FLOAT                                  
        0x000000e0
+ #define   NV50_2D_SRC_FORMAT_R32_FLOAT                                        
                0x000000e5
+ #define   NV50_2D_SRC_FORMAT_X8R8G8B8_UNORM                                   
        0x000000e6
++#define   NV50_2D_SRC_FORMAT_X8R8G8B8_SRGB                                    
        0x000000e7
+ #define   NV50_2D_SRC_FORMAT_R5G6B5_UNORM                                     
        0x000000e8
+-#define   NV50_2D_SRC_FORMAT_R16_FLOAT                                        
                0x000000e9
++#define   NV50_2D_SRC_FORMAT_A1R5G5B5_UNORM                                   
        0x000000e9
+ #define   NV50_2D_SRC_FORMAT_R8G8_UNORM                                       
                0x000000ea
+ #define   NV50_2D_SRC_FORMAT_R8G8_SNORM                                       
                0x000000eb
++#define   NV50_2D_SRC_FORMAT_R8G8_SINT                                        
                0x000000ec
++#define   NV50_2D_SRC_FORMAT_R8G8_UINT                                        
                0x000000ed
+ #define   NV50_2D_SRC_FORMAT_R16_UNORM                                        
                0x000000ee
+ #define   NV50_2D_SRC_FORMAT_R16_SNORM                                        
                0x000000ef
++#define   NV50_2D_SRC_FORMAT_R16_SINT                                         
        0x000000f0
++#define   NV50_2D_SRC_FORMAT_R16_UINT                                         
        0x000000f1
++#define   NV50_2D_SRC_FORMAT_R16_FLOAT                                        
                0x000000f2
+ #define   NV50_2D_SRC_FORMAT_R8_UNORM                                         
        0x000000f3
+-#define   NV50_2D_SRC_FORMAT_R32_BOOLEAN                                      
        0x000000f6
++#define   NV50_2D_SRC_FORMAT_R8_SNORM                                         
        0x000000f4
++#define   NV50_2D_SRC_FORMAT_R8_SINT                                          
        0x000000f5
++#define   NV50_2D_SRC_FORMAT_R8_UINT                                          
        0x000000f6
+ #define   NV50_2D_SRC_FORMAT_A8_UNORM                                         
        0x000000f7
+-#define   NV50_2D_SRC_FORMAT_X1B5G5R5_UNORM                                   
        0x000000f8
++#define   NV50_2D_SRC_FORMAT_X1R5G5B5_UNORM                                   
        0x000000f8
+ #define   NV50_2D_SRC_FORMAT_X8B8G8R8_UNORM                                   
        0x000000f9
++#define   NV50_2D_SRC_FORMAT_X8B8G8R8_SRGB                                    
        0x000000fa
+ #define  NV50_2D_SRC_LINEAR                                                   
        0x00000234
+ #define  NV50_2D_SRC_TILE_MODE                                                
                0x00000238
++#define  NV50_2D_SRC_DEPTH                                                    
        0x0000023c
++#define  NV50_2D_SRC_LAYER                                                    
        0x00000240
+ #define  NV50_2D_SRC_PITCH                                                    
        0x00000244
+ #define  NV50_2D_SRC_WIDTH                                                    
        0x00000248
+ #define  NV50_2D_SRC_HEIGHT                                                   
        0x0000024c
+ #define  NV50_2D_SRC_ADDRESS_HIGH                                             
        0x00000250
+ #define  NV50_2D_SRC_ADDRESS_LOW                                              
        0x00000254
++#define  NV50_2D_COND_ADDRESS_HIGH                                            
        0x00000264
++#define  NV50_2D_COND_ADDRESS_LOW                                             
        0x00000268
++#define  NV50_2D_COND_MODE                                                    
        0x0000026c
++#define   NV50_2D_COND_MODE_NEVER                                             
        0x00000000
++#define   NV50_2D_COND_MODE_ALWAYS                                            
        0x00000001
++#define   NV50_2D_COND_MODE_RES                                               
                0x00000002
++#define   NV50_2D_COND_MODE_NOT_RES_AND_NOT_ID                                
                0x00000003
++#define   NV50_2D_COND_MODE_RES_OR_ID                                         
        0x00000004
+ #define  NV50_2D_CLIP_X                                                       
                0x00000280
+ #define  NV50_2D_CLIP_Y                                                       
                0x00000284
+-#define  NV50_2D_CLIP_Z                                                       
                0x00000288
+-#define  NV50_2D_CLIP_W                                                       
                0x0000028c
++#define  NV50_2D_CLIP_W                                                       
                0x00000288
++#define  NV50_2D_CLIP_H                                                       
                0x0000028c
++#define  NV50_2D_CLIP_ENABLE                                                  
        0x00000290
++#define  NV50_2D_COLOR_KEY_FORMAT                                             
        0x00000294
++#define   NV50_2D_COLOR_KEY_FORMAT_16BPP                                      
        0x00000000
++#define   NV50_2D_COLOR_KEY_FORMAT_15BPP                                      
        0x00000001
++#define   NV50_2D_COLOR_KEY_FORMAT_24BPP                                      
        0x00000002
++#define   NV50_2D_COLOR_KEY_FORMAT_30BPP                                      
        0x00000003
++#define   NV50_2D_COLOR_KEY_FORMAT_8BPP                                       
                0x00000004
++#define   NV50_2D_COLOR_KEY_FORMAT_16BPP2                                     
        0x00000005
++#define   NV50_2D_COLOR_KEY_FORMAT_32BPP                                      
        0x00000006
++#define  NV50_2D_COLOR_KEY                                                    
        0x00000298
++#define  NV50_2D_COLOR_KEY_ENABLE                                             
        0x0000029c
+ #define  NV50_2D_ROP                                                          
        0x000002a0
+ #define  NV50_2D_OPERATION                                                    
        0x000002ac
+ #define   NV50_2D_OPERATION_SRCCOPY_AND                                       
                0x00000000
+@@ -7410,89 +7463,159 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define  NV50_2D_PATTERN_COLOR__SIZE                                          
        0x00000002
+ #define  NV50_2D_PATTERN_BITMAP(x)                                            
        (0x000002f8+((x)*4))
+ #define  NV50_2D_PATTERN_BITMAP__SIZE                                         
        0x00000002
+-#define  NV50_2D_RECT_FORMAT                                                  
        0x00000584
+-#define   NV50_2D_RECT_FORMAT_R32G32B32A32_FLOAT                              
        0x000000c0
+-#define   NV50_2D_RECT_FORMAT_R32G32B32_FLOAT                                 
        0x000000c3
+-#define   NV50_2D_RECT_FORMAT_R16G16B16A16_UNORM                              
        0x000000c6
+-#define   NV50_2D_RECT_FORMAT_R16G16B16A16_SNORM                              
        0x000000c7
+-#define   NV50_2D_RECT_FORMAT_R16G16B16A16_FLOAT                              
        0x000000ca
+-#define   NV50_2D_RECT_FORMAT_R32G32_FLOAT                                    
        0x000000cb
+-#define   NV50_2D_RECT_FORMAT_R16G16B16X16_FLOAT                              
        0x000000ce
+-#define   NV50_2D_RECT_FORMAT_A8R8G8B8_UNORM                                  
        0x000000cf
+-#define   NV50_2D_RECT_FORMAT_A2B10G10R10_UNORM                               
                0x000000d1
+-#define   NV50_2D_RECT_FORMAT_A8B8G8R8_UNORM                                  
        0x000000d6
+-#define   NV50_2D_RECT_FORMAT_A8B8G8R8_SNORM                                  
        0x000000d7
+-#define   NV50_2D_RECT_FORMAT_R16G16_UNORM                                    
        0x000000da
+-#define   NV50_2D_RECT_FORMAT_R16G16_SNORM                                    
        0x000000db
+-#define   NV50_2D_RECT_FORMAT_R16G16_FLOAT                                    
        0x000000de
+-#define   NV50_2D_RECT_FORMAT_A2R10G10B10_UNORM                               
                0x000000df
+-#define   NV50_2D_RECT_FORMAT_B10G11R11_FLOAT                                 
        0x000000e0
+-#define   NV50_2D_RECT_FORMAT_R32_FLOAT                                       
                0x000000e5
+-#define   NV50_2D_RECT_FORMAT_X8R8G8B8_UNORM                                  
        0x000000e6
+-#define   NV50_2D_RECT_FORMAT_R5G6B5_UNORM                                    
        0x000000e8
+-#define   NV50_2D_RECT_FORMAT_R16_FLOAT                                       
                0x000000e9
+-#define   NV50_2D_RECT_FORMAT_R8G8_UNORM                                      
        0x000000ea
+-#define   NV50_2D_RECT_FORMAT_R8G8_SNORM                                      
        0x000000eb
+-#define   NV50_2D_RECT_FORMAT_R16_UNORM                                       
                0x000000ee
+-#define   NV50_2D_RECT_FORMAT_R16_SNORM                                       
                0x000000ef
+-#define   NV50_2D_RECT_FORMAT_R8_UNORM                                        
                0x000000f3
+-#define   NV50_2D_RECT_FORMAT_R32_BOOLEAN                                     
        0x000000f6
+-#define   NV50_2D_RECT_FORMAT_A8_UNORM                                        
                0x000000f7
+-#define   NV50_2D_RECT_FORMAT_X1B5G5R5_UNORM                                  
        0x000000f8
+-#define   NV50_2D_RECT_FORMAT_X8B8G8R8_UNORM                                  
        0x000000f9
+-#define  NV50_2D_RECT_COLOR                                                   
        0x00000588
+-#define  NV50_2D_RECT_X1                                                      
        0x00000600
+-#define  NV50_2D_RECT_Y1                                                      
        0x00000604
+-#define  NV50_2D_RECT_X2                                                      
        0x00000608
+-#define  NV50_2D_RECT_Y2                                                      
        0x0000060c
+-#define  NV50_2D_SIFC_UNK0800                                                 
        0x00000800
++#define  NV50_2D_DRAW_SHAPE                                                   
        0x00000580
++#define   NV50_2D_DRAW_SHAPE_POINTS                                           
        0x00000000
++#define   NV50_2D_DRAW_SHAPE_LINES                                            
        0x00000001
++#define   NV50_2D_DRAW_SHAPE_LINE_STRIP                                       
                0x00000002
++#define   NV50_2D_DRAW_SHAPE_TRIANGLES                                        
                0x00000003
++#define   NV50_2D_DRAW_SHAPE_RECTANGLES                                       
                0x00000004
++#define  NV50_2D_DRAW_COLOR_FORMAT                                            
        0x00000584
++#define   NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_FLOAT                        
                0x000000c0
++#define   NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_SINT                         
        0x000000c1
++#define   NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_UINT                         
        0x000000c2
++#define   NV50_2D_DRAW_COLOR_FORMAT_R32G32B32X32_FLOAT                        
                0x000000c3
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_UNORM                        
                0x000000c6
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_SNORM                        
                0x000000c7
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_SINT                         
        0x000000c8
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_UINT                         
        0x000000c9
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_FLOAT                        
                0x000000ca
++#define   NV50_2D_DRAW_COLOR_FORMAT_R32G32_FLOAT                              
        0x000000cb
++#define   NV50_2D_DRAW_COLOR_FORMAT_R32G32_SINT                               
                0x000000cc
++#define   NV50_2D_DRAW_COLOR_FORMAT_R32G32_UINT                               
                0x000000cd
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16X16_FLOAT                        
                0x000000ce
++#define   NV50_2D_DRAW_COLOR_FORMAT_A8R8G8B8_UNORM                            
        0x000000cf
++#define   NV50_2D_DRAW_COLOR_FORMAT_A8R8G8B8_SRGB                             
        0x000000d0
++#define   NV50_2D_DRAW_COLOR_FORMAT_A2B10G10R10_UNORM                         
        0x000000d1
++#define   NV50_2D_DRAW_COLOR_FORMAT_A2B10G10R10_UINT                          
        0x000000d2
++#define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_UNORM                            
        0x000000d5
++#define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SRGB                             
        0x000000d6
++#define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SNORM                            
        0x000000d7
++#define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SINT                             
        0x000000d8
++#define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_UINT                             
        0x000000d9
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_UNORM                              
        0x000000da
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_SNORM                              
        0x000000db
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_SINT                               
                0x000000dc
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_UINT                               
                0x000000dd
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_FLOAT                              
        0x000000de
++#define   NV50_2D_DRAW_COLOR_FORMAT_A2R10G10B10_UNORM                         
        0x000000df
++#define   NV50_2D_DRAW_COLOR_FORMAT_B10G11R11_FLOAT                           
        0x000000e0
++#define   NV50_2D_DRAW_COLOR_FORMAT_R32_FLOAT                                 
        0x000000e5
++#define   NV50_2D_DRAW_COLOR_FORMAT_X8R8G8B8_UNORM                            
        0x000000e6
++#define   NV50_2D_DRAW_COLOR_FORMAT_X8R8G8B8_SRGB                             
        0x000000e7
++#define   NV50_2D_DRAW_COLOR_FORMAT_R5G6B5_UNORM                              
        0x000000e8
++#define   NV50_2D_DRAW_COLOR_FORMAT_A1R5G5B5_UNORM                            
        0x000000e9
++#define   NV50_2D_DRAW_COLOR_FORMAT_R8G8_UNORM                                
                0x000000ea
++#define   NV50_2D_DRAW_COLOR_FORMAT_R8G8_SNORM                                
                0x000000eb
++#define   NV50_2D_DRAW_COLOR_FORMAT_R8G8_SINT                                 
        0x000000ec
++#define   NV50_2D_DRAW_COLOR_FORMAT_R8G8_UINT                                 
        0x000000ed
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16_UNORM                                 
        0x000000ee
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16_SNORM                                 
        0x000000ef
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16_SINT                                  
        0x000000f0
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16_UINT                                  
        0x000000f1
++#define   NV50_2D_DRAW_COLOR_FORMAT_R16_FLOAT                                 
        0x000000f2
++#define   NV50_2D_DRAW_COLOR_FORMAT_R8_UNORM                                  
        0x000000f3
++#define   NV50_2D_DRAW_COLOR_FORMAT_R8_SNORM                                  
        0x000000f4
++#define   NV50_2D_DRAW_COLOR_FORMAT_R8_SINT                                   
        0x000000f5
++#define   NV50_2D_DRAW_COLOR_FORMAT_R8_UINT                                   
        0x000000f6
++#define   NV50_2D_DRAW_COLOR_FORMAT_A8_UNORM                                  
        0x000000f7
++#define   NV50_2D_DRAW_COLOR_FORMAT_X1R5G5B5_UNORM                            
        0x000000f8
++#define   NV50_2D_DRAW_COLOR_FORMAT_X8B8G8R8_UNORM                            
        0x000000f9
++#define   NV50_2D_DRAW_COLOR_FORMAT_X8B8G8R8_SRGB                             
        0x000000fa
++#define  NV50_2D_DRAW_COLOR                                                   
        0x00000588
++#define  NV50_2D_DRAW_POINT16                                                 
        0x000005e0
++#define   NV50_2D_DRAW_POINT16_X_SHIFT                                        
                0
++#define   NV50_2D_DRAW_POINT16_X_MASK                                         
        0x0000ffff
++#define   NV50_2D_DRAW_POINT16_Y_SHIFT                                        
                16
++#define   NV50_2D_DRAW_POINT16_Y_MASK                                         
        0xffff0000
++#define  NV50_2D_DRAW_POINT32_X(x)                                            
        (0x00000600+((x)*8))
++#define  NV50_2D_DRAW_POINT32_X__SIZE                                         
        0x00000040
++#define  NV50_2D_DRAW_POINT32_Y(x)                                            
        (0x00000604+((x)*8))
++#define  NV50_2D_DRAW_POINT32_Y__SIZE                                         
        0x00000040
++#define  NV50_2D_SIFC_BITMAP_ENABLE                                           
        0x00000800
+ #define  NV50_2D_SIFC_FORMAT                                                  
        0x00000804
+ #define   NV50_2D_SIFC_FORMAT_R32G32B32A32_FLOAT                              
        0x000000c0
+-#define   NV50_2D_SIFC_FORMAT_R32G32B32_FLOAT                                 
        0x000000c3
++#define   NV50_2D_SIFC_FORMAT_R32G32B32A32_SINT                               
                0x000000c1
++#define   NV50_2D_SIFC_FORMAT_R32G32B32A32_UINT                               
                0x000000c2
++#define   NV50_2D_SIFC_FORMAT_R32G32B32X32_FLOAT                              
        0x000000c3
+ #define   NV50_2D_SIFC_FORMAT_R16G16B16A16_UNORM                              
        0x000000c6
+ #define   NV50_2D_SIFC_FORMAT_R16G16B16A16_SNORM                              
        0x000000c7
++#define   NV50_2D_SIFC_FORMAT_R16G16B16A16_SINT                               
                0x000000c8
++#define   NV50_2D_SIFC_FORMAT_R16G16B16A16_UINT                               
                0x000000c9
+ #define   NV50_2D_SIFC_FORMAT_R16G16B16A16_FLOAT                              
        0x000000ca
+ #define   NV50_2D_SIFC_FORMAT_R32G32_FLOAT                                    
        0x000000cb
++#define   NV50_2D_SIFC_FORMAT_R32G32_SINT                                     
        0x000000cc
++#define   NV50_2D_SIFC_FORMAT_R32G32_UINT                                     
        0x000000cd
+ #define   NV50_2D_SIFC_FORMAT_R16G16B16X16_FLOAT                              
        0x000000ce
+ #define   NV50_2D_SIFC_FORMAT_A8R8G8B8_UNORM                                  
        0x000000cf
++#define   NV50_2D_SIFC_FORMAT_A8R8G8B8_SRGB                                   
        0x000000d0
+ #define   NV50_2D_SIFC_FORMAT_A2B10G10R10_UNORM                               
                0x000000d1
+-#define   NV50_2D_SIFC_FORMAT_A8B8G8R8_UNORM                                  
        0x000000d6
++#define   NV50_2D_SIFC_FORMAT_A2B10G10R10_UINT                                
                0x000000d2
++#define   NV50_2D_SIFC_FORMAT_A8B8G8R8_UNORM                                  
        0x000000d5
++#define   NV50_2D_SIFC_FORMAT_A8B8G8R8_SRGB                                   
        0x000000d6
+ #define   NV50_2D_SIFC_FORMAT_A8B8G8R8_SNORM                                  
        0x000000d7
++#define   NV50_2D_SIFC_FORMAT_A8B8G8R8_SINT                                   
        0x000000d8
++#define   NV50_2D_SIFC_FORMAT_A8B8G8R8_UINT                                   
        0x000000d9
+ #define   NV50_2D_SIFC_FORMAT_R16G16_UNORM                                    
        0x000000da
+ #define   NV50_2D_SIFC_FORMAT_R16G16_SNORM                                    
        0x000000db
++#define   NV50_2D_SIFC_FORMAT_R16G16_SINT                                     
        0x000000dc
++#define   NV50_2D_SIFC_FORMAT_R16G16_UINT                                     
        0x000000dd
+ #define   NV50_2D_SIFC_FORMAT_R16G16_FLOAT                                    
        0x000000de
+ #define   NV50_2D_SIFC_FORMAT_A2R10G10B10_UNORM                               
                0x000000df
+ #define   NV50_2D_SIFC_FORMAT_B10G11R11_FLOAT                                 
        0x000000e0
+ #define   NV50_2D_SIFC_FORMAT_R32_FLOAT                                       
                0x000000e5
+ #define   NV50_2D_SIFC_FORMAT_X8R8G8B8_UNORM                                  
        0x000000e6
++#define   NV50_2D_SIFC_FORMAT_X8R8G8B8_SRGB                                   
        0x000000e7
+ #define   NV50_2D_SIFC_FORMAT_R5G6B5_UNORM                                    
        0x000000e8
+-#define   NV50_2D_SIFC_FORMAT_R16_FLOAT                                       
                0x000000e9
++#define   NV50_2D_SIFC_FORMAT_A1R5G5B5_UNORM                                  
        0x000000e9
+ #define   NV50_2D_SIFC_FORMAT_R8G8_UNORM                                      
        0x000000ea
+ #define   NV50_2D_SIFC_FORMAT_R8G8_SNORM                                      
        0x000000eb
++#define   NV50_2D_SIFC_FORMAT_R8G8_SINT                                       
                0x000000ec
++#define   NV50_2D_SIFC_FORMAT_R8G8_UINT                                       
                0x000000ed
+ #define   NV50_2D_SIFC_FORMAT_R16_UNORM                                       
                0x000000ee
+ #define   NV50_2D_SIFC_FORMAT_R16_SNORM                                       
                0x000000ef
++#define   NV50_2D_SIFC_FORMAT_R16_SINT                                        
                0x000000f0
++#define   NV50_2D_SIFC_FORMAT_R16_UINT                                        
                0x000000f1
++#define   NV50_2D_SIFC_FORMAT_R16_FLOAT                                       
                0x000000f2
+ #define   NV50_2D_SIFC_FORMAT_R8_UNORM                                        
                0x000000f3
+-#define   NV50_2D_SIFC_FORMAT_R32_BOOLEAN                                     
        0x000000f6
++#define   NV50_2D_SIFC_FORMAT_R8_SNORM                                        
                0x000000f4
++#define   NV50_2D_SIFC_FORMAT_R8_SINT                                         
        0x000000f5
++#define   NV50_2D_SIFC_FORMAT_R8_UINT                                         
        0x000000f6
+ #define   NV50_2D_SIFC_FORMAT_A8_UNORM                                        
                0x000000f7
+-#define   NV50_2D_SIFC_FORMAT_X1B5G5R5_UNORM                                  
        0x000000f8
++#define   NV50_2D_SIFC_FORMAT_X1R5G5B5_UNORM                                  
        0x000000f8
+ #define   NV50_2D_SIFC_FORMAT_X8B8G8R8_UNORM                                  
        0x000000f9
++#define   NV50_2D_SIFC_FORMAT_X8B8G8R8_SRGB                                   
        0x000000fa
++#define  NV50_2D_SIFC_BITMAP_UNK808                                           
        0x00000808
++#define  NV50_2D_SIFC_BITMAP_LSB_FIRST                                        
                0x0000080c
++#define  NV50_2D_SIFC_BITMAP_LINE_PACK_MODE                                   
        0x00000810
++#define   NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_PACKED                           
        0x00000000
++#define   NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_BYTE                       
                0x00000001
++#define   NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_WORD                       
                0x00000002
++#define  NV50_2D_SIFC_BITMAP_COLOR_BIT0                                       
                0x00000814
++#define  NV50_2D_SIFC_BITMAP_COLOR_BIT1                                       
                0x00000818
++#define  NV50_2D_SIFC_BITMAP_WRITE_BIT0_ENABLE                                
                0x0000081c
+ #define  NV50_2D_SIFC_WIDTH                                                   
        0x00000838
+ #define  NV50_2D_SIFC_HEIGHT                                                  
        0x0000083c
+-#define  NV50_2D_SIFC_SCALE_UNK0840                                           
        0x00000840
+-#define  NV50_2D_SIFC_SCALE_UNK0844                                           
        0x00000844
+-#define  NV50_2D_SIFC_SCALE_UNK0848                                           
        0x00000848
+-#define  NV50_2D_SIFC_SCALE_UNK084C                                           
        0x0000084c
+-#define  NV50_2D_SIFC_UNK0850                                                 
        0x00000850
+-#define  NV50_2D_SIFC_DST_X                                                   
        0x00000854
+-#define  NV50_2D_SIFC_UNK0858                                                 
        0x00000858
+-#define  NV50_2D_SIFC_DST_Y                                                   
        0x0000085c
++#define  NV50_2D_SIFC_DX_DU_FRACT                                             
        0x00000840
++#define  NV50_2D_SIFC_DX_DU_INT                                               
                0x00000844
++#define  NV50_2D_SIFC_DY_DV_FRACT                                             
        0x00000848
++#define  NV50_2D_SIFC_DY_DV_INT                                               
                0x0000084c
++#define  NV50_2D_SIFC_DST_X_FRACT                                             
        0x00000850
++#define  NV50_2D_SIFC_DST_X_INT                                               
                0x00000854
++#define  NV50_2D_SIFC_DST_Y_FRACT                                             
        0x00000858
++#define  NV50_2D_SIFC_DST_Y_INT                                               
                0x0000085c
+ #define  NV50_2D_SIFC_DATA                                                    
        0x00000860
+ #define  NV50_2D_BLIT_DST_X                                                   
        0x000008b0
+ #define  NV50_2D_BLIT_DST_Y                                                   
        0x000008b4
+ #define  NV50_2D_BLIT_DST_W                                                   
        0x000008b8
+ #define  NV50_2D_BLIT_DST_H                                                   
        0x000008bc
+-#define  NV50_2D_BLIT_SRC_X                                                   
        0x000008d4
+-#define  NV50_2D_BLIT_SRC_Y                                                   
        0x000008dc
++#define  NV50_2D_BLIT_DU_DX_FRACT                                             
        0x000008c0
++#define  NV50_2D_BLIT_DU_DX_INT                                               
                0x000008c4
++#define  NV50_2D_BLIT_DV_DY_FRACT                                             
        0x000008c8
++#define  NV50_2D_BLIT_DV_DY_INT                                               
                0x000008cc
++#define  NV50_2D_BLIT_SRC_X_FRACT                                             
        0x000008d0
++#define  NV50_2D_BLIT_SRC_X_INT                                               
                0x000008d4
++#define  NV50_2D_BLIT_SRC_Y_FRACT                                             
        0x000008d8
++#define  NV50_2D_BLIT_SRC_Y_INT                                               
                0x000008dc
+ 
+ 
+ #define NV50_MEMORY_TO_MEMORY_FORMAT                                          
        0x00005039
+@@ -7501,20 +7624,26 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_IN                          
        0x00000204
+ #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_IN                         
        0x00000208
+ #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_IN                        
                0x0000020c
++#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_IN                         
        0x00000210
++#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Z                    
        0x00000214
+ #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN                      
        0x00000218
++#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X_SHIFT             
        0
++#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X_MASK              
        0x0000ffff
++#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y_SHIFT             
        16
++#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y_MASK              
        0xffff0000
+ #define  NV50_MEMORY_TO_MEMORY_FORMAT_LINEAR_OUT                              
        0x0000021c
+ #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_OUT                         
        0x00000220
+ #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_OUT                        
                0x00000224
+ #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_OUT                       
                0x00000228
++#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_OUT                        
                0x0000022c
++#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Z                   
        0x00000230
+ #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT                     
        0x00000234
++#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X_SHIFT            
        0
++#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X_MASK             
        0x0000ffff
++#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y_SHIFT            
        16
++#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y_MASK             
        0xffff0000
+ #define  NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_HIGH                          
        0x00000238
+ #define  NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH                         
        0x0000023c
+-#define  NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN                               
                0x0000030c
+-#define  NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT                              
        0x00000310
+-#define  NV50_MEMORY_TO_MEMORY_FORMAT_PITCH_IN                                
                0x00000314
+-#define  NV50_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT                               
                0x00000318
+-#define  NV50_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN                          
        0x0000031c
+-#define  NV50_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT                              
        0x00000320
+ 
+ 
+ #define NV50TCL                                                               
                0x00005097
+@@ -7522,10 +7651,19 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define  NV50TCL_NOP                                                          
        0x00000100
+ #define  NV50TCL_NOTIFY                                                       
                0x00000104
+ #define  NV50TCL_DMA_NOTIFY                                                   
        0x00000180
+-#define  NV50TCL_DMA_UNK0(x)                                                  
        (0x00000184+((x)*4))
+-#define  NV50TCL_DMA_UNK0__SIZE                                               
                0x0000000b
+-#define  NV50TCL_DMA_UNK1(x)                                                  
        (0x000001c0+((x)*4))
+-#define  NV50TCL_DMA_UNK1__SIZE                                               
                0x00000008
++#define  NV50TCL_DMA_ZETA                                                     
        0x00000184
++#define  NV50TCL_DMA_QUERY                                                    
        0x00000188
++#define  NV50TCL_DMA_VTXBUF0                                                  
        0x0000018c
++#define  NV50TCL_DMA_LOCAL                                                    
        0x00000190
++#define  NV50TCL_DMA_STACK                                                    
        0x00000194
++#define  NV50TCL_DMA_CODE_CB                                                  
        0x00000198
++#define  NV50TCL_DMA_TSC                                                      
        0x0000019c
++#define  NV50TCL_DMA_TIC                                                      
        0x000001a0
++#define  NV50TCL_DMA_TEXTURE                                                  
        0x000001a4
++#define  NV50TCL_DMA_STRMOUT                                                  
        0x000001a8
++#define  NV50TCL_DMA_UNK01AC                                                  
        0x000001ac
++#define  NV50TCL_DMA_COLOR(x)                                                 
        (0x000001c0+((x)*4))
++#define  NV50TCL_DMA_COLOR__SIZE                                              
        0x00000008
+ #define  NV50TCL_RT_ADDRESS_HIGH(x)                                           
        (0x00000200+((x)*32))
+ #define  NV50TCL_RT_ADDRESS_HIGH__SIZE                                        
                0x00000008
+ #define  NV50TCL_RT_ADDRESS_LOW(x)                                            
        (0x00000204+((x)*32))
+@@ -7533,40 +7671,68 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define  NV50TCL_RT_FORMAT(x)                                                 
        (0x00000208+((x)*32))
+ #define  NV50TCL_RT_FORMAT__SIZE                                              
        0x00000008
+ #define   NV50TCL_RT_FORMAT_R32G32B32A32_FLOAT                                
                0x000000c0
+-#define   NV50TCL_RT_FORMAT_R32G32B32_FLOAT                                   
        0x000000c3
++#define   NV50TCL_RT_FORMAT_R32G32B32A32_SINT                                 
        0x000000c1
++#define   NV50TCL_RT_FORMAT_R32G32B32A32_UINT                                 
        0x000000c2
++#define   NV50TCL_RT_FORMAT_R32G32B32X32_FLOAT                                
                0x000000c3
+ #define   NV50TCL_RT_FORMAT_R16G16B16A16_UNORM                                
                0x000000c6
+ #define   NV50TCL_RT_FORMAT_R16G16B16A16_SNORM                                
                0x000000c7
++#define   NV50TCL_RT_FORMAT_R16G16B16A16_SINT                                 
        0x000000c8
++#define   NV50TCL_RT_FORMAT_R16G16B16A16_UINT                                 
        0x000000c9
+ #define   NV50TCL_RT_FORMAT_R16G16B16A16_FLOAT                                
                0x000000ca
+ #define   NV50TCL_RT_FORMAT_R32G32_FLOAT                                      
        0x000000cb
++#define   NV50TCL_RT_FORMAT_R32G32_SINT                                       
                0x000000cc
++#define   NV50TCL_RT_FORMAT_R32G32_UINT                                       
                0x000000cd
+ #define   NV50TCL_RT_FORMAT_R16G16B16X16_FLOAT                                
                0x000000ce
+ #define   NV50TCL_RT_FORMAT_A8R8G8B8_UNORM                                    
        0x000000cf
++#define   NV50TCL_RT_FORMAT_A8R8G8B8_SRGB                                     
        0x000000d0
+ #define   NV50TCL_RT_FORMAT_A2B10G10R10_UNORM                                 
        0x000000d1
+-#define   NV50TCL_RT_FORMAT_A8B8G8R8_UNORM                                    
        0x000000d6
++#define   NV50TCL_RT_FORMAT_A2B10G10R10_UINT                                  
        0x000000d2
++#define   NV50TCL_RT_FORMAT_A8B8G8R8_UNORM                                    
        0x000000d5
++#define   NV50TCL_RT_FORMAT_A8B8G8R8_SRGB                                     
        0x000000d6
+ #define   NV50TCL_RT_FORMAT_A8B8G8R8_SNORM                                    
        0x000000d7
++#define   NV50TCL_RT_FORMAT_A8B8G8R8_SINT                                     
        0x000000d8
++#define   NV50TCL_RT_FORMAT_A8B8G8R8_UINT                                     
        0x000000d9
+ #define   NV50TCL_RT_FORMAT_R16G16_UNORM                                      
        0x000000da
+ #define   NV50TCL_RT_FORMAT_R16G16_SNORM                                      
        0x000000db
++#define   NV50TCL_RT_FORMAT_R16G16_SINT                                       
                0x000000dc
++#define   NV50TCL_RT_FORMAT_R16G16_UINT                                       
                0x000000dd
+ #define   NV50TCL_RT_FORMAT_R16G16_FLOAT                                      
        0x000000de
+ #define   NV50TCL_RT_FORMAT_A2R10G10B10_UNORM                                 
        0x000000df
+ #define   NV50TCL_RT_FORMAT_B10G11R11_FLOAT                                   
        0x000000e0
+ #define   NV50TCL_RT_FORMAT_R32_FLOAT                                         
        0x000000e5
+ #define   NV50TCL_RT_FORMAT_X8R8G8B8_UNORM                                    
        0x000000e6
++#define   NV50TCL_RT_FORMAT_X8R8G8B8_SRGB                                     
        0x000000e7
+ #define   NV50TCL_RT_FORMAT_R5G6B5_UNORM                                      
        0x000000e8
+-#define   NV50TCL_RT_FORMAT_R16_FLOAT                                         
        0x000000e9
++#define   NV50TCL_RT_FORMAT_A1R5G5B5_UNORM                                    
        0x000000e9
+ #define   NV50TCL_RT_FORMAT_R8G8_UNORM                                        
                0x000000ea
+ #define   NV50TCL_RT_FORMAT_R8G8_SNORM                                        
                0x000000eb
++#define   NV50TCL_RT_FORMAT_R8G8_SINT                                         
        0x000000ec
++#define   NV50TCL_RT_FORMAT_R8G8_UINT                                         
        0x000000ed
+ #define   NV50TCL_RT_FORMAT_R16_UNORM                                         
        0x000000ee
+ #define   NV50TCL_RT_FORMAT_R16_SNORM                                         
        0x000000ef
++#define   NV50TCL_RT_FORMAT_R16_SINT                                          
        0x000000f0
++#define   NV50TCL_RT_FORMAT_R16_UINT                                          
        0x000000f1
++#define   NV50TCL_RT_FORMAT_R16_FLOAT                                         
        0x000000f2
+ #define   NV50TCL_RT_FORMAT_R8_UNORM                                          
        0x000000f3
+-#define   NV50TCL_RT_FORMAT_R32_BOOLEAN                                       
                0x000000f6
++#define   NV50TCL_RT_FORMAT_R8_SNORM                                          
        0x000000f4
++#define   NV50TCL_RT_FORMAT_R8_SINT                                           
        0x000000f5
++#define   NV50TCL_RT_FORMAT_R8_UINT                                           
        0x000000f6
+ #define   NV50TCL_RT_FORMAT_A8_UNORM                                          
        0x000000f7
+-#define   NV50TCL_RT_FORMAT_X1B5G5R5_UNORM                                    
        0x000000f8
++#define   NV50TCL_RT_FORMAT_X1R5G5B5_UNORM                                    
        0x000000f8
+ #define   NV50TCL_RT_FORMAT_X8B8G8R8_UNORM                                    
        0x000000f9
++#define   NV50TCL_RT_FORMAT_X8B8G8R8_SRGB                                     
        0x000000fa
+ #define  NV50TCL_RT_TILE_MODE(x)                                              
        (0x0000020c+((x)*32))
+ #define  NV50TCL_RT_TILE_MODE__SIZE                                           
        0x00000008
+-#define  NV50TCL_RT_UNK4(x)                                                   
        (0x00000210+((x)*32))
+-#define  NV50TCL_RT_UNK4__SIZE                                                
                0x00000008
++#define  NV50TCL_RT_LAYER_STRIDE(x)                                           
        (0x00000210+((x)*32))
++#define  NV50TCL_RT_LAYER_STRIDE__SIZE                                        
                0x00000008
+ #define  NV50TCL_VTX_ATTR_1F(x)                                               
                (0x00000300+((x)*4))
+ #define  NV50TCL_VTX_ATTR_1F__SIZE                                            
        0x00000010
++#define  NV50TCL_VTX_ATTR_2H(x)                                               
                (0x00000340+((x)*4))
++#define  NV50TCL_VTX_ATTR_2H__SIZE                                            
        0x00000010
++#define   NV50TCL_VTX_ATTR_2H_X_SHIFT                                         
        0
++#define   NV50TCL_VTX_ATTR_2H_X_MASK                                          
        0x0000ffff
++#define   NV50TCL_VTX_ATTR_2H_Y_SHIFT                                         
        16
++#define   NV50TCL_VTX_ATTR_2H_Y_MASK                                          
        0xffff0000
+ #define  NV50TCL_VTX_ATTR_2F_X(x)                                             
        (0x00000380+((x)*8))
+ #define  NV50TCL_VTX_ATTR_2F_X__SIZE                                          
        0x00000010
+ #define  NV50TCL_VTX_ATTR_2F_Y(x)                                             
        (0x00000384+((x)*8))
+@@ -7577,8 +7743,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define  NV50TCL_VTX_ATTR_3F_Y__SIZE                                          
        0x00000010
+ #define  NV50TCL_VTX_ATTR_3F_Z(x)                                             
        (0x00000408+((x)*16))
+ #define  NV50TCL_VTX_ATTR_3F_Z__SIZE                                          
        0x00000010
+-#define  NV50TCL_VTX_ATTR_3F_W(x)                                             
        (0x0000040c+((x)*16))
+-#define  NV50TCL_VTX_ATTR_3F_W__SIZE                                          
        0x00000010
+ #define  NV50TCL_VTX_ATTR_4F_X(x)                                             
        (0x00000500+((x)*16))
+ #define  NV50TCL_VTX_ATTR_4F_X__SIZE                                          
        0x00000010
+ #define  NV50TCL_VTX_ATTR_4F_Y(x)                                             
        (0x00000504+((x)*16))
+@@ -7587,12 +7751,30 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #define  NV50TCL_VTX_ATTR_4F_Z__SIZE                                          
        0x00000010
+ #define  NV50TCL_VTX_ATTR_4F_W(x)                                             
        (0x0000050c+((x)*16))
+ #define  NV50TCL_VTX_ATTR_4F_W__SIZE                                          
        0x00000010
++#define  NV50TCL_VTX_ATTR_4H_0(x)                                             
        (0x00000600+((x)*8))
++#define  NV50TCL_VTX_ATTR_4H_0__SIZE                                          
        0x00000010
++#define   NV50TCL_VTX_ATTR_4H_0_X_SHIFT                                       
                0
++#define   NV50TCL_VTX_ATTR_4H_0_X_MASK                                        
                0x0000ffff
++#define   NV50TCL_VTX_ATTR_4H_0_Y_SHIFT                                       
                16
++#define   NV50TCL_VTX_ATTR_4H_0_Y_MASK                                        
                0xffff0000
++#define  NV50TCL_VTX_ATTR_4H_1(x)                                             
        (0x00000604+((x)*8))


-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to