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

xserver-xorg-video-nouveau: Changes to 'debian-unstable'



 ChangeLog                                                 |  622 +++
 configure.ac                                              |    2 
 debian/changelog                                          |   45 
 debian/control                                            |    9 
 debian/patches/02-drm-nouveau-newabi.patch                | 2285 --------------
 debian/patches/03-fix-shaders-on-big-endian-machines.diff |  297 -
 debian/patches/series                                     |    2 
 debian/rules                                              |   11 
 debian/source/lintian-overrides                           |    2 
 debian/watch                                              |    4 
 src/Makefile.am                                           |    2 
 src/drmmode_display.c                                     |   70 
 src/nouveau_dri2.c                                        |  165 -
 src/nouveau_exa.c                                         |   65 
 src/nouveau_local.h                                       |    1 
 src/nouveau_xv.c                                          |    4 
 src/nv30_exa.c                                            |  272 -
 src/nv50_exa.c                                            |    3 
 src/nv_accel_common.c                                     |   18 
 src/nv_driver.c                                           |  319 +
 src/nv_include.h                                          |    9 
 src/nv_proto.h                                            |    2 
 src/nv_type.h                                             |   16 
 src/nvc0_accel.c                                          |  104 
 src/nvc0_accel.h                                          |    1 
 src/nvc0_exa.c                                            |   37 
 src/nvc0_shader.h                                         |  444 --
 src/nvc0_xv.c                                             |    4 
 src/nve0_shader.h                                         |  440 --
 src/shader/Makefile                                       |   30 
 src/shader/exac8nvc0.fp                                   |   41 
 src/shader/exac8nvc0.fpc                                  |   22 
 src/shader/exac8nve0.fp                                   |   42 
 src/shader/exac8nve0.fpc                                  |   28 
 src/shader/exacanvc0.fp                                   |   41 
 src/shader/exacanvc0.fpc                                  |   25 
 src/shader/exacanve0.fp                                   |   43 
 src/shader/exacanve0.fpc                                  |   30 
 src/shader/exacmnvc0.fp                                   |   41 
 src/shader/exacmnvc0.fpc                                  |   25 
 src/shader/exacmnve0.fp                                   |   43 
 src/shader/exacmnve0.fpc                                  |   30 
 src/shader/exas8nvc0.fp                                   |   37 
 src/shader/exas8nvc0.fpc                                  |   14 
 src/shader/exas8nve0.fp                                   |   38 
 src/shader/exas8nve0.fpc                                  |   20 
 src/shader/exasanvc0.fp                                   |   41 
 src/shader/exasanvc0.fpc                                  |   25 
 src/shader/exasanve0.fp                                   |   43 
 src/shader/exasanve0.fpc                                  |   30 
 src/shader/exascnvc0.fp                                   |   34 
 src/shader/exascnvc0.fpc                                  |   11 
 src/shader/exascnve0.fp                                   |   35 
 src/shader/exascnve0.fpc                                  |   14 
 src/shader/videonvc0.fp                                   |   47 
 src/shader/videonvc0.fpc                                  |   37 
 src/shader/videonve0.fp                                   |   50 
 src/shader/videonve0.fpc                                  |   44 
 src/shader/xfrm2nvc0.vp                                   |   63 
 src/shader/xfrm2nvc0.vpc                                  |   69 
 src/shader/xfrm2nve0.vp                                   |   63 
 src/shader/xfrm2nve0.vpc                                  |   70 
 62 files changed, 2716 insertions(+), 3765 deletions(-)

New commits:
commit 67385112b53c45b245708bcd0d0df39c8f3e3bf0
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri Jun 7 21:00:06 2013 +0200

    Bump Standards-Version to 3.9.4

diff --git a/debian/changelog b/debian/changelog
index 087d22c..b044063 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ xserver-xorg-video-nouveau (1:1.0.7-2) UNRELEASED; urgency=low
   * Merge upstream master branch up to commit bf72ae1f65.
     - Fix zaphod setups (Closes: #708310).
   * Switch Vcs-* fields to anonscm.debian.org.
+  * Bump Standards-Version to 3.9.4, no changes needed.
 
  -- Sven Joachim <svenjoac@gmx.de>  Fri, 07 Jun 2013 20:58:05 +0200
 
diff --git a/debian/control b/debian/control
index 17bfabf..69fe789 100644
--- a/debian/control
+++ b/debian/control
@@ -23,7 +23,7 @@ Build-Depends:
  libtool,
  xutils-dev,
  quilt,
-Standards-Version: 3.9.3
+Standards-Version: 3.9.4
 Homepage: http://nouveau.freedesktop.org/wiki/
 Vcs-Git: git://anonscm.debian.org/pkg-xorg/driver/xserver-xorg-video-nouveau
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-xorg/driver/xserver-xorg-video-nouveau.git

commit 7f84ff8f5ee936651454ccad3fee1d6545c9b49d
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri Jun 7 20:59:24 2013 +0200

    Switch Vcs-* fields to anonscm.debian.org

diff --git a/debian/changelog b/debian/changelog
index afc9f99..087d22c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ xserver-xorg-video-nouveau (1:1.0.7-2) UNRELEASED; urgency=low
 
   * Merge upstream master branch up to commit bf72ae1f65.
     - Fix zaphod setups (Closes: #708310).
+  * Switch Vcs-* fields to anonscm.debian.org.
 
  -- Sven Joachim <svenjoac@gmx.de>  Fri, 07 Jun 2013 20:58:05 +0200
 
diff --git a/debian/control b/debian/control
index 4975203..17bfabf 100644
--- a/debian/control
+++ b/debian/control
@@ -25,8 +25,8 @@ Build-Depends:
  quilt,
 Standards-Version: 3.9.3
 Homepage: http://nouveau.freedesktop.org/wiki/
-Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-nouveau
-Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-nouveau.git
+Vcs-Git: git://anonscm.debian.org/pkg-xorg/driver/xserver-xorg-video-nouveau
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-xorg/driver/xserver-xorg-video-nouveau.git
 
 Package: xserver-xorg-video-nouveau
 Architecture: linux-any

commit 2a11b5bd23a0027605af905194a62d742f44ece8
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri Jun 7 20:58:53 2013 +0200

    Close bug #708310
    
    According to the submitter, commit d3b52efe95 fixes the problem.

diff --git a/debian/changelog b/debian/changelog
index c44a042..afc9f99 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 xserver-xorg-video-nouveau (1:1.0.7-2) UNRELEASED; urgency=low
 
   * Merge upstream master branch up to commit bf72ae1f65.
+    - Fix zaphod setups (Closes: #708310).
 
  -- Sven Joachim <svenjoac@gmx.de>  Fri, 07 Jun 2013 20:58:05 +0200
 

commit 978deb37299e1881a8d6ab3091ca66aa641ad93c
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri Jun 7 20:58:26 2013 +0200

    Update changelogs

diff --git a/ChangeLog b/ChangeLog
index 4cea0ef..f59a678 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,104 @@
+commit bf72ae1f6574c540f0afc2d7845d41df43507a8f
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date:   Wed May 15 22:05:01 2013 +1000
+
+    nve0: envyas isn't overly clever.. avoid short-form instructions
+    
+    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 41cc2f24c43d2656ac722f594aaebad93e37dfec
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date:   Wed May 15 21:13:11 2013 +1000
+
+    nvc0-nve0: decompile shaders into their source, add basic build system
+    
+    Far, far easier to maintain this way...
+    
+    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 1edb5d7ae450a32fe6607d536653cf733444e7e2
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date:   Wed May 15 20:47:44 2013 +1000
+
+    nvc0-nve0: split shader code from their headers
+    
+    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit c18439f759bec267a3b67d375dcbfeb8a6fd7b6a
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Mon May 13 13:55:51 2013 +1000
+
+    nouveau: clean up nv entity index declarations.
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit d3b52efe959f255784f5ead16d7276ca0fb4cdb1
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Mon May 13 13:35:12 2013 +1000
+
+    nouveau: attempt to fix zaphod since dri1 code removal
+    
+    j_v on #nouveau bisected b1a630b48210d6a3c44994fce1b73273000ace5c has
+    breaking zaphod, on review it was trying to open the drm fd a second time
+    which was unnecessary.
+    
+    Avoid the problem by storing the nv fd in an entity and have share it between
+    the two scrn info recs.
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 50426ac83f9f077791e4df8c04fc0ecefc06e8ab
+Author: Marek Vasut <marex@denx.de>
+Date:   Fri May 3 15:48:55 2013 +0200
+
+    nouveau: Allow 3D accelerators with output ports
+    
+    This patch let's cards with PCI class 0x30200 (3D controller) be
+    operated by the nouveau driver as well. The nv Quadro NVS 450 is
+    one such card, where the first GPU has PCI class 0x30000 and the
+    other GPU has PCI class 0x30200. By ignoring the 1 << 9 bit in
+    the PCI class mask, displays attached to the other GPU can also
+    be used now.
+    
+    Signed-off-by: Marek Vasut <marex@denx.de>
+    Cc: Dave Airlie <airlied@redhat.com>
+    Cc: Ben Skeggs <skeggsb@gmail.com>
+    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 2fa3397e348161a3394e2b456f065921272a056a
+Author: Ilia Mirkin <imirkin@alum.mit.edu>
+Date:   Fri May 3 09:59:39 2013 -0400
+
+    nouveau_xv: Avoid reading off the end of the source image on NV50+
+    
+    The 'w' argument to NVCopyNV12ColorPlanes is used to index into the
+    source image. line_len is rounded up to 8 on NV50+, so if the source
+    image (+ left offset) is not rounded to 8, NVCopyNV12ColorPlanes could
+    read past the end of the array and crash X. This change can cause the
+    last few horizontal pixels of dst to not be initialized, but they
+    should be truncated by the renderer anyways.
+    
+    See https://bugs.freedesktop.org/show_bug.cgi?id=63263
+    
+    Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
+    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 81f9ab38f0a5de7217227dd17a4d0e50dffd0d28
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date:   Thu May 2 11:38:07 2013 +1000
+
+    nvf0: recognise as supported chipset
+    
+    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 653c95d60af0f7c19a1d2f3b76dd17bb169d9c9b
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date:   Mon Apr 29 10:07:59 2013 +1000
+
+    nve0: explicitly ask kernel for copy2 object
+    
+    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
 commit 6771424d79e541d2fa7253a582db3dc9108fd97d
 Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
 Date:   Wed Mar 27 09:50:03 2013 +0100
diff --git a/debian/changelog b/debian/changelog
index 84c8d87..c44a042 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-nouveau (1:1.0.7-2) UNRELEASED; urgency=low
+
+  * Merge upstream master branch up to commit bf72ae1f65.
+
+ -- Sven Joachim <svenjoac@gmx.de>  Fri, 07 Jun 2013 20:58:05 +0200
+
 xserver-xorg-video-nouveau (1:1.0.7-1) experimental; urgency=low
 
   [ Maarten Lankhorst ]

commit bf72ae1f6574c540f0afc2d7845d41df43507a8f
Author: Ben Skeggs <bskeggs@redhat.com>
Date:   Wed May 15 22:05:01 2013 +1000

    nve0: envyas isn't overly clever.. avoid short-form instructions
    
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>

diff --git a/src/shader/exac8nve0.fp b/src/shader/exac8nve0.fp
index 55cdde2..f4b4e82 100644
--- a/src/shader/exac8nve0.fp
+++ b/src/shader/exac8nve0.fp
@@ -35,8 +35,8 @@ interp mul f32 $r2 a[0x80] $r0 0x0
 tex t lauto live dfp #:#:#:$r0 t2d $t0 $s0 $r2:$r3 ()
 texbar 0x0
 mul ftz rn f32 $r3 $r0 $r1
-mov b32 $r2 $r3
-mov b32 $r1 $r3
-mov b32 $r0 $r3
-exit
+long mov b32 $r2 $r3
+long mov b32 $r1 $r3
+long mov b32 $r0 $r3
+long exit
 #endif
diff --git a/src/shader/exac8nve0.fpc b/src/shader/exac8nve0.fpc
index c7fc3bd..9e5e741 100644
--- a/src/shader/exac8nve0.fpc
+++ b/src/shader/exac8nve0.fpc
@@ -18,7 +18,11 @@
 0xf0000000,
 0x0400dc40,
 0x58000000,
-0x00309c28,
-0x00305c28,
-0x00301c28,
-0x88001dff,
+0x0c009de4,
+0x28000000,
+0x0c005de4,
+0x28000000,
+0x0c001de4,
+0x28000000,
+0x00001de7,
+0x80000000,
diff --git a/src/shader/exacanve0.fp b/src/shader/exacanve0.fp
index dc54771..edeb717 100644
--- a/src/shader/exacanve0.fp
+++ b/src/shader/exacanve0.fp
@@ -39,5 +39,5 @@ mul ftz rn f32 $r3 $r3 $r7
 mul ftz rn f32 $r2 $r2 $r6
 mul ftz rn f32 $r1 $r1 $r5
 mul ftz rn f32 $r0 $r0 $r4
-exit
+long exit
 #endif
diff --git a/src/shader/exacanve0.fpc b/src/shader/exacanve0.fpc
index 52a736d..a8320f0 100644
--- a/src/shader/exacanve0.fpc
+++ b/src/shader/exacanve0.fpc
@@ -26,4 +26,5 @@
 0x58000000,
 0x10001c40,
 0x58000000,
-0x88001dff,
+0x00001de7,
+0x80000000,
diff --git a/src/shader/exacmnve0.fp b/src/shader/exacmnve0.fp
index 5e0edfe..09d22c1 100644
--- a/src/shader/exacmnve0.fp
+++ b/src/shader/exacmnve0.fp
@@ -39,5 +39,5 @@ mul ftz rn f32 $r3 $r3 $r4
 mul ftz rn f32 $r2 $r2 $r4
 mul ftz rn f32 $r1 $r1 $r4
 mul ftz rn f32 $r0 $r0 $r4
-exit
+long exit
 #endif
diff --git a/src/shader/exacmnve0.fpc b/src/shader/exacmnve0.fpc
index 15694a0..5c2d4bf 100644
--- a/src/shader/exacmnve0.fpc
+++ b/src/shader/exacmnve0.fpc
@@ -26,4 +26,5 @@
 0x58000000,
 0x10001c40,
 0x58000000,
-0x88001dff,
+0x00001de7,
+0x80000000,
diff --git a/src/shader/exas8nve0.fp b/src/shader/exas8nve0.fp
index 9f96236..8626d9c 100644
--- a/src/shader/exas8nve0.fp
+++ b/src/shader/exas8nve0.fp
@@ -31,8 +31,8 @@ interp mul f32 $r1 a[0x84] $r0 0x0
 interp mul f32 $r0 a[0x80] $r0 0x0
 tex t lauto live dfp #:#:#:$r0 t2d $t0 $s0 $r0:$r1 ()
 texbar 0x0
-mov b32 $r3 $r0
-mov b32 $r2 $r0
-mov b32 $r1 $r0
-exit
+long mov b32 $r3 $r0
+long mov b32 $r2 $r0
+long mov b32 $r1 $r0
+long exit
 #endif
diff --git a/src/shader/exas8nve0.fpc b/src/shader/exas8nve0.fpc
index 2e487f5..ed4793c 100644
--- a/src/shader/exas8nve0.fpc
+++ b/src/shader/exas8nve0.fpc
@@ -10,7 +10,11 @@
 0x80120000,
 0x00001de6,
 0xf0000000,
-0x0000dc28,
-0x00009c28,
-0x00005c28,
-0x88001dff,
+0x0000dde4,
+0x28000000,
+0x00009de4,
+0x28000000,
+0x00005de4,
+0x28000000,
+0x00001de7,
+0x80000000,
diff --git a/src/shader/exasanve0.fp b/src/shader/exasanve0.fp
index 4ec257b..dea8eab 100644
--- a/src/shader/exasanve0.fp
+++ b/src/shader/exasanve0.fp
@@ -39,5 +39,5 @@ mul ftz rn f32 $r3 $r3 $r4
 mul ftz rn f32 $r2 $r2 $r4
 mul ftz rn f32 $r1 $r1 $r4
 mul ftz rn f32 $r0 $r0 $r4
-exit
+long exit
 #endif
diff --git a/src/shader/exasanve0.fpc b/src/shader/exasanve0.fpc
index 6a4d54b..efc701e 100644
--- a/src/shader/exasanve0.fpc
+++ b/src/shader/exasanve0.fpc
@@ -26,4 +26,5 @@
 0x58000000,
 0x10001c40,
 0x58000000,
-0x88001dff,
+0x00001de7,
+0x80000000,
diff --git a/src/shader/exascnve0.fp b/src/shader/exascnve0.fp
index 5ec8496..355b894 100644
--- a/src/shader/exascnve0.fp
+++ b/src/shader/exascnve0.fp
@@ -31,5 +31,5 @@ interp mul f32 $r1 a[0x84] $r0 0x0
 interp mul f32 $r0 a[0x80] $r0 0x0
 tex t lauto live dfp $r0:$r1:$r2:$r3 t2d $t0 $s0 $r0:$r1 ()
 texbar 0x0
-exit
+long exit
 #endif
diff --git a/src/shader/exascnve0.fpc b/src/shader/exascnve0.fpc
index 5bbd150..24ca7bc 100644
--- a/src/shader/exascnve0.fpc
+++ b/src/shader/exascnve0.fpc
@@ -10,4 +10,5 @@
 0x8013c000,
 0x00001de6,
 0xf0000000,
-0x88001dff,
+0x00001de7,
+0x80000000,
diff --git a/src/shader/videonve0.fp b/src/shader/videonve0.fp
index a6675c9..f761bd5 100644
--- a/src/shader/videonve0.fp
+++ b/src/shader/videonve0.fp
@@ -46,5 +46,5 @@ fma ftz rn f32 $r5 $r0 c0[0x18] $r5
 fma ftz rn f32 $r0 $r1 c0[0x1c] $r3
 fma ftz rn f32 $r2 $r1 c0[0x24] $r5
 fma ftz rn f32 $r1 $r1 c0[0x20] $r4
-exit
+long exit
 #endif
diff --git a/src/shader/videonve0.fpc b/src/shader/videonve0.fpc
index c4f1b09..4df540b 100644
--- a/src/shader/videonve0.fpc
+++ b/src/shader/videonve0.fpc
@@ -40,4 +40,5 @@
 0x300a4000,
 0x80105c40,
 0x30084000,
-0x88001dff,
+0x00001de7,
+0x80000000,
diff --git a/src/shader/xfrm2nve0.vp b/src/shader/xfrm2nve0.vp
index 4e39f53..c949ea6 100644
--- a/src/shader/xfrm2nve0.vp
+++ b/src/shader/xfrm2nve0.vp
@@ -59,5 +59,5 @@ mul ftz rn f32 $r3 $r3 $r4
 mul ftz rn f32 $r0 $r2 c0[0x50]
 mul ftz rn f32 $r1 $r3 c0[0x54]
 st b64 a[0x90] $r0:$r1 0x0 unk39
-exit
+long exit
 #endif
diff --git a/src/shader/xfrm2nve0.vpc b/src/shader/xfrm2nve0.vpc
index c7aee0b..c3462b5 100644
--- a/src/shader/xfrm2nve0.vpc
+++ b/src/shader/xfrm2nve0.vpc
@@ -66,4 +66,5 @@
 0x58004001,
 0x03f01c26,
 0x0a7e0090,
-0x88001dff,
+0x00001de7,
+0x80000000,

commit 41cc2f24c43d2656ac722f594aaebad93e37dfec
Author: Ben Skeggs <bskeggs@redhat.com>
Date:   Wed May 15 21:13:11 2013 +1000

    nvc0-nve0: decompile shaders into their source, add basic build system
    
    Far, far easier to maintain this way...
    
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>

diff --git a/src/shader/Makefile b/src/shader/Makefile
new file mode 100644
index 0000000..59e549f
--- /dev/null
+++ b/src/shader/Makefile
@@ -0,0 +1,30 @@
+NVC0_SHADERS = xfrm2nvc0.vpc \
+	       exascnvc0.fpc \
+	       exacmnvc0.fpc \
+	       exacanvc0.fpc \
+	       exasanvc0.fpc \
+	       exas8nvc0.fpc \
+	       exac8nvc0.fpc \
+	       videonvc0.fpc
+NVE0_SHADERS = xfrm2nve0.vpc \
+	       exascnve0.fpc \
+	       exacmnve0.fpc \
+	       exacanve0.fpc \
+	       exasanve0.fpc \
+	       exas8nve0.fpc \
+	       exac8nve0.fpc \
+	       videonve0.fpc
+
+SHADERS = $(NVC0_SHADERS) $(NVE0_SHADERS)
+
+all: $(SHADERS)
+
+$(filter %nvc0.vpc,$(SHADERS)): %.vpc: %.vp
+	cpp -DENVYAS $< | sed -e '/^#/d' | envyas -w -m nvc0 -o $@
+$(filter %nvc0.fpc,$(SHADERS)): %.fpc: %.fp
+	cpp -DENVYAS $< | sed -e '/^#/d' | envyas -w -m nvc0 -o $@
+
+$(filter %nve0.vpc,$(SHADERS)): %.vpc: %.vp
+	cpp -DENVYAS $< | sed -e '/^#/d' | envyas -w -m nvc0 -V nve4 -o $@
+$(filter %nve0.fpc,$(SHADERS)): %.fpc: %.fp
+	cpp -DENVYAS $< | sed -e '/^#/d' | envyas -w -m nvc0 -V nve4 -o $@
diff --git a/src/shader/exac8nvc0.fp b/src/shader/exac8nvc0.fp
index c7db275..954b306 100644
--- a/src/shader/exac8nvc0.fp
+++ b/src/shader/exac8nvc0.fp
@@ -25,4 +25,17 @@ NVC0FP_Composite_A8[] = {
 };
 #else
 
+interp pass f32 $r0 a[0x7c] 0x0 0x0
+rcp f32 $r0 $r0
+interp mul f32 $r3 a[0x94] $r0 0x0
+interp mul f32 $r2 a[0x90] $r0 0x0
+tex t lauto live dfp #:#:#:$r1 t2d $t1 $s0 $r2:$r3 ()
+interp mul f32 $r3 a[0x84] $r0 0x0
+interp mul f32 $r2 a[0x80] $r0 0x0
+tex t lauto live dfp #:#:#:$r0 t2d $t0 $s0 $r2:$r3 ()
+mul ftz rn f32 $r3 $r0 $r1
+mov b32 $r2 $r3
+mov b32 $r1 $r3
+mov b32 $r0 $r3
+exit
 #endif
diff --git a/src/shader/exac8nvc0.fpc b/src/shader/exac8nvc0.fpc
index 3afea72..fdcf650 100644
--- a/src/shader/exac8nvc0.fpc
+++ b/src/shader/exac8nvc0.fpc
@@ -1,26 +1,22 @@
-	0xfff01c00,
-	0xc07e007c, /* linterp f32 $r0 v[$r63+0x7c] */
-	0x10001c00,
-	0xc8000000, /* rcp f32 $r0 $r0 */
-	0x03f0dc40,
-	0xc07e0094, /* pinterp f32 $r3 $r0 v[$r63+0x94] */
-	0x03f09c40,
-	0xc07e0090, /* pinterp f32 $r2 $r0 v[$r63+0x90] */
-	0xfc205e86,
-	0x80120001, /* tex { _ _ _ $r1 } $t1 { $r2 $r3 } */
-	0x03f0dc40,
-	0xc07e0084, /* pinterp f32 $r3 $r0 v[$r63+0x84] */
-	0x03f09c40,
-	0xc07e0080, /* pinterp f32 $r2 $r0 v[$r63+0x80] */
-	0xfc201e86,
-	0x80120000, /* tex { _ _ _ $r0 } $t0 { $r2 $r3 } */
-	0x0400dc40,
-	0x58000000, /* mul ftz rn f32 $r3 $r0 $r1 */
-	0x0c009de4,
-	0x28000000, /* mov b32 $r2 $r3 */
-	0x0c005de4,
-	0x28000000, /* mov b32 $r1 $r3 */
-	0x0c001de4,
-	0x28000000, /* mov b32 $r0 $r3 */
-	0x00001de7,
-	0x80000000, /* exit */
+0xfff01c00,
+0xc07e007c,
+0x10001c00,
+0xc8000000,
+0x03f0dc40,
+0xc07e0094,
+0x03f09c40,
+0xc07e0090,
+0x00205e86,
+0x80120001,
+0x03f0dc40,
+0xc07e0084,
+0x03f09c40,
+0xc07e0080,
+0x00201e86,
+0x80120000,
+0x0400dc40,
+0x58000000,
+0x00309c28,
+0x00305c28,
+0x00301c28,
+0x88001dff,
diff --git a/src/shader/exac8nve0.fp b/src/shader/exac8nve0.fp
index eeb2413..55cdde2 100644
--- a/src/shader/exac8nve0.fp
+++ b/src/shader/exac8nve0.fp
@@ -25,4 +25,18 @@ NVE0FP_Composite_A8[] = {
 };
 #else
 
+interp pass f32 $r0 a[0x7c] 0x0 0x0
+rcp f32 $r0 $r0
+interp mul f32 $r3 a[0x94] $r0 0x0
+interp mul f32 $r2 a[0x90] $r0 0x0
+tex t lauto live dfp #:#:#:$r1 t2d $t1 $s0 $r2:$r3 ()
+interp mul f32 $r3 a[0x84] $r0 0x0
+interp mul f32 $r2 a[0x80] $r0 0x0
+tex t lauto live dfp #:#:#:$r0 t2d $t0 $s0 $r2:$r3 ()
+texbar 0x0
+mul ftz rn f32 $r3 $r0 $r1
+mov b32 $r2 $r3
+mov b32 $r1 $r3
+mov b32 $r0 $r3
+exit
 #endif
diff --git a/src/shader/exac8nve0.fpc b/src/shader/exac8nve0.fpc
index 7d341d9..c7fc3bd 100644
--- a/src/shader/exac8nve0.fpc
+++ b/src/shader/exac8nve0.fpc
@@ -1,28 +1,24 @@
-	0xfff01c00,
-	0xc07e007c, /* linterp f32 $r0 v[$r63+0x7c] */
-	0x10001c00,
-	0xc8000000, /* rcp f32 $r0 $r0 */
-	0x03f0dc40,
-	0xc07e0094, /* pinterp f32 $r3 $r0 v[$r63+0x94] */
-	0x03f09c40,
-	0xc07e0090, /* pinterp f32 $r2 $r0 v[$r63+0x90] */
-	0xfc205e86,
-	0x80120001, /* tex { _ _ _ $r1 } $t1 { $r2 $r3 } */
-	0x03f0dc40,
-	0xc07e0084, /* pinterp f32 $r3 $r0 v[$r63+0x84] */
-	0x03f09c40,
-	0xc07e0080, /* pinterp f32 $r2 $r0 v[$r63+0x80] */
-	0xfc201e86,
-	0x80120000, /* tex { _ _ _ $r0 } $t0 { $r2 $r3 } */
-	0x00001de6,
-	0xf0000000, /* texbar */
-	0x0400dc40,
-	0x58000000, /* mul ftz rn f32 $r3 $r0 $r1 */
-	0x0c009de4,
-	0x28000000, /* mov b32 $r2 $r3 */
-	0x0c005de4,
-	0x28000000, /* mov b32 $r1 $r3 */
-	0x0c001de4,
-	0x28000000, /* mov b32 $r0 $r3 */
-	0x00001de7,
-	0x80000000, /* exit */
+0xfff01c00,
+0xc07e007c,
+0x10001c00,
+0xc8000000,
+0x03f0dc40,
+0xc07e0094,
+0x03f09c40,
+0xc07e0090,
+0x00205e86,
+0x80120001,
+0x03f0dc40,
+0xc07e0084,
+0x03f09c40,
+0xc07e0080,
+0x00201e86,
+0x80120000,
+0x00001de6,
+0xf0000000,
+0x0400dc40,
+0x58000000,
+0x00309c28,
+0x00305c28,
+0x00301c28,
+0x88001dff,
diff --git a/src/shader/exacanvc0.fp b/src/shader/exacanvc0.fp
index 8254306..1a03ecc 100644
--- a/src/shader/exacanvc0.fp
+++ b/src/shader/exacanvc0.fp
@@ -25,4 +25,17 @@ NVC0FP_CAComposite[] = {
 };
 #else
 
+interp pass f32 $r0 a[0x7c] 0x0 0x0
+rcp f32 $r0 $r0
+interp mul f32 $r3 a[0x94] $r0 0x0
+interp mul f32 $r2 a[0x90] $r0 0x0
+tex t lauto live dfp $r4:$r5:$r6:$r7 t2d $t1 $s0 $r2:$r3 ()
+interp mul f32 $r1 a[0x84] $r0 0x0
+interp mul f32 $r0 a[0x80] $r0 0x0
+tex t lauto live dfp $r0:$r1:$r2:$r3 t2d $t0 $s0 $r0:$r1 ()
+mul ftz rn f32 $r3 $r3 $r7
+mul ftz rn f32 $r2 $r2 $r6
+mul ftz rn f32 $r1 $r1 $r5
+mul ftz rn f32 $r0 $r0 $r4
+exit
 #endif
diff --git a/src/shader/exacanvc0.fpc b/src/shader/exacanvc0.fpc
index 2fef0d9..a5e4981 100644
--- a/src/shader/exacanvc0.fpc
+++ b/src/shader/exacanvc0.fpc
@@ -1,26 +1,25 @@
-	0xfff01c00,
-	0xc07e007c, /* linterp f32 $r0 v[$r63+0x7c] */
-	0x10001c00,
-	0xc8000000, /* rcp f32 $r0 $r0 */
-	0x03f0dc40,
-	0xc07e0094, /* pinterp f32 $r3 $r0 v[$r63+0x94] */
-	0x03f09c40,
-	0xc07e0090, /* pinterp f32 $r2 $r0 v[$r63+0x90] */
-	0xfc211e86,
-	0x8013c001, /* tex { $r4,5,6,7 } $t1 { $r2,3 } */
-	0x03f05c40,
-	0xc07e0084, /* pinterp f32 $r1 $r0 v[$r63+0x84] */
-	0x03f01c40,
-	0xc07e0080, /* pinterp f32 $r0 $r0 v[$r63+0x80] */
-	0xfc001e86,
-	0x8013c000, /* tex { $r0,1,2,3 } $t0 { $r0,1 } */
-	0x1c30dc40,
-	0x58000000, /* mul ftz rn f32 $r3 $r3 $r7 */
-	0x18209c40,
-	0x58000000, /* mul ftz rn f32 $r2 $r2 $r6 */
-	0x14105c40,
-	0x58000000, /* mul ftz rn f32 $r1 $r1 $r5 */
-	0x10001c40,
-	0x58000000, /* mul ftz rn f32 $r0 $r0 $r4 */
-	0x00001de7,
-	0x80000000, /* exit */
+0xfff01c00,
+0xc07e007c,
+0x10001c00,
+0xc8000000,
+0x03f0dc40,
+0xc07e0094,
+0x03f09c40,
+0xc07e0090,
+0x00211e86,
+0x8013c001,
+0x03f05c40,
+0xc07e0084,
+0x03f01c40,
+0xc07e0080,
+0x00001e86,
+0x8013c000,
+0x1c30dc40,
+0x58000000,
+0x18209c40,
+0x58000000,
+0x14105c40,
+0x58000000,
+0x10001c40,
+0x58000000,
+0x88001dff,
diff --git a/src/shader/exacanve0.fp b/src/shader/exacanve0.fp
index c4f9afa..dc54771 100644
--- a/src/shader/exacanve0.fp
+++ b/src/shader/exacanve0.fp
@@ -25,4 +25,19 @@ NVE0FP_CAComposite[] = {
 };
 #else
 
+interp pass f32 $r0 a[0x7c] 0x0 0x0
+rcp f32 $r0 $r0
+interp mul f32 $r3 a[0x94] $r0 0x0
+interp mul f32 $r2 a[0x90] $r0 0x0
+tex t lauto live dfp $r4:$r5:$r6:$r7 t2d $t1 $s0 $r2:$r3 ()
+texbar 0x0
+interp mul f32 $r1 a[0x84] $r0 0x0
+interp mul f32 $r0 a[0x80] $r0 0x0
+tex t lauto live dfp $r0:$r1:$r2:$r3 t2d $t0 $s0 $r0:$r1 ()
+texbar 0x0
+mul ftz rn f32 $r3 $r3 $r7
+mul ftz rn f32 $r2 $r2 $r6
+mul ftz rn f32 $r1 $r1 $r5
+mul ftz rn f32 $r0 $r0 $r4
+exit
 #endif
diff --git a/src/shader/exacanve0.fpc b/src/shader/exacanve0.fpc
index 8a096b5..52a736d 100644
--- a/src/shader/exacanve0.fpc
+++ b/src/shader/exacanve0.fpc
@@ -1,30 +1,29 @@
-	0xfff01c00,
-	0xc07e007c, /* linterp f32 $r0 v[$r63+0x7c] */
-	0x10001c00,
-	0xc8000000, /* rcp f32 $r0 $r0 */
-	0x03f0dc40,
-	0xc07e0094, /* pinterp f32 $r3 $r0 v[$r63+0x94] */
-	0x03f09c40,
-	0xc07e0090, /* pinterp f32 $r2 $r0 v[$r63+0x90] */
-	0xfc211e86,
-	0x8013c001, /* tex { $r4,5,6,7 } $t1 { $r2,3 } */
-	0x00001de6,
-	0xf0000000, /* texbar */
-	0x03f05c40,
-	0xc07e0084, /* pinterp f32 $r1 $r0 v[$r63+0x84] */
-	0x03f01c40,
-	0xc07e0080, /* pinterp f32 $r0 $r0 v[$r63+0x80] */
-	0xfc001e86,
-	0x8013c000, /* tex { $r0,1,2,3 } $t0 { $r0,1 } */
-	0x00001de6,
-	0xf0000000, /* texbar */
-	0x1c30dc40,
-	0x58000000, /* mul ftz rn f32 $r3 $r3 $r7 */
-	0x18209c40,
-	0x58000000, /* mul ftz rn f32 $r2 $r2 $r6 */
-	0x14105c40,
-	0x58000000, /* mul ftz rn f32 $r1 $r1 $r5 */
-	0x10001c40,
-	0x58000000, /* mul ftz rn f32 $r0 $r0 $r4 */
-	0x00001de7,
-	0x80000000, /* exit */
+0xfff01c00,
+0xc07e007c,
+0x10001c00,
+0xc8000000,
+0x03f0dc40,
+0xc07e0094,
+0x03f09c40,
+0xc07e0090,
+0x00211e86,
+0x8013c001,
+0x00001de6,
+0xf0000000,
+0x03f05c40,
+0xc07e0084,
+0x03f01c40,
+0xc07e0080,
+0x00001e86,
+0x8013c000,
+0x00001de6,
+0xf0000000,
+0x1c30dc40,
+0x58000000,
+0x18209c40,
+0x58000000,
+0x14105c40,
+0x58000000,
+0x10001c40,
+0x58000000,
+0x88001dff,
diff --git a/src/shader/exacmnvc0.fp b/src/shader/exacmnvc0.fp
index a77980e..33cd79a 100644
--- a/src/shader/exacmnvc0.fp
+++ b/src/shader/exacmnvc0.fp
@@ -25,4 +25,17 @@ NVC0FP_Composite[] = {
 };
 #else
 
+interp pass f32 $r0 a[0x7c] 0x0 0x0
+rcp f32 $r0 $r0
+interp mul f32 $r3 a[0x94] $r0 0x0
+interp mul f32 $r2 a[0x90] $r0 0x0
+tex t lauto live dfp #:#:#:$r4 t2d $t1 $s0 $r2:$r3 ()
+interp mul f32 $r1 a[0x84] $r0 0x0
+interp mul f32 $r0 a[0x80] $r0 0x0
+tex t lauto live dfp $r0:$r1:$r2:$r3 t2d $t0 $s0 $r0:$r1 ()
+mul ftz rn f32 $r3 $r3 $r4
+mul ftz rn f32 $r2 $r2 $r4
+mul ftz rn f32 $r1 $r1 $r4
+mul ftz rn f32 $r0 $r0 $r4
+exit
 #endif
diff --git a/src/shader/exacmnvc0.fpc b/src/shader/exacmnvc0.fpc
index 945c653..df46f69 100644
--- a/src/shader/exacmnvc0.fpc
+++ b/src/shader/exacmnvc0.fpc
@@ -1,26 +1,25 @@
-	0xfff01c00,
-	0xc07e007c, /* linterp f32 $r0 v[$r63+0x7c] */
-	0x10001c00,
-	0xc8000000, /* rcp f32 $r0 $r0 */
-	0x03f0dc40,
-	0xc07e0094, /* pinterp f32 $r3 $r0 v[$r63+0x94] */
-	0x03f09c40,
-	0xc07e0090, /* pinterp f32 $r2 $r0 v[$r63+0x90] */
-	0xfc211e86,
-	0x80120001, /* tex { _,_,_,$r4 } $t1 { $r2,3 } */
-	0x03f05c40,
-	0xc07e0084, /* pinterp f32 $r1 $r0 v[$r63+0x84] */
-	0x03f01c40,
-	0xc07e0080, /* pinterp f32 $r0 $r0 v[$r63+0x80] */
-	0xfc001e86,
-	0x8013c000, /* tex { $r0,1,2,3 } $t0 { $r0,1 } */
-	0x1030dc40,
-	0x58000000, /* mul ftz rn f32 $r3 $r3 $r4 */
-	0x10209c40,
-	0x58000000, /* mul ftz rn f32 $r2 $r2 $r4 */
-	0x10105c40,
-	0x58000000, /* mul ftz rn f32 $r1 $r1 $r4 */
-	0x10001c40,
-	0x58000000, /* mul ftz rn f32 $r0 $r0 $r4 */
-	0x00001de7,
-	0x80000000, /* exit */
+0xfff01c00,
+0xc07e007c,
+0x10001c00,
+0xc8000000,
+0x03f0dc40,
+0xc07e0094,
+0x03f09c40,
+0xc07e0090,
+0x00211e86,
+0x80120001,
+0x03f05c40,
+0xc07e0084,
+0x03f01c40,
+0xc07e0080,
+0x00001e86,
+0x8013c000,
+0x1030dc40,
+0x58000000,
+0x10209c40,
+0x58000000,
+0x10105c40,
+0x58000000,
+0x10001c40,
+0x58000000,
+0x88001dff,
diff --git a/src/shader/exacmnve0.fp b/src/shader/exacmnve0.fp
index a7e54f6..5e0edfe 100644
--- a/src/shader/exacmnve0.fp
+++ b/src/shader/exacmnve0.fp
@@ -25,4 +25,19 @@ NVE0FP_Composite[] = {
 };
 #else
 
+interp pass f32 $r0 a[0x7c] 0x0 0x0
+rcp f32 $r0 $r0
+interp mul f32 $r3 a[0x94] $r0 0x0
+interp mul f32 $r2 a[0x90] $r0 0x0
+tex t lauto live dfp #:#:#:$r4 t2d $t1 $s0 $r2:$r3 ()
+texbar 0x0
+interp mul f32 $r1 a[0x84] $r0 0x0
+interp mul f32 $r0 a[0x80] $r0 0x0
+tex t lauto live dfp $r0:$r1:$r2:$r3 t2d $t0 $s0 $r0:$r1 ()
+texbar 0x0
+mul ftz rn f32 $r3 $r3 $r4
+mul ftz rn f32 $r2 $r2 $r4
+mul ftz rn f32 $r1 $r1 $r4
+mul ftz rn f32 $r0 $r0 $r4
+exit
 #endif
diff --git a/src/shader/exacmnve0.fpc b/src/shader/exacmnve0.fpc
index 76a6119..15694a0 100644
--- a/src/shader/exacmnve0.fpc
+++ b/src/shader/exacmnve0.fpc
@@ -1,30 +1,29 @@
-	0xfff01c00,
-	0xc07e007c, /* linterp f32 $r0 v[$r63+0x7c] */
-	0x10001c00,
-	0xc8000000, /* rcp f32 $r0 $r0 */
-	0x03f0dc40,
-	0xc07e0094, /* pinterp f32 $r3 $r0 v[$r63+0x94] */
-	0x03f09c40,
-	0xc07e0090, /* pinterp f32 $r2 $r0 v[$r63+0x90] */
-	0xfc211e86,
-	0x80120001, /* tex { _,_,_,$r4 } $t1 { $r2,3 } */
-	0x00001de6,
-	0xf0000000, /* texbar */
-	0x03f05c40,
-	0xc07e0084, /* pinterp f32 $r1 $r0 v[$r63+0x84] */
-	0x03f01c40,
-	0xc07e0080, /* pinterp f32 $r0 $r0 v[$r63+0x80] */
-	0xfc001e86,
-	0x8013c000, /* tex { $r0,1,2,3 } $t0 { $r0,1 } */
-	0x00001de6,
-	0xf0000000, /* texbar */
-	0x1030dc40,
-	0x58000000, /* mul ftz rn f32 $r3 $r3 $r4 */
-	0x10209c40,
-	0x58000000, /* mul ftz rn f32 $r2 $r2 $r4 */
-	0x10105c40,
-	0x58000000, /* mul ftz rn f32 $r1 $r1 $r4 */
-	0x10001c40,
-	0x58000000, /* mul ftz rn f32 $r0 $r0 $r4 */
-	0x00001de7,


Reply to: