mesa: Changes to 'debian-experimental'
debian/changelog | 11
debian/patches/07-nouveau-update.diff | 9063 ++++++++++++++++++++++++++++++++++
debian/patches/series | 1
debian/rules | 38
4 files changed, 9096 insertions(+), 17 deletions(-)
New commits:
commit 6c6659114a8ebd0e8ca0990373f4a4004c222c49
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date: Mon Jun 14 23:19:13 2010 +1000
Be more careful about only acting on packages built for this arch.
Use the same make variables to enable bits of mesa and check whether they've been built
diff --git a/debian/changelog b/debian/changelog
index b817e87..443a82e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -17,8 +17,12 @@ mesa (7.8.1-3) UNRELEASED; urgency=low
* debian/patches/07-nouveau-update.diff:
- Pull in nouveau_class.h header no longer shipped by libdrm 2.4.21 and
update nouveau build to use it. Fixes FTBFS against libdrm 2.4.21.
+ * debian/rules:
+ - Simplify selecting which gallium drivers are built. Use this to only
+ act on gallium packages on archs where we're actually building them.
+ Part of the fix for FTBFS on Hurd and kFreeBSD.
- --
+ -- Christopher James Halse Rogers <raof@ubuntu.com> Mon, 14 Jun 2010 13:28:59 +1000
mesa (7.8.1-2) experimental; urgency=low
diff --git a/debian/rules b/debian/rules
index 8789a58..bdfb4fd 100755
--- a/debian/rules
+++ b/debian/rules
@@ -56,11 +56,7 @@ confflags-common = \
CFLAGS="$(CFLAGS)"
DRI_DRIVERS = swrast
-GALLIUM_DRIVERS = --enable-gallium-swrast
-# Mesa 7.8 doesn't build a gallium swrast DRI driver
-# This is built in git, and will be built in 7.9
-HAVE_GALLIUM_DRI_DRIVERS = no
-HAVE_KMS = no
+GALLIUM_DRIVERS = swrast
EGL_DISPLAYS = x11
# hurd doesn't do direct rendering
@@ -71,24 +67,23 @@ else
ifeq ($(DEB_HOST_ARCH_OS), linux)
# Gallium drivers require libdrm-{nouveau,radeon}, only available on Linux
- GALLIUM_DRIVERS += --enable-gallium-nouveau --enable-gallium-radeon
- HAVE_GALLIUM_DRI_DRIVERS = yes
+ GALLIUM_DRIVERS += nouveau radeon
# Although the KMS egl drivers will probably build on kfreebsd & hurd
# only linux actually has KMS drivers implemented at this point.
- HAVE_KMS = yes
+ EGL_DISPLAYS += kms
endif
ifeq ($(DEB_HOST_ARCH), lpia)
DRI_DRIVERS += i915 i965
- GALLIUM_DRIVERS += --enable-gallium-intel
+ GALLIUM_DRIVERS += intel
else ifneq ($(DEB_HOST_ARCH), s390)
DRI_DRIVERS += mach64 mga r128 r200 r300 r600 radeon savage tdfx
ifeq ($(DEB_HOST_ARCH_CPU), i386)
DRI_DRIVERS += i810 i915 i965 sis unichrome
- GALLIUM_DRIVERS += --enable-gallium-intel
+ GALLIUM_DRIVERS += intel
else ifeq ($(DEB_HOST_ARCH_CPU), amd64)
DRI_DRIVERS += i915 i965 sis unichrome
- GALLIUM_DRIVERS += --enable-gallium-intel
+ GALLIUM_DRIVERS += intel
endif
endif
endif
@@ -104,7 +99,7 @@ confflags-dri = \
--with-dri-driverdir=/usr/lib/dri \
--with-egl-displays="$(EGL_DISPLAYS)" \
--enable-glx-tls \
- $(GALLIUM_DRIVERS) \
+ $(addprefix --enable-gallium-,$(GALLIUM_DRIVERS)) \
--with-state-trackers=egl,es,glx,dri,vega \
$(DIRECT_RENDERING) \
$(confflags-common)
@@ -254,6 +249,7 @@ clean: unpatch
# Build architecture-independent files here.
binary-indep: install
+
# Build architecture-dependent files here.
binary-arch: install
dh_testdir
@@ -262,19 +258,27 @@ binary-arch: install
dh_installchangelogs -pmesa-common-dev ChangeLog
dh_installdocs -s
dh_installexamples -s
+
# Classic DRI and Gallium DRI are mixed up together here
# Remove the whole tree to avoid false-positives in --list-missing, and
# install the right files manually.
rm -r debian/tmp/dri/usr/lib/dri
+
+ifeq ($(findstring radeon, $(GALLIUM_DRIVERS)), radeon)
# Radeon searches for r{200,300,600}_dri only, but the gallium driver
# is (at the moment) radeong_dri. Rename it to r300_dri, as it
# fails to support r600.
+ # We don't actually install radeong yet, although it will probably
+ # replace r300 classic soon.
mv build/dri/lib/gallium/radeong_dri.so \
build/dri/lib/gallium/r300_dri.so
+endif
+ifeq ($(findstring intel, $(GALLIUM_DRIVERS)), intel)
# Intel i965 Gallium appears to do nothing more than generate GPU
# lockups. Kill it with fire. i915 is apparently useful.
- -rm build/dri/lib/gallium/i965_dri.so
- -rm debian/tmp/dri/usr/lib/egl/egl_*_i965.so
+ rm build/dri/lib/gallium/i965_dri.so
+ rm debian/tmp/dri/usr/lib/egl/egl_*_i965.so
+endif
dh_install -s --list-missing
dh_installman -s
@@ -283,7 +287,9 @@ binary-arch: install
dh_strip -plibgl1-mesa-swx11 --dbg-package=libgl1-mesa-swx11-dbg
dh_strip -plibgl1-mesa-glx --dbg-package=libgl1-mesa-glx-dbg
dh_strip -plibgl1-mesa-dri --dbg-package=libgl1-mesa-dri-dbg
-ifeq ($(HAVE_GALLIUM_DRI_DRIVERS), yes)
+# Mesa 7.8 doesn't build a gallium swrast DRI driver
+# This is built in git, and will be built in 7.9
+ifneq ($(filter-out swrast, $(GALLIUM_DRIVERS)), )
dh_strip -plibgl1-mesa-dri-experimental --dbg-package=libgl1-mesa-dri-experimental-dbg
endif
dh_strip -plibopenvg1-mesa --dbg-package=libopenvg1-mesa-dbg
@@ -291,7 +297,7 @@ endif
dh_strip -plibgles1-mesa --dbg-package=libgles1-mesa-dbg
dh_strip -plibgles2-mesa --dbg-package=libgles2-mesa-dbg
dh_strip -plibegl1-mesa-drivers-x11 --dbg-package=libegl1-mesa-drivers-x11-dbg
-ifeq ($(HAVE_KMS), yes)
+ifeq ($(findstring kms, $(EGL_DISPLAYS)), kms)
dh_strip -plibegl1-mesa-drivers-kms --dbg-package=libegl1-mesa-drivers-kms-dbg
endif
dh_strip -s --remaining-packages
commit 52e92f97f969714e8e58a6b2bfab85bd4562ab63
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date: Mon Jun 14 12:46:28 2010 +1000
Add patch by Robert Hooker to fix nouveau build against libdrm 2.4.21
diff --git a/debian/changelog b/debian/changelog
index 5c098e3..b817e87 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,7 +13,12 @@ mesa (7.8.1-3) UNRELEASED; urgency=low
dependency on libxt-dev and lesstif2-dev.
* Add new lintian overrides for the package-name-doesnt-match-sonames stuff.
- -- Robert Hooker <sarvatt@ubuntu.com> Fri, 11 Jun 2010 09:46:20 -0400
+ [ Christopher James Halse Rogers ]
+ * debian/patches/07-nouveau-update.diff:
+ - Pull in nouveau_class.h header no longer shipped by libdrm 2.4.21 and
+ update nouveau build to use it. Fixes FTBFS against libdrm 2.4.21.
+
+ --
mesa (7.8.1-2) experimental; urgency=low
diff --git a/debian/patches/07-nouveau-update.diff b/debian/patches/07-nouveau-update.diff
new file mode 100644
index 0000000..f3629af
--- /dev/null
+++ b/debian/patches/07-nouveau-update.diff
@@ -0,0 +1,9063 @@
+From: Robert Hooker <sarvatt@ubuntu.com>
+Subject: nouveau: Import latest nouveau_class.h from renouveau
+
+And fix nv50_screen.c to compile against the updated header.
+
+Cherry-pick from upstream commit 54526154c5b02be0fbae6b0dad766c6be1bee21
+with modifications to apply to mesa 7.8 branch.
+---
+diff --git a/src/gallium/drivers/nouveau/nouveau_class.h b/src/gallium/drivers/nouveau/nouveau_class.h
+new file mode 100644
+index 0000000..a701b9d
+--- a/dev/null
++++ b/src/gallium/drivers/nouveau/nouveau_class.h
+@@ -0,0 +1,9024 @@
++/*************************************************************************
++
++ Autogenerated file, do not edit !
++
++ This file was generated by renouveau-gen from renouveau.xml, the
++ XML database of nvidia objects and methods. renouveau-gen and
++ renouveau.xml can be found in CVS module renouveau of sourceforge.net
++ project nouveau:
++
++cvs -z3 -d:pserver: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
++#define NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_MASK 0x0000ff00
++#define NV04_MEMORY_TO_MEMORY_FORMAT_BUF_NOTIFY 0x00000328
++
++
++#define NV50_MEMORY_TO_MEMORY_FORMAT 0x00005039
++
++#define NV50_MEMORY_TO_MEMORY_FORMAT_SERIALIZE 0x00000110
++#define NV50_MEMORY_TO_MEMORY_FORMAT_LINEAR_IN 0x00000200
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_IN 0x00000204
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_IN 0x00000208
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_IN 0x0000020c
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_IN 0x00000210
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Z 0x00000214
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN 0x00000218
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X_SHIFT 0
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X_MASK 0x0000ffff
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y_SHIFT 16
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y_MASK 0xffff0000
++#define NV50_MEMORY_TO_MEMORY_FORMAT_LINEAR_OUT 0x0000021c
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_OUT 0x00000220
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_OUT 0x00000224
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_OUT 0x00000228
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_OUT 0x0000022c
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Z 0x00000230
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT 0x00000234
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X_SHIFT 0
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X_MASK 0x0000ffff
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y_SHIFT 16
++#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y_MASK 0xffff0000
++#define NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_HIGH 0x00000238
++#define NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH 0x0000023c
++
++
++#define NV01_MEMORY_LOCAL_BANKED 0x0000003d
++
++
++
++#define NV01_MAPPING_SYSTEM 0x0000003e
++
++
++
++#define NV03_MEMORY_LOCAL_CURSOR 0x0000003f
++
++
++
++#define NV01_MEMORY_LOCAL_LINEAR 0x00000040
++
++
++
++#define NV01_MAPPING_LOCAL 0x00000041
++
++
++
++#define NV04_CONTEXT_SURFACES_2D 0x00000042
++
++#define NV04_CONTEXT_SURFACES_2D_NOP 0x00000100
++#define NV04_CONTEXT_SURFACES_2D_NOTIFY 0x00000104
++#define NV04_CONTEXT_SURFACES_2D_PM_TRIGGER 0x00000140
++#define NV04_CONTEXT_SURFACES_2D_DMA_NOTIFY 0x00000180
++#define NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_SOURCE 0x00000184
++#define NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_DESTIN 0x00000188
++#define NV04_CONTEXT_SURFACES_2D_FORMAT 0x00000300
++#define NV04_CONTEXT_SURFACES_2D_FORMAT_Y8 0x00000001
++#define NV04_CONTEXT_SURFACES_2D_FORMAT_X1R5G5B5_Z1R5G5B5 0x00000002
++#define NV04_CONTEXT_SURFACES_2D_FORMAT_X1R5G5B5_X1R5G5B5 0x00000003
++#define NV04_CONTEXT_SURFACES_2D_FORMAT_R5G6B5 0x00000004
++#define NV04_CONTEXT_SURFACES_2D_FORMAT_Y16 0x00000005
++#define NV04_CONTEXT_SURFACES_2D_FORMAT_X8R8G8B8_Z8R8G8B8 0x00000006
++#define NV04_CONTEXT_SURFACES_2D_FORMAT_X8R8G8B8_X8R8G8B8 0x00000007
++#define NV04_CONTEXT_SURFACES_2D_FORMAT_X1A7R8G8B8_Z1A7R8G8B8 0x00000008
++#define NV04_CONTEXT_SURFACES_2D_FORMAT_X1A7R8G8B8_X1A7R8G8B8 0x00000009
++#define NV04_CONTEXT_SURFACES_2D_FORMAT_A8R8G8B8 0x0000000a
++#define NV04_CONTEXT_SURFACES_2D_FORMAT_Y32 0x0000000b
++#define NV04_CONTEXT_SURFACES_2D_PITCH 0x00000304
++#define NV04_CONTEXT_SURFACES_2D_PITCH_SOURCE_SHIFT 0
++#define NV04_CONTEXT_SURFACES_2D_PITCH_SOURCE_MASK 0x0000ffff
++#define NV04_CONTEXT_SURFACES_2D_PITCH_DESTIN_SHIFT 16
++#define NV04_CONTEXT_SURFACES_2D_PITCH_DESTIN_MASK 0xffff0000
++#define NV04_CONTEXT_SURFACES_2D_OFFSET_SOURCE 0x00000308
++#define NV04_CONTEXT_SURFACES_2D_OFFSET_DESTIN 0x0000030c
++
++
++#define NV10_CONTEXT_SURFACES_2D 0x00000062
++
++
++
++#define NV30_CONTEXT_SURFACES_2D 0x00000362
++
++
++
++#define NV40_CONTEXT_SURFACES_2D 0x00003062
++
++
++
++#define NV03_CONTEXT_ROP 0x00000043
++
++#define NV03_CONTEXT_ROP_NOP 0x00000100
++#define NV03_CONTEXT_ROP_NOTIFY 0x00000104
++#define NV03_CONTEXT_ROP_DMA_NOTIFY 0x00000180
++#define NV03_CONTEXT_ROP_ROP 0x00000300
++#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_SHIFT 0
++#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_MASK 0x0000000f
++#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_CLEAR 0x00000000
++#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NOR 0x00000001
Reply to: