libdrm: Changes to 'debian-experimental'
ChangeLog | 471 +
Makefile.am | 1
configure.ac | 51
debian/changelog | 15
debian/libdrm-intel1.symbols | 2
debian/libdrm-radeon1.symbols | 20
debian/patches/03_revert_abi_change.diff | 9100 ++++++++++++++++++++++++++++++-
debian/rules | 5
include/drm/Makefile.am | 2
include/drm/i915_drm.h | 56
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 | 12
intel/intel_bufmgr.h | 5
intel/intel_bufmgr_gem.c | 348 +
intel/intel_bufmgr_priv.h | 5
intel/intel_chipset.h | 90
intel/libdrm_intel.pc.in | 2
libdrm.pc.in | 2
libkms/Makefile.am | 5
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 | 5
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 | 2
radeon/radeon_cs_gem.c | 231
radeon/radeon_cs_int.h | 1
tests/kmstest/main.c | 1
tests/modeprint/modeprint.c | 4
tests/modetest/modetest.c | 29
xf86atomic.h | 99
xf86drmMode.h | 2
50 files changed, 11251 insertions(+), 9349 deletions(-)
New commits:
commit 227cebf8981fab5c24dde6af0b76a92d506ef596
Author: Brice Goglin <bgoglin@debian.org>
Date: Wed Apr 14 14:46:30 2010 +0200
Disable libkms for now
diff --git a/debian/changelog b/debian/changelog
index 604bb71..6c6a399 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ libdrm (2.4.20-1) UNRELEASED; urgency=low
* New upstream release.
* Pull upstream master up to commit 3506173b for bug fixes.
* Update libdrm-intel1.symbols, libdrm-radeon1.symbols and shlibs.
+ * Disable libkms for now.
-- Brice Goglin <bgoglin@debian.org> Wed, 14 Apr 2010 14:35:23 +0200
diff --git a/debian/rules b/debian/rules
index 711da00..41b99db 100755
--- a/debian/rules
+++ b/debian/rules
@@ -17,6 +17,7 @@ DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+confflags += --disable-libkms
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
confflags += --build=$(DEB_HOST_GNU_TYPE)
else
commit bbb086ba6afe95a258e56b39d25158e9db97ff60
Author: Brice Goglin <bgoglin@debian.org>
Date: Wed Apr 14 14:45:46 2010 +0200
Update libdrm-radeon1.symbols and shlibs.
diff --git a/debian/changelog b/debian/changelog
index e42fad5..604bb71 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,7 +2,7 @@ libdrm (2.4.20-1) UNRELEASED; urgency=low
* New upstream release.
* Pull upstream master up to commit 3506173b for bug fixes.
- * Update libdrm-intel1.symbols and shlibs.
+ * Update libdrm-intel1.symbols, libdrm-radeon1.symbols and shlibs.
-- Brice Goglin <bgoglin@debian.org> Wed, 14 Apr 2010 14:35:23 +0200
diff --git a/debian/libdrm-radeon1.symbols b/debian/libdrm-radeon1.symbols
index 12b1231..11012d0 100644
--- a/debian/libdrm-radeon1.symbols
+++ b/debian/libdrm-radeon1.symbols
@@ -1,4 +1,22 @@
libdrm_radeon.so.1 libdrm-radeon1 #MINVER#
+ bof_array@Base 2.4.20-1
+ bof_array_append@Base 2.4.20-1
+ bof_array_get@Base 2.4.20-1
+ bof_array_size@Base 2.4.20-1
+ bof_blob@Base 2.4.20-1
+ bof_blob_size@Base 2.4.20-1
+ bof_blob_value@Base 2.4.20-1
+ bof_decref@Base 2.4.20-1
+ bof_dump_file@Base 2.4.20-1
+ bof_incref@Base 2.4.20-1
+ bof_int32@Base 2.4.20-1
+ bof_int32_value@Base 2.4.20-1
+ bof_load_file@Base 2.4.20-1
+ bof_object@Base 2.4.20-1
+ bof_object_get@Base 2.4.20-1
+ bof_object_set@Base 2.4.20-1
+ bof_print@Base 2.4.20-1
+ bof_string@Base 2.4.20-1
radeon_bo_debug@Base 2.4.17
radeon_bo_get_handle@Base 2.4.17
radeon_bo_get_src_domain@Base 2.4.17
@@ -21,6 +39,7 @@ libdrm_radeon.so.1 libdrm-radeon1 #MINVER#
radeon_cs_emit@Base 2.4.17
radeon_cs_end@Base 2.4.17
radeon_cs_erase@Base 2.4.17
+ radeon_cs_get_id@Base 2.4.20
radeon_cs_manager_gem_ctor@Base 2.4.17
radeon_cs_manager_gem_dtor@Base 2.4.17
radeon_cs_need_flush@Base 2.4.17
@@ -33,5 +52,6 @@ libdrm_radeon.so.1 libdrm-radeon1 #MINVER#
radeon_cs_space_set_flush@Base 2.4.17
radeon_cs_write_reloc@Base 2.4.17
radeon_gem_get_kernel_name@Base 2.4.17
+ radeon_gem_get_reloc_in_cs@Base 2.4.20
radeon_gem_name_bo@Base 2.4.17
radeon_gem_set_domain@Base 2.4.17
diff --git a/debian/rules b/debian/rules
index b4c58e3..711da00 100755
--- a/debian/rules
+++ b/debian/rules
@@ -142,7 +142,7 @@ ifeq ($(NOUVEAU), yes)
dh_makeshlibs -plibdrm-nouveau1 -V'libdrm-nouveau1 (>= 2.4.16)' -- -c4
endif
ifeq ($(RADEON), yes)
- dh_makeshlibs -plibdrm-radeon1 -V'libdrm-radeon1 (>= 2.4.17)' -- -c4
+ dh_makeshlibs -plibdrm-radeon1 -V'libdrm-radeon1 (>= 2.4.20)' -- -c4
endif
dh_installdeb -s
dh_shlibdeps -s
commit a700a5c555db159a30580fe994457e335d4fa261
Author: Brice Goglin <bgoglin@debian.org>
Date: Wed Apr 14 14:42:23 2010 +0200
Update libdrm-intel1.symbols and shlibs.
diff --git a/debian/changelog b/debian/changelog
index 743cf1e..e42fad5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ libdrm (2.4.20-1) UNRELEASED; urgency=low
* New upstream release.
* Pull upstream master up to commit 3506173b for bug fixes.
+ * Update libdrm-intel1.symbols and shlibs.
-- Brice Goglin <bgoglin@debian.org> Wed, 14 Apr 2010 14:35:23 +0200
diff --git a/debian/libdrm-intel1.symbols b/debian/libdrm-intel1.symbols
index 71e8f02..68b9c37 100644
--- a/debian/libdrm-intel1.symbols
+++ b/debian/libdrm-intel1.symbols
@@ -5,6 +5,7 @@ libdrm_intel.so.1 libdrm-intel1 #MINVER#
drm_intel_bo_busy@Base 2.4.13
drm_intel_bo_disable_reuse@Base 2.4.10
drm_intel_bo_emit_reloc@Base 2.4.1
+ drm_intel_bo_emit_reloc_fence@Base 2.4.20
drm_intel_bo_exec@Base 2.4.1
drm_intel_bo_fake_alloc_static@Base 2.4.1
drm_intel_bo_fake_disable_backing_store@Base 2.4.1
@@ -31,6 +32,7 @@ libdrm_intel.so.1 libdrm-intel1 #MINVER#
drm_intel_bufmgr_fake_set_exec_callback@Base 2.4.1
drm_intel_bufmgr_fake_set_fence_callback@Base 2.4.1
drm_intel_bufmgr_fake_set_last_dispatch@Base 2.4.1
+ drm_intel_bufmgr_gem_enable_fenced_relocs@Base 2.4.20
drm_intel_bufmgr_gem_enable_reuse@Base 2.4.1
drm_intel_bufmgr_gem_init@Base 2.4.1
drm_intel_bufmgr_set_debug@Base 2.4.1
diff --git a/debian/rules b/debian/rules
index 471ea74..b4c58e3 100755
--- a/debian/rules
+++ b/debian/rules
@@ -136,7 +136,7 @@ endif
dh_fixperms -s
dh_makeshlibs -plibdrm2 -V'libdrm2 (>= 2.4.17)' -- -c4
ifeq ($(INTEL), yes)
- dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.16)' -- -c4
+ dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.20)' -- -c4
endif
ifeq ($(NOUVEAU), yes)
dh_makeshlibs -plibdrm-nouveau1 -V'libdrm-nouveau1 (>= 2.4.16)' -- -c4
commit d55c5de576dd9776debc8db9c7e1ccc978b2bd06
Author: Brice Goglin <bgoglin@debian.org>
Date: Tue Apr 6 21:48:37 2010 +0200
Update 03_revert_abi_change.diff
diff --git a/debian/patches/03_revert_abi_change.diff b/debian/patches/03_revert_abi_change.diff
index 12dd8f6..3128660 100644
--- a/debian/patches/03_revert_abi_change.diff
+++ b/debian/patches/03_revert_abi_change.diff
@@ -1,6 +1,9 @@
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
diff --git a/include/drm/nouveau_drm.h b/include/drm/nouveau_drm.h
index a6a9f4a..f745948 100644
@@ -160,7 +163,7 @@ index a6a9f4a..f745948 100644
#endif /* __NOUVEAU_DRM_H__ */
diff --git a/nouveau/Makefile.am b/nouveau/Makefile.am
-index 5d759c5..70bbbb2 100644
+index de3f4df..217b7ef 100644
--- a/nouveau/Makefile.am
+++ b/nouveau/Makefile.am
@@ -18,8 +18,7 @@ libdrm_nouveau_la_SOURCES = \
@@ -173,22 +176,25 @@ index 5d759c5..70bbbb2 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}/drm
+ libdrm_nouveauincludedir = ${includedir}/libdrm
diff --git a/nouveau/nouveau_bo.c b/nouveau/nouveau_bo.c
-index 4973636..10cc8a6 100644
+index 32b23b6..10cc8a6 100644
--- a/nouveau/nouveau_bo.c
+++ b/nouveau/nouveau_bo.c
-@@ -201,6 +201,14 @@ nouveau_bo_new_tile(struct nouveau_device *dev, uint32_t flags, int align,
- nouveau_bo_ref(NULL, (void *)nvbo);
+@@ -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);
return ret;
}
+
@@ -346,6 +352,19 @@ index 1e77ab0..fdad63e 100644
nouveau_bo_busy(struct nouveau_bo *, uint32_t access);
uint32_t
+diff --git a/nouveau/nouveau_channel.c b/nouveau/nouveau_channel.c
+index 40a0b34..5622c1d 100644
+--- a/nouveau/nouveau_channel.c
++++ b/nouveau/nouveau_channel.c
+@@ -106,7 +106,7 @@ nouveau_channel_free(struct nouveau_channel **chan)
+ struct nouveau_channel_priv *nvchan;
+ struct nouveau_device_priv *nvdev;
+ struct drm_nouveau_channel_free cf;
+- unsigned i;
++ int i;
+
+ if (!chan || !*chan)
+ return;
diff --git a/nouveau/nouveau_channel.h b/nouveau/nouveau_channel.h
index ddcf8e4..294f749 100644
--- a/nouveau/nouveau_channel.h
@@ -365,6 +384,9053 @@ index ddcf8e4..294f749 100644
struct nouveau_grobj *nullobj;
struct nouveau_grobj *vram;
struct nouveau_grobj *gart;
+diff --git a/nouveau/nouveau_class.h b/nouveau/nouveau_class.h
+new file mode 100644
+index 0000000..8e7d0ff
+--- /dev/null
++++ b/nouveau/nouveau_class.h
+@@ -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
Reply to: