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

libdrm: Changes to 'debian-unstable'



 .gitignore                                              |    1 
 ChangeLog                                               |  677 +
 Makefile.am                                             |    1 
 configure.ac                                            |   63 
 debian/changelog                                        |   66 
 debian/control                                          |    1 
 debian/copyright                                        |  291 
 debian/libdrm-intel1.symbols                            |    4 
 debian/libdrm-nouveau1.install                          |    2 
 debian/libdrm-radeon1.symbols                           |   21 
 debian/libkms1.install                                  |    1 
 debian/libkms1.symbols                                  |   14 
 debian/patches/02_build_libkms_against_in_tree_drm.diff |   17 
 debian/patches/03_revert_abi_change.diff                | 9131 +++++++++++++++-
 debian/patches/04_fix_nouveau_bo_new_tile_segfault.diff |   21 
 debian/patches/series                                   |    2 
 debian/rules                                            |   15 
 include/drm/Makefile.am                                 |    2 
 include/drm/drm.h                                       |    2 
 include/drm/drm_mode.h                                  |   37 
 include/drm/i915_drm.h                                  |   59 
 include/drm/radeon_drm.h                                |    1 
 include/drm/vmwgfx_drm.h                                |   63 
 intel/Makefile.am                                       |    3 
 intel/intel_atomic.h                                    |   93 
 intel/intel_bufmgr.c                                    |   32 
 intel/intel_bufmgr.h                                    |    9 
 intel/intel_bufmgr_fake.c                               |    4 
 intel/intel_bufmgr_gem.c                                |  507 
 intel/intel_bufmgr_priv.h                               |   19 
 intel/intel_chipset.h                                   |   90 
 intel/libdrm_intel.pc.in                                |    2 
 libdrm.pc.in                                            |    2 
 libkms/Makefile.am                                      |    8 
 libkms/intel.c                                          |    2 
 libkms/internal.h                                       |    2 
 libkms/libkms.pc.in                                     |    2 
 libkms/linux.c                                          |    4 
 libkms/nouveau.c                                        |  220 
 nouveau/Makefile.am                                     |    3 
 nouveau/libdrm_nouveau.pc.in                            |    3 
 nouveau/nouveau_bo.c                                    |    2 
 nouveau/nouveau_channel.c                               |    2 
 nouveau/nouveau_class.h                                 | 9041 ---------------
 nouveau/nouveau_private.h                               |    1 
 nouveau/nouveau_reloc.c                                 |    6 
 radeon/Makefile.am                                      |    6 
 radeon/bof.c                                            |  477 
 radeon/bof.h                                            |   90 
 radeon/libdrm_radeon.pc.in                              |    2 
 radeon/radeon_bo.h                                      |    1 
 radeon/radeon_bo_gem.c                                  |    9 
 radeon/radeon_bo_gem.h                                  |    1 
 radeon/radeon_cs.c                                      |    6 
 radeon/radeon_cs.h                                      |    4 
 radeon/radeon_cs_gem.c                                  |  231 
 radeon/radeon_cs_int.h                                  |    1 
 tests/Makefile.am                                       |   10 
 tests/kmstest/main.c                                    |    1 
 tests/modeprint/modeprint.c                             |    4 
 tests/modetest/modetest.c                               |   29 
 tests/vbltest/Makefile.am                               |   11 
 tests/vbltest/vbltest.c                                 |  188 
 xf86atomic.h                                            |   99 
 xf86drmMode.h                                           |    2 
 65 files changed, 12268 insertions(+), 9453 deletions(-)

New commits:
commit 752295ba101d84b8e3e695621fa41ce9406104e1
Author: Julien Cristau <jcristau@debian.org>
Date:   Tue Aug 24 19:32:36 2010 +0200

    Drop 04_fix_nouveau_bo_new_tile_segfault.diff, applied upstream.

diff --git a/debian/changelog b/debian/changelog
index 9fcae3c..6be4f93 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ libdrm (2.4.21-2) UNRELEASED; urgency=low
 
   * Revert nouveau ABI update.
   * Don't build libkms and vmwgfx.
+  * Drop 04_fix_nouveau_bo_new_tile_segfault.diff, applied upstream.
 
  -- Julien Cristau <jcristau@debian.org>  Tue, 24 Aug 2010 18:27:59 +0200
 
diff --git a/debian/patches/04_fix_nouveau_bo_new_tile_segfault.diff b/debian/patches/04_fix_nouveau_bo_new_tile_segfault.diff
deleted file mode 100644
index c8cc948..0000000
--- a/debian/patches/04_fix_nouveau_bo_new_tile_segfault.diff
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: b/nouveau/nouveau_bo.c
-===================================================================
---- a/nouveau/nouveau_bo.c
-+++ b/nouveau/nouveau_bo.c
-@@ -198,14 +198,14 @@
- 	if (flags & (NOUVEAU_BO_VRAM | NOUVEAU_BO_GART)) {
- 		ret = nouveau_bo_kalloc(nvbo, NULL);
- 		if (ret) {
--			nouveau_bo_ref(NULL, (void *)nvbo);
-+			nouveau_bo_ref(NULL, (void *)&nvbo);
- 			return ret;
- 		}
- 
- 		if (flags & NOUVEAU_BO_PIN) {
- 			ret = nouveau_bo_pin((void *)nvbo, nvbo->flags);
- 			if (ret) {
--				nouveau_bo_ref(NULL, (void *)nvbo);
-+				nouveau_bo_ref(NULL, (void *)&nvbo);
- 				return ret;
- 			}
- 		}

commit bc33639127b41cf0b0a4439b3e8ad822c4701889
Author: Julien Cristau <jcristau@debian.org>
Date:   Tue Aug 24 19:28:26 2010 +0200

    Don't build libkms and vmwgfx.

diff --git a/debian/changelog b/debian/changelog
index e83db4b..9fcae3c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 libdrm (2.4.21-2) UNRELEASED; urgency=low
 
   * Revert nouveau ABI update.
+  * Don't build libkms and vmwgfx.
 
  -- Julien Cristau <jcristau@debian.org>  Tue, 24 Aug 2010 18:27:59 +0200
 
diff --git a/debian/control b/debian/control
index 6dbf6db..5968b3b 100644
--- a/debian/control
+++ b/debian/control
@@ -24,7 +24,6 @@ Depends:
  libdrm-intel1 (= ${binary:Version}) [amd64 i386 kfreebsd-amd64 kfreebsd-i386],
  libdrm-radeon1 (= ${binary:Version}) [linux-any],
  libdrm-nouveau1 (= ${binary:Version}) [linux-any],
- libkms1 (= ${binary:Version}) [linux-any],
  ${misc:Depends},
 Replaces:
  linux-libc-dev (<< 2.6.32-10)
@@ -146,22 +145,3 @@ Description: Userspace interface to radeon-specific kernel DRM services -- debug
  Linux to provide hardware-accelerated OpenGL drivers.
  .
  This package provides the debugging symbols for the libdrm-radeon1 package.
-
-Package: libkms1
-Section: libs
-Architecture: linux-any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: Userspace interface to kernel DRM buffer management
- This library implements a unified userspace interface to the different buffer
- management interfaces of the kernel DRM hardware drivers.
-
-Package: libkms1-dbg
-Section: debug
-Priority: extra
-Architecture: linux-any
-Depends: libkms1 (= ${binary:Version}), ${misc:Depends}
-Description: Userspace interface to kernel DRM buffer management -- debugging symbols
- This library implements a unified userspace interface to the different buffer
- management interfaces of the kernel DRM hardware drivers.
- .
- This package provides the debugging symbols for the libkms1 package.
diff --git a/debian/rules b/debian/rules
index 52ea2fb..09c0813 100755
--- a/debian/rules
+++ b/debian/rules
@@ -24,9 +24,9 @@ else
 endif
 ifeq (linux, $(DEB_HOST_ARCH_OS))
 	confflags += --enable-udev
-	confflags += --enable-libkms
-	LIBKMS = yes
-	confflags += --enable-vmwgfx-experimental-api
+	confflags += --disable-libkms
+	LIBKMS = no
+	confflags += --disable-vmwgfx-experimental-api
 	confflags += --enable-nouveau-experimental-api
 	NOUVEAU = yes
 	confflags += --enable-radeon

commit 0775301a3d50a33faa4e85091230f1e83d832eca
Author: Julien Cristau <jcristau@debian.org>
Date:   Tue Aug 24 19:18:07 2010 +0200

    Regenerate ABI revert patch

diff --git a/debian/patches/03_revert_abi_change.diff b/debian/patches/03_revert_abi_change.diff
index 63ddc3c..4fd03e0 100644
--- a/debian/patches/03_revert_abi_change.diff
+++ b/debian/patches/03_revert_abi_change.diff
@@ -1,9 +1,39 @@
-Revert nouveau ABI change to match what is in 2.6.33.
+From e2fd682feb27986451db7c39880fc4d719ea7cfa Mon Sep 17 00:00:00 2001
+From: Julien Cristau <jcristau@debian.org>
+Date: Tue, 24 Aug 2010 19:12:17 +0200
+Subject: [PATCH] Revert nouveau ABI change to match what is in 2.6.33.
 
-This reverts commits after b496c63143e9a4ca02011582329bce2df99d9b7c
-except those that only touch the build system:
-  e73af7f560c95ba9c665bead7fc8eb1471db9975
-  976e779f9cd0571dd2c218580485b39d37bd18a0
+Revert "nouveau: stop shipping nouveau_class.h"
+Revert "nouveau: fix annoying compiler warning"
+Revert "nouveau: remove unused field from nouveau_bo"
+Revert "nouveau: Regenerate nouveau_class.h."
+Revert "nouveau: Fix up the stride of NV20TCL_LIGHT_BACK_*."
+Revert "nouveau: Small lighting related addition to nouveau_class.h."
+Revert "nouveau: Update nouveau_class.h."
+Revert "nouveau: make sure initial kalloc for user bo ends up in the right place"
+Revert "nouveau: Update nouveau_class.h."
+Revert "nv30: update for 8 texture units"
+Revert "nv30: update for front/back stencil inversion"
+Revert "nouveau: bump MAX_PUSH to 512"
+Revert "nouveau: interface changes for 0.0.16 DRM"
+---
+ include/drm/nouveau_drm.h |   86 +-
+ nouveau/Makefile.am       |    5 +-
+ nouveau/nouveau_bo.c      |   83 +-
+ nouveau/nouveau_bo.h      |   14 +
+ nouveau/nouveau_channel.c |    2 +-
+ nouveau/nouveau_channel.h |    5 +-
+ nouveau/nouveau_class.h   | 9041 +++++++++++++++++++++++++++++++++++++++++++++
+ nouveau/nouveau_device.c  |    8 +-
+ nouveau/nouveau_private.h |   14 +-
+ nouveau/nouveau_pushbuf.c |  375 ++-
+ nouveau/nouveau_pushbuf.h |   26 +-
+ nouveau/nouveau_reloc.c   |  138 -
+ nouveau/nouveau_reloc.h   |   32 -
+ 13 files changed, 9447 insertions(+), 382 deletions(-)
+ create mode 100644 nouveau/nouveau_class.h
+ delete mode 100644 nouveau/nouveau_reloc.c
+ delete mode 100644 nouveau/nouveau_reloc.h
 
 diff --git a/include/drm/nouveau_drm.h b/include/drm/nouveau_drm.h
 index a6a9f4a..f745948 100644
@@ -163,7 +193,7 @@ index a6a9f4a..f745948 100644
  
  #endif /* __NOUVEAU_DRM_H__ */
 diff --git a/nouveau/Makefile.am b/nouveau/Makefile.am
-index b6d214a..217b7ef 100644
+index de3f4df..217b7ef 100644
 --- a/nouveau/Makefile.am
 +++ b/nouveau/Makefile.am
 @@ -18,8 +18,7 @@ libdrm_nouveau_la_SOURCES = \
@@ -176,26 +206,21 @@ index b6d214a..217b7ef 100644
  
  libdrm_nouveaucommonincludedir = ${includedir}/nouveau
  libdrm_nouveaucommoninclude_HEADERS = \
-@@ -30,8 +29,7 @@ libdrm_nouveaucommoninclude_HEADERS = \
+@@ -30,7 +29,7 @@ libdrm_nouveaucommoninclude_HEADERS = \
  				nouveau_pushbuf.h \
  				nouveau_bo.h \
  				nouveau_resource.h \
--				nouveau_class.h \
 -				nouveau_reloc.h
 +				nouveau_class.h
  
  
  libdrm_nouveauincludedir = ${includedir}/libdrm
 diff --git a/nouveau/nouveau_bo.c b/nouveau/nouveau_bo.c
-index 32b23b6..10cc8a6 100644
+index 32b23b6..b296e36 100644
 --- a/nouveau/nouveau_bo.c
 +++ b/nouveau/nouveau_bo.c
-@@ -198,9 +198,17 @@ nouveau_bo_new_tile(struct nouveau_device *dev, uint32_t flags, int align,
- 	if (flags & (NOUVEAU_BO_VRAM | NOUVEAU_BO_GART)) {
- 		ret = nouveau_bo_kalloc(nvbo, NULL);
- 		if (ret) {
--			nouveau_bo_ref(NULL, (void *)&nvbo);
-+			nouveau_bo_ref(NULL, (void *)nvbo);
+@@ -201,6 +201,14 @@ nouveau_bo_new_tile(struct nouveau_device *dev, uint32_t flags, int align,
+ 			nouveau_bo_ref(NULL, (void *)&nvbo);
  			return ret;
  		}
 +
@@ -386,47 +411,1992 @@ index ddcf8e4..294f749 100644
  	struct nouveau_grobj *vram;
  	struct nouveau_grobj *gart;
 diff --git a/nouveau/nouveau_class.h b/nouveau/nouveau_class.h
-index 0167cbc..8e7d0ff 100644
---- a/nouveau/nouveau_class.h
+new file mode 100644
+index 0000000..8e7d0ff
+--- /dev/null
 +++ b/nouveau/nouveau_class.h
-@@ -1549,7 +1549,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- #define    NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_GOURAUD				0x00000080
- #define    NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_PHONG				0x000000c0
- #define   NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE			(1 <<  8)
--#define   NV04_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE					(1 << 12)
+@@ -0,0 +1,9041 @@
++/*************************************************************************
++
++   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:anonymous@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
++
++#define  NV04_DVD_SUBPICTURE_NOP							0x00000100
++#define  NV04_DVD_SUBPICTURE_NOTIFY							0x00000104
++#define  NV04_DVD_SUBPICTURE_DMA_NOTIFY							0x00000180
++#define  NV04_DVD_SUBPICTURE_DMA_OVERLAY						0x00000184
++#define  NV04_DVD_SUBPICTURE_DMA_IMAGEIN						0x00000188
++#define  NV04_DVD_SUBPICTURE_DMA_IMAGEOUT						0x0000018c
++#define  NV04_DVD_SUBPICTURE_IMAGEOUT_POINT						0x00000300
++#define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_X_SHIFT					0
++#define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_X_MASK					0x0000ffff
++#define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_Y_SHIFT					16
++#define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_Y_MASK					0xffff0000
++#define  NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE						0x00000304
++#define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_W_SHIFT					0
++#define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_W_MASK					0x0000ffff
++#define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_H_SHIFT					16
++#define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_H_MASK					0xffff0000
++#define  NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT						0x00000308
++#define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_PITCH_SHIFT				0
++#define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_PITCH_MASK				0x0000ffff
++#define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_COLOR_SHIFT				16
++#define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_COLOR_MASK				0xffff0000
++#define  NV04_DVD_SUBPICTURE_IMAGEOUT_OFFSET						0x0000030c
++#define  NV04_DVD_SUBPICTURE_IMAGEIN_DELTA_DU_DX					0x00000310
++#define  NV04_DVD_SUBPICTURE_IMAGEIN_DELTA_DV_DY					0x00000314
++#define  NV04_DVD_SUBPICTURE_IMAGEIN_SIZE						0x00000318
++#define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_W_SHIFT					0
++#define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_W_MASK					0x0000ffff
++#define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_H_SHIFT					16
++#define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_H_MASK					0xffff0000
++#define  NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT						0x0000031c
++#define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_PITCH_SHIFT				0
++#define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_PITCH_MASK					0x0000ffff
++#define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_COLOR_SHIFT				16
++#define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_COLOR_MASK					0xffff0000
++#define  NV04_DVD_SUBPICTURE_IMAGEIN_OFFSET						0x00000320
++#define  NV04_DVD_SUBPICTURE_IMAGEIN_POINT						0x00000324
++#define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_U_SHIFT					0
++#define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_U_MASK					0x0000ffff
++#define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_V_SHIFT					16
++#define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_V_MASK					0xffff0000
++#define  NV04_DVD_SUBPICTURE_OVERLAY_DELTA_DU_DX					0x00000328
++#define  NV04_DVD_SUBPICTURE_OVERLAY_DELTA_DV_DY					0x0000032c
++#define  NV04_DVD_SUBPICTURE_OVERLAY_SIZE						0x00000330
++#define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_W_SHIFT					0
++#define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_W_MASK					0x0000ffff
++#define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_H_SHIFT					16
++#define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_H_MASK					0xffff0000
++#define  NV04_DVD_SUBPICTURE_OVERLAY_FORMAT						0x00000334
++#define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_PITCH_SHIFT				0
++#define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_PITCH_MASK					0x0000ffff
++#define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_COLOR_SHIFT				16
++#define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_COLOR_MASK					0xffff0000
++#define  NV04_DVD_SUBPICTURE_OVERLAY_OFFSET						0x00000338
++#define  NV04_DVD_SUBPICTURE_OVERLAY_POINT						0x0000033c
++#define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_U_SHIFT					0
++#define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_U_MASK					0x0000ffff
++#define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_V_SHIFT					16
++#define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_V_MASK					0xffff0000
++
++
++#define NV10_DVD_SUBPICTURE								0x00000088
++
++#define  NV10_DVD_SUBPICTURE_WAIT_FOR_IDLE						0x00000108
++
++
++#define NV04_MEMORY_TO_MEMORY_FORMAT							0x00000039
++
++#define  NV04_MEMORY_TO_MEMORY_FORMAT_NOP						0x00000100
++#define  NV04_MEMORY_TO_MEMORY_FORMAT_NOTIFY						0x00000104
++#define  NV04_MEMORY_TO_MEMORY_FORMAT_DMA_NOTIFY					0x00000180
++#define  NV04_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_IN					0x00000184
++#define  NV04_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_OUT					0x00000188
++#define  NV04_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN						0x0000030c
++#define  NV04_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT					0x00000310
++#define  NV04_MEMORY_TO_MEMORY_FORMAT_PITCH_IN						0x00000314
++#define  NV04_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT						0x00000318
++#define  NV04_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN					0x0000031c
++#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				0x000000ff
++#define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_SHIFT				8


Reply to: