[v5,2/2] nv110/exa: update sched codes

Submitted by Aaryaman Vasishta on July 1, 2017, 3:37 p.m.

Details

Message ID 20170701153705.21372-2-jem456.vasishta@gmail.com
State New
Headers show
Series "Series without cover letter" ( rev: 1 ) in Nouveau

Not browsing as part of any series.

Commit Message

Aaryaman Vasishta July 1, 2017, 3:37 p.m.
v5: Rebased on depbar removal patch; removed a redundant read dep-bar.

This patch adds proper delays to maxwell exa shaders. rendercheck tests
seem consistent with/without this patch. I haven't extensively tested
them though.

Trello:
https://trello.com/c/6LPB2EIS/174-update-maxwell-shaders-with-proper-delays

Signed-off-by: Aaryaman Vasishta <jem456.vasishta@gmail.com>
---
 src/shader/exac8nv110.fp  | 10 +++++-----
 src/shader/exac8nv110.fpc | 18 +++++++++---------
 src/shader/exacanv110.fp  | 10 +++++-----
 src/shader/exacanv110.fpc | 18 +++++++++---------
 src/shader/exacmnv110.fp  | 10 +++++-----
 src/shader/exacmnv110.fpc | 18 +++++++++---------
 src/shader/exas8nv110.fp  |  6 +++---
 src/shader/exas8nv110.fpc | 12 ++++++------
 src/shader/exasanv110.fp  | 10 +++++-----
 src/shader/exasanv110.fpc | 18 +++++++++---------
 src/shader/exascnv110.fp  |  4 ++--
 src/shader/exascnv110.fpc |  8 ++++----
 src/shader/videonv110.fp  | 12 ++++++------
 src/shader/videonv110.fpc | 22 +++++++++++-----------
 14 files changed, 88 insertions(+), 88 deletions(-)

Patch hide | download patch | download mbox

diff --git a/src/shader/exac8nv110.fp b/src/shader/exac8nv110.fp
index 220d7e5..7797ef4 100644
--- a/src/shader/exac8nv110.fp
+++ b/src/shader/exac8nv110.fp
@@ -25,22 +25,22 @@  NV110FP_Composite_A8[] = {
 };
 #else
 
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)
 ipa pass $r0 a[0x7c] 0x0 0x0 0x1
 mufu rcp $r0 $r0
 ipa $r3 a[0x94] $r0 0x0 0x1
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf wr 0x0 wt 0x1)
 ipa $r2 a[0x90] $r0 0x0 0x1
 tex nodep $r1 $r2 0x0 0x1 t2d 0x8
 ipa $r3 a[0x84] $r0 0x0 0x1
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0x6 wt 0x1)
 ipa $r2 a[0x80] $r0 0x0 0x1
 tex nodep $r0 $r2 0x0 0x0 t2d 0x8
 fmul ftz $r3 $r0 $r1
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0x1) (st 0x1) (st 0x1)
 mov $r2 $r3 0xf
 mov $r1 $r3 0xf
 mov $r0 $r3 0xf
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf) (st 0x0) (st 0x0)
 exit
 #endif
diff --git a/src/shader/exac8nv110.fpc b/src/shader/exac8nv110.fpc
index d8d5517..7eb9c02 100644
--- a/src/shader/exac8nv110.fpc
+++ b/src/shader/exac8nv110.fpc
@@ -1,36 +1,36 @@ 
-0xfc0007e0,
-0x001f8000,
+0xe1a0070f,
+0x003c3c01,
 0xcff7ff00,
 0xe003ff87,
 0x00470000,
 0x50800000,
 0x4007ff03,
 0xe043ff89,
-0xfc0007e0,
-0x001f8000,
+0xe1e0072f,
+0x003c3c03,
 0x0007ff02,
 0xe043ff89,
 0x2ff70201,
 0xc03a0014,
 0x4007ff03,
 0xe043ff88,
-0xfc0007e0,
-0x001f8000,
+0xe1e0072f,
+0x003f9803,
 0x0007ff02,
 0xe043ff88,
 0x2ff70200,
 0xc03a0004,
 0x00170003,
 0x5c681000,
-0xfc0007e0,
-0x001f8000,
+0xfc2007e1,
+0x001f8400,
 0x00370002,
 0x5c980780,
 0x00370001,
 0x5c980780,
 0x00370000,
 0x5c980780,
-0xfc0007e0,
+0xfc0007ef,
 0x001f8000,
 0x0007000f,
 0xe3000000,
diff --git a/src/shader/exacanv110.fp b/src/shader/exacanv110.fp
index bad34c9..912f630 100644
--- a/src/shader/exacanv110.fp
+++ b/src/shader/exacanv110.fp
@@ -25,22 +25,22 @@  NV110FP_CAComposite[] = {
 };
 #else
 
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)
 ipa pass $r0 a[0x7c] 0x0 0x0 0x1
 mufu rcp $r0 $r0
 ipa $r3 a[0x94] $r0 0x0 0x1
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf wr 0x1)
 ipa $r2 a[0x90] $r0 0x0 0x1
 tex nodep $r4 $r2 0x0 0x1 t2d 0xf
 ipa $r1 a[0x84] $r0 0x0 0x1
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x1 wt 0x2) (st 0xf wr 0x1 wt 0x2) (st 0x1 wt 0x3)
 ipa $r0 a[0x80] $r0 0x0 0x1
 tex nodep $r0 $r0 0x0 0x0 t2d 0xf
 fmul ftz $r3 $r3 $r7
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0x1) (st 0x1) (st 0x1)
 fmul ftz $r2 $r2 $r6
 fmul ftz $r1 $r1 $r5
 fmul ftz $r0 $r0 $r4
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf) (st 0x0) (st 0x0)
 exit
 #endif
diff --git a/src/shader/exacanv110.fpc b/src/shader/exacanv110.fpc
index 1a151a2..4c35845 100644
--- a/src/shader/exacanv110.fpc
+++ b/src/shader/exacanv110.fpc
@@ -1,36 +1,36 @@ 
-0xfc0007e0,
-0x001f8000,
+0xe1a0070f,
+0x003c3c01,
 0xcff7ff00,
 0xe003ff87,
 0x00470000,
 0x50800000,
 0x4007ff03,
 0xe043ff89,
-0xfc0007e0,
-0x001f8000,
+0xe1e0072f,
+0x001cbc03,
 0x0007ff02,
 0xe043ff89,
 0xaff70204,
 0xc03a0017,
 0x4007ff01,
 0xe043ff88,
-0xfc0007e0,
-0x001f8000,
+0xe5e0172f,
+0x007f8402,
 0x0007ff00,
 0xe043ff88,
 0xaff70000,
 0xc03a0007,
 0x00770303,
 0x5c681000,
-0xfc0007e0,
-0x001f8000,
+0xfc2007e1,
+0x001f8400,
 0x00670202,
 0x5c681000,
 0x00570101,
 0x5c681000,
 0x00470000,
 0x5c681000,
-0xfc0007e0,
+0xfc0007ef,
 0x001f8000,
 0x0007000f,
 0xe3000000,
diff --git a/src/shader/exacmnv110.fp b/src/shader/exacmnv110.fp
index c1eb38e..02a0835 100644
--- a/src/shader/exacmnv110.fp
+++ b/src/shader/exacmnv110.fp
@@ -25,22 +25,22 @@  NV110FP_Composite[] = {
 };
 #else
 
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)
 ipa pass $r0 a[0x7c] 0x0 0x0 0x1
 mufu rcp $r0 $r0
 ipa $r3 a[0x94] $r0 0x0 0x1
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf wr 0x1)
 ipa $r2 a[0x90] $r0 0x0 0x1
 tex nodep $r4 $r2 0x0 0x1 t2d 0x8
 ipa $r1 a[0x84] $r0 0x0 0x1
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x1 wt 0x2) (st 0xf wr 0x1 wt 0x2) (st 0x1 wt 0x3)
 ipa $r0 a[0x80] $r0 0x0 0x1
 tex nodep $r0 $r0 0x0 0x0 t2d 0xf
 fmul ftz $r3 $r3 $r4
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0x1) (st 0x1) (st 0x1)
 fmul ftz $r2 $r2 $r4
 fmul ftz $r1 $r1 $r4
 fmul ftz $r0 $r0 $r4
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf) (st 0x0) (st 0x0)
 exit
 #endif
diff --git a/src/shader/exacmnv110.fpc b/src/shader/exacmnv110.fpc
index 0b21a0a..56e4e18 100644
--- a/src/shader/exacmnv110.fpc
+++ b/src/shader/exacmnv110.fpc
@@ -1,36 +1,36 @@ 
-0xfc0007e0,
-0x001f8000,
+0xe1a0070f,
+0x003c3c01,
 0xcff7ff00,
 0xe003ff87,
 0x00470000,
 0x50800000,
 0x4007ff03,
 0xe043ff89,
-0xfc0007e0,
-0x001f8000,
+0xe1e0072f,
+0x001cbc03,
 0x0007ff02,
 0xe043ff89,
 0x2ff70204,
 0xc03a0014,
 0x4007ff01,
 0xe043ff88,
-0xfc0007e0,
-0x001f8000,
+0xe5e0172f,
+0x007f8402,
 0x0007ff00,
 0xe043ff88,
 0xaff70000,
 0xc03a0007,
 0x00470303,
 0x5c681000,
-0xfc0007e0,
-0x001f8000,
+0xfc2007e1,
+0x001f8400,
 0x00470202,
 0x5c681000,
 0x00470101,
 0x5c681000,
 0x00470000,
 0x5c681000,
-0xfc0007e0,
+0xfc0007ef,
 0x001f8000,
 0x0007000f,
 0xe3000000,
diff --git a/src/shader/exas8nv110.fp b/src/shader/exas8nv110.fp
index c5349d9..847cc6a 100644
--- a/src/shader/exas8nv110.fp
+++ b/src/shader/exas8nv110.fp
@@ -25,15 +25,15 @@  NV110FP_Source_A8[] = {
 };
 #else
 
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)
 ipa pass $r0 a[0x7c] 0x0 0x0 0x1
 mufu rcp $r0 $r0
 ipa $r1 a[0x84] $r0 0x0 0x1
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0x1 wt 0x1)
 ipa $r0 a[0x80] $r0 0x0 0x1
 tex nodep $r0 $r0 0x0 0x0 t2d 0x8
 mov $r3 $r0 0xf
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0x1) (st 0x1) (st 0xf)
 mov $r2 $r0 0xf
 mov $r1 $r0 0xf
 exit
diff --git a/src/shader/exas8nv110.fpc b/src/shader/exas8nv110.fpc
index fabf980..5671a12 100644
--- a/src/shader/exas8nv110.fpc
+++ b/src/shader/exas8nv110.fpc
@@ -1,21 +1,21 @@ 
-0xfc0007e0,
-0x001f8000,
+0xe1a0070f,
+0x003c3c01,
 0xcff7ff00,
 0xe003ff87,
 0x00470000,
 0x50800000,
 0x4007ff01,
 0xe043ff88,
-0xfc0007e0,
-0x001f8000,
+0xe1e0072f,
+0x003f8403,
 0x0007ff00,
 0xe043ff88,
 0x2ff70000,
 0xc03a0004,
 0x00070003,
 0x5c980780,
-0xfc0007e0,
-0x001f8000,
+0xfc2007e1,
+0x001fbc00,
 0x00070002,
 0x5c980780,
 0x00070001,
diff --git a/src/shader/exasanv110.fp b/src/shader/exasanv110.fp
index 4392c1f..a3d372e 100644
--- a/src/shader/exasanv110.fp
+++ b/src/shader/exasanv110.fp
@@ -25,22 +25,22 @@  NV110FP_CACompositeSrcAlpha[] = {
 };
 #else
 
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)
 ipa pass $r0 a[0x7c] 0x0 0x0 0x1
 mufu rcp $r0 $r0
 ipa $r3 a[0x84] $r0 0x0 0x1
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf wr 0x1)
 ipa $r2 a[0x80] $r0 0x0 0x1
 tex nodep $r4 $r2 0x0 0x0 t2d 0x8
 ipa $r1 a[0x94] $r0 0x0 0x1
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x1 wt 0x2) (st 0xf wr 0x1 wt 0x2) (st 0x1 wt 0x3)
 ipa $r0 a[0x90] $r0 0x0 0x1
 tex nodep $r0 $r0 0x0 0x1 t2d 0xf
 fmul ftz $r3 $r3 $r4
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0x1) (st 0x1) (st 0x1)
 fmul ftz $r2 $r2 $r4
 fmul ftz $r1 $r1 $r4
 fmul ftz $r0 $r0 $r4
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf) (st 0x0) (st 0x0)
 exit
 #endif
diff --git a/src/shader/exasanv110.fpc b/src/shader/exasanv110.fpc
index 80a2731..b61e396 100644
--- a/src/shader/exasanv110.fpc
+++ b/src/shader/exasanv110.fpc
@@ -1,36 +1,36 @@ 
-0xfc0007e0,
-0x001f8000,
+0xe1a0070f,
+0x003c3c01,
 0xcff7ff00,
 0xe003ff87,
 0x00470000,
 0x50800000,
 0x4007ff03,
 0xe043ff88,
-0xfc0007e0,
-0x001f8000,
+0xe1e0072f,
+0x001cbc03,
 0x0007ff02,
 0xe043ff88,
 0x2ff70204,
 0xc03a0004,
 0x4007ff01,
 0xe043ff89,
-0xfc0007e0,
-0x001f8000,
+0xe5e0172f,
+0x007f8402,
 0x0007ff00,
 0xe043ff89,
 0xaff70000,
 0xc03a0017,
 0x00470303,
 0x5c681000,
-0xfc0007e0,
-0x001f8000,
+0xfc2007e1,
+0x001f8400,
 0x00470202,
 0x5c681000,
 0x00470101,
 0x5c681000,
 0x00470000,
 0x5c681000,
-0xfc0007e0,
+0xfc0007ef,
 0x001f8000,
 0x0007000f,
 0xe3000000,
diff --git a/src/shader/exascnv110.fp b/src/shader/exascnv110.fp
index 83a089a..91702d2 100644
--- a/src/shader/exascnv110.fp
+++ b/src/shader/exascnv110.fp
@@ -25,11 +25,11 @@  NV110FP_Source[] = {
 };
 #else
 
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)
 ipa pass $r0 a[0x7c] 0x0 0x0 0x1
 mufu rcp $r0 $r0
 ipa $r1 a[0x84] $r0 0x0 0x1
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x1) (st 0xf wt 0x3) (st 0xf)
 ipa $r0 a[0x80] $r0 0x0 0x1
 tex nodep $r0 $r0 0x0 0x0 t2d 0xf
 exit
diff --git a/src/shader/exascnv110.fpc b/src/shader/exascnv110.fpc
index 3dd3f89..790a797 100644
--- a/src/shader/exascnv110.fpc
+++ b/src/shader/exascnv110.fpc
@@ -1,13 +1,13 @@ 
-0xfc0007e0,
-0x001f8000,
+0xe1a0070f,
+0x003c3c01,
 0xcff7ff00,
 0xe003ff87,
 0x00470000,
 0x50800000,
 0x4007ff01,
 0xe043ff88,
-0xfc0007e0,
-0x001f8000,
+0xfde0072f,
+0x001fbc03,
 0x0007ff00,
 0xe043ff88,
 0xaff70000,
diff --git a/src/shader/videonv110.fp b/src/shader/videonv110.fp
index b171e51..ce6769d 100644
--- a/src/shader/videonv110.fp
+++ b/src/shader/videonv110.fp
@@ -25,27 +25,27 @@  NV110FP_NV12[] = {
 };
 #else
 
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)
 ipa pass $r2 a[0x7c] 0x0 0x0 0x1
 mufu rcp $r2 $r2
 ipa $r0 a[0x80] $r2 0x0 0x1
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf wr 0x0 wt 0x1)
 ipa $r1 a[0x84] $r2 0x0 0x1
 tex nodep $r4 $r0 0x0 0x0 t2d 0x8
 tex nodep $r0 $r0 0x0 0x1 t2d 0xc
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0x6) (st 0x1) (st 0x6)
 fmul ftz $r5 $r4 c0[0x0]
 fadd ftz $r3 $r5 c0[0x4]
 fadd ftz $r4 $r5 c0[0x8]
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0x6) (st 0x6 wt 0x1) (st 0x1)
 fadd ftz $r5 $r5 c0[0xc]
 ffma ftz $r3 $r0 c0[0x10] $r3
 ffma ftz $r4 $r0 c0[0x14] $r4
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0x1) (st 0x1) (st 0x1)
 ffma ftz $r5 $r0 c0[0x18] $r5
 ffma ftz $r0 $r1 c0[0x1c] $r3
 ffma ftz $r2 $r1 c0[0x24] $r5
-sched (st 0x0) (st 0x0) (st 0x0)
+sched (st 0x6) (st 0xf) (st 0x0)
 ffma ftz $r1 $r1 c0[0x20] $r4
 exit
 #endif
diff --git a/src/shader/videonv110.fpc b/src/shader/videonv110.fpc
index 850163a..7560311 100644
--- a/src/shader/videonv110.fpc
+++ b/src/shader/videonv110.fpc
@@ -1,44 +1,44 @@ 
-0xfc0007e0,
-0x001f8000,
+0xe1a0070f,
+0x003c3c01,
 0xcff7ff02,
 0xe003ff87,
 0x00470202,
 0x50800000,
 0x0027ff00,
 0xe043ff88,
-0xfc0007e0,
-0x001f8000,
+0xe1e0072f,
+0x003c3c03,
 0x4027ff01,
 0xe043ff88,
 0x2ff70004,
 0xc03a0004,
 0x2ff70000,
 0xc03a0016,
-0xfc0007e0,
-0x001f8000,
+0xfc2007e6,
+0x001f9800,
 0x00070405,
 0x4c681000,
 0x00170503,
 0x4c581000,
 0x00270504,
 0x4c581000,
-0xfc0007e0,
-0x001f8000,
+0xfcc007e6,
+0x001f8401,
 0x00370505,
 0x4c581000,
 0x00470003,
 0x49a00180,
 0x00570004,
 0x49a00200,
-0xfc0007e0,
-0x001f8000,
+0xfc2007e1,
+0x001f8400,
 0x00670005,
 0x49a00280,
 0x00770100,
 0x49a00180,
 0x00970102,
 0x49a00280,
-0xfc0007e0,
+0xfde007e6,
 0x001f8000,
 0x00870101,
 0x49a00200,

Comments

Hi,

Any updates on the review of this patch?

Cheers,
Aaryaman

On Sun, Jul 2, 2017 at 12:37 AM, Aaryaman Vasishta <
jem456.vasishta@gmail.com> wrote:

> v5: Rebased on depbar removal patch; removed a redundant read dep-bar.
>
> This patch adds proper delays to maxwell exa shaders. rendercheck tests
> seem consistent with/without this patch. I haven't extensively tested
> them though.
>
> Trello:
> https://trello.com/c/6LPB2EIS/174-update-maxwell-shaders-
> with-proper-delays
>
> Signed-off-by: Aaryaman Vasishta <jem456.vasishta@gmail.com>
> ---
>  src/shader/exac8nv110.fp  | 10 +++++-----
>  src/shader/exac8nv110.fpc | 18 +++++++++---------
>  src/shader/exacanv110.fp  | 10 +++++-----
>  src/shader/exacanv110.fpc | 18 +++++++++---------
>  src/shader/exacmnv110.fp  | 10 +++++-----
>  src/shader/exacmnv110.fpc | 18 +++++++++---------
>  src/shader/exas8nv110.fp  |  6 +++---
>  src/shader/exas8nv110.fpc | 12 ++++++------
>  src/shader/exasanv110.fp  | 10 +++++-----
>  src/shader/exasanv110.fpc | 18 +++++++++---------
>  src/shader/exascnv110.fp  |  4 ++--
>  src/shader/exascnv110.fpc |  8 ++++----
>  src/shader/videonv110.fp  | 12 ++++++------
>  src/shader/videonv110.fpc | 22 +++++++++++-----------
>  14 files changed, 88 insertions(+), 88 deletions(-)
>
> diff --git a/src/shader/exac8nv110.fp b/src/shader/exac8nv110.fp
> index 220d7e5..7797ef4 100644
> --- a/src/shader/exac8nv110.fp
> +++ b/src/shader/exac8nv110.fp
> @@ -25,22 +25,22 @@ NV110FP_Composite_A8[] = {
>  };
>  #else
>
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)
>  ipa pass $r0 a[0x7c] 0x0 0x0 0x1
>  mufu rcp $r0 $r0
>  ipa $r3 a[0x94] $r0 0x0 0x1
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf wr 0x0 wt 0x1)
>  ipa $r2 a[0x90] $r0 0x0 0x1
>  tex nodep $r1 $r2 0x0 0x1 t2d 0x8
>  ipa $r3 a[0x84] $r0 0x0 0x1
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0x6 wt 0x1)
>  ipa $r2 a[0x80] $r0 0x0 0x1
>  tex nodep $r0 $r2 0x0 0x0 t2d 0x8
>  fmul ftz $r3 $r0 $r1
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0x1) (st 0x1) (st 0x1)
>  mov $r2 $r3 0xf
>  mov $r1 $r3 0xf
>  mov $r0 $r3 0xf
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf) (st 0x0) (st 0x0)
>  exit
>  #endif
> diff --git a/src/shader/exac8nv110.fpc b/src/shader/exac8nv110.fpc
> index d8d5517..7eb9c02 100644
> --- a/src/shader/exac8nv110.fpc
> +++ b/src/shader/exac8nv110.fpc
> @@ -1,36 +1,36 @@
> -0xfc0007e0,
> -0x001f8000,
> +0xe1a0070f,
> +0x003c3c01,
>  0xcff7ff00,
>  0xe003ff87,
>  0x00470000,
>  0x50800000,
>  0x4007ff03,
>  0xe043ff89,
> -0xfc0007e0,
> -0x001f8000,
> +0xe1e0072f,
> +0x003c3c03,
>  0x0007ff02,
>  0xe043ff89,
>  0x2ff70201,
>  0xc03a0014,
>  0x4007ff03,
>  0xe043ff88,
> -0xfc0007e0,
> -0x001f8000,
> +0xe1e0072f,
> +0x003f9803,
>  0x0007ff02,
>  0xe043ff88,
>  0x2ff70200,
>  0xc03a0004,
>  0x00170003,
>  0x5c681000,
> -0xfc0007e0,
> -0x001f8000,
> +0xfc2007e1,
> +0x001f8400,
>  0x00370002,
>  0x5c980780,
>  0x00370001,
>  0x5c980780,
>  0x00370000,
>  0x5c980780,
> -0xfc0007e0,
> +0xfc0007ef,
>  0x001f8000,
>  0x0007000f,
>  0xe3000000,
> diff --git a/src/shader/exacanv110.fp b/src/shader/exacanv110.fp
> index bad34c9..912f630 100644
> --- a/src/shader/exacanv110.fp
> +++ b/src/shader/exacanv110.fp
> @@ -25,22 +25,22 @@ NV110FP_CAComposite[] = {
>  };
>  #else
>
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)
>  ipa pass $r0 a[0x7c] 0x0 0x0 0x1
>  mufu rcp $r0 $r0
>  ipa $r3 a[0x94] $r0 0x0 0x1
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf wr 0x1)
>  ipa $r2 a[0x90] $r0 0x0 0x1
>  tex nodep $r4 $r2 0x0 0x1 t2d 0xf
>  ipa $r1 a[0x84] $r0 0x0 0x1
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x1 wt 0x2) (st 0xf wr 0x1 wt 0x2) (st 0x1 wt 0x3)
>  ipa $r0 a[0x80] $r0 0x0 0x1
>  tex nodep $r0 $r0 0x0 0x0 t2d 0xf
>  fmul ftz $r3 $r3 $r7
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0x1) (st 0x1) (st 0x1)
>  fmul ftz $r2 $r2 $r6
>  fmul ftz $r1 $r1 $r5
>  fmul ftz $r0 $r0 $r4
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf) (st 0x0) (st 0x0)
>  exit
>  #endif
> diff --git a/src/shader/exacanv110.fpc b/src/shader/exacanv110.fpc
> index 1a151a2..4c35845 100644
> --- a/src/shader/exacanv110.fpc
> +++ b/src/shader/exacanv110.fpc
> @@ -1,36 +1,36 @@
> -0xfc0007e0,
> -0x001f8000,
> +0xe1a0070f,
> +0x003c3c01,
>  0xcff7ff00,
>  0xe003ff87,
>  0x00470000,
>  0x50800000,
>  0x4007ff03,
>  0xe043ff89,
> -0xfc0007e0,
> -0x001f8000,
> +0xe1e0072f,
> +0x001cbc03,
>  0x0007ff02,
>  0xe043ff89,
>  0xaff70204,
>  0xc03a0017,
>  0x4007ff01,
>  0xe043ff88,
> -0xfc0007e0,
> -0x001f8000,
> +0xe5e0172f,
> +0x007f8402,
>  0x0007ff00,
>  0xe043ff88,
>  0xaff70000,
>  0xc03a0007,
>  0x00770303,
>  0x5c681000,
> -0xfc0007e0,
> -0x001f8000,
> +0xfc2007e1,
> +0x001f8400,
>  0x00670202,
>  0x5c681000,
>  0x00570101,
>  0x5c681000,
>  0x00470000,
>  0x5c681000,
> -0xfc0007e0,
> +0xfc0007ef,
>  0x001f8000,
>  0x0007000f,
>  0xe3000000,
> diff --git a/src/shader/exacmnv110.fp b/src/shader/exacmnv110.fp
> index c1eb38e..02a0835 100644
> --- a/src/shader/exacmnv110.fp
> +++ b/src/shader/exacmnv110.fp
> @@ -25,22 +25,22 @@ NV110FP_Composite[] = {
>  };
>  #else
>
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)
>  ipa pass $r0 a[0x7c] 0x0 0x0 0x1
>  mufu rcp $r0 $r0
>  ipa $r3 a[0x94] $r0 0x0 0x1
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf wr 0x1)
>  ipa $r2 a[0x90] $r0 0x0 0x1
>  tex nodep $r4 $r2 0x0 0x1 t2d 0x8
>  ipa $r1 a[0x84] $r0 0x0 0x1
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x1 wt 0x2) (st 0xf wr 0x1 wt 0x2) (st 0x1 wt 0x3)
>  ipa $r0 a[0x80] $r0 0x0 0x1
>  tex nodep $r0 $r0 0x0 0x0 t2d 0xf
>  fmul ftz $r3 $r3 $r4
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0x1) (st 0x1) (st 0x1)
>  fmul ftz $r2 $r2 $r4
>  fmul ftz $r1 $r1 $r4
>  fmul ftz $r0 $r0 $r4
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf) (st 0x0) (st 0x0)
>  exit
>  #endif
> diff --git a/src/shader/exacmnv110.fpc b/src/shader/exacmnv110.fpc
> index 0b21a0a..56e4e18 100644
> --- a/src/shader/exacmnv110.fpc
> +++ b/src/shader/exacmnv110.fpc
> @@ -1,36 +1,36 @@
> -0xfc0007e0,
> -0x001f8000,
> +0xe1a0070f,
> +0x003c3c01,
>  0xcff7ff00,
>  0xe003ff87,
>  0x00470000,
>  0x50800000,
>  0x4007ff03,
>  0xe043ff89,
> -0xfc0007e0,
> -0x001f8000,
> +0xe1e0072f,
> +0x001cbc03,
>  0x0007ff02,
>  0xe043ff89,
>  0x2ff70204,
>  0xc03a0014,
>  0x4007ff01,
>  0xe043ff88,
> -0xfc0007e0,
> -0x001f8000,
> +0xe5e0172f,
> +0x007f8402,
>  0x0007ff00,
>  0xe043ff88,
>  0xaff70000,
>  0xc03a0007,
>  0x00470303,
>  0x5c681000,
> -0xfc0007e0,
> -0x001f8000,
> +0xfc2007e1,
> +0x001f8400,
>  0x00470202,
>  0x5c681000,
>  0x00470101,
>  0x5c681000,
>  0x00470000,
>  0x5c681000,
> -0xfc0007e0,
> +0xfc0007ef,
>  0x001f8000,
>  0x0007000f,
>  0xe3000000,
> diff --git a/src/shader/exas8nv110.fp b/src/shader/exas8nv110.fp
> index c5349d9..847cc6a 100644
> --- a/src/shader/exas8nv110.fp
> +++ b/src/shader/exas8nv110.fp
> @@ -25,15 +25,15 @@ NV110FP_Source_A8[] = {
>  };
>  #else
>
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)
>  ipa pass $r0 a[0x7c] 0x0 0x0 0x1
>  mufu rcp $r0 $r0
>  ipa $r1 a[0x84] $r0 0x0 0x1
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0x1 wt 0x1)
>  ipa $r0 a[0x80] $r0 0x0 0x1
>  tex nodep $r0 $r0 0x0 0x0 t2d 0x8
>  mov $r3 $r0 0xf
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0x1) (st 0x1) (st 0xf)
>  mov $r2 $r0 0xf
>  mov $r1 $r0 0xf
>  exit
> diff --git a/src/shader/exas8nv110.fpc b/src/shader/exas8nv110.fpc
> index fabf980..5671a12 100644
> --- a/src/shader/exas8nv110.fpc
> +++ b/src/shader/exas8nv110.fpc
> @@ -1,21 +1,21 @@
> -0xfc0007e0,
> -0x001f8000,
> +0xe1a0070f,
> +0x003c3c01,
>  0xcff7ff00,
>  0xe003ff87,
>  0x00470000,
>  0x50800000,
>  0x4007ff01,
>  0xe043ff88,
> -0xfc0007e0,
> -0x001f8000,
> +0xe1e0072f,
> +0x003f8403,
>  0x0007ff00,
>  0xe043ff88,
>  0x2ff70000,
>  0xc03a0004,
>  0x00070003,
>  0x5c980780,
> -0xfc0007e0,
> -0x001f8000,
> +0xfc2007e1,
> +0x001fbc00,
>  0x00070002,
>  0x5c980780,
>  0x00070001,
> diff --git a/src/shader/exasanv110.fp b/src/shader/exasanv110.fp
> index 4392c1f..a3d372e 100644
> --- a/src/shader/exasanv110.fp
> +++ b/src/shader/exasanv110.fp
> @@ -25,22 +25,22 @@ NV110FP_CACompositeSrcAlpha[] = {
>  };
>  #else
>
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)
>  ipa pass $r0 a[0x7c] 0x0 0x0 0x1
>  mufu rcp $r0 $r0
>  ipa $r3 a[0x84] $r0 0x0 0x1
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf wr 0x1)
>  ipa $r2 a[0x80] $r0 0x0 0x1
>  tex nodep $r4 $r2 0x0 0x0 t2d 0x8
>  ipa $r1 a[0x94] $r0 0x0 0x1
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x1 wt 0x2) (st 0xf wr 0x1 wt 0x2) (st 0x1 wt 0x3)
>  ipa $r0 a[0x90] $r0 0x0 0x1
>  tex nodep $r0 $r0 0x0 0x1 t2d 0xf
>  fmul ftz $r3 $r3 $r4
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0x1) (st 0x1) (st 0x1)
>  fmul ftz $r2 $r2 $r4
>  fmul ftz $r1 $r1 $r4
>  fmul ftz $r0 $r0 $r4
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf) (st 0x0) (st 0x0)
>  exit
>  #endif
> diff --git a/src/shader/exasanv110.fpc b/src/shader/exasanv110.fpc
> index 80a2731..b61e396 100644
> --- a/src/shader/exasanv110.fpc
> +++ b/src/shader/exasanv110.fpc
> @@ -1,36 +1,36 @@
> -0xfc0007e0,
> -0x001f8000,
> +0xe1a0070f,
> +0x003c3c01,
>  0xcff7ff00,
>  0xe003ff87,
>  0x00470000,
>  0x50800000,
>  0x4007ff03,
>  0xe043ff88,
> -0xfc0007e0,
> -0x001f8000,
> +0xe1e0072f,
> +0x001cbc03,
>  0x0007ff02,
>  0xe043ff88,
>  0x2ff70204,
>  0xc03a0004,
>  0x4007ff01,
>  0xe043ff89,
> -0xfc0007e0,
> -0x001f8000,
> +0xe5e0172f,
> +0x007f8402,
>  0x0007ff00,
>  0xe043ff89,
>  0xaff70000,
>  0xc03a0017,
>  0x00470303,
>  0x5c681000,
> -0xfc0007e0,
> -0x001f8000,
> +0xfc2007e1,
> +0x001f8400,
>  0x00470202,
>  0x5c681000,
>  0x00470101,
>  0x5c681000,
>  0x00470000,
>  0x5c681000,
> -0xfc0007e0,
> +0xfc0007ef,
>  0x001f8000,
>  0x0007000f,
>  0xe3000000,
> diff --git a/src/shader/exascnv110.fp b/src/shader/exascnv110.fp
> index 83a089a..91702d2 100644
> --- a/src/shader/exascnv110.fp
> +++ b/src/shader/exascnv110.fp
> @@ -25,11 +25,11 @@ NV110FP_Source[] = {
>  };
>  #else
>
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)
>  ipa pass $r0 a[0x7c] 0x0 0x0 0x1
>  mufu rcp $r0 $r0
>  ipa $r1 a[0x84] $r0 0x0 0x1
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x1) (st 0xf wt 0x3) (st 0xf)
>  ipa $r0 a[0x80] $r0 0x0 0x1
>  tex nodep $r0 $r0 0x0 0x0 t2d 0xf
>  exit
> diff --git a/src/shader/exascnv110.fpc b/src/shader/exascnv110.fpc
> index 3dd3f89..790a797 100644
> --- a/src/shader/exascnv110.fpc
> +++ b/src/shader/exascnv110.fpc
> @@ -1,13 +1,13 @@
> -0xfc0007e0,
> -0x001f8000,
> +0xe1a0070f,
> +0x003c3c01,
>  0xcff7ff00,
>  0xe003ff87,
>  0x00470000,
>  0x50800000,
>  0x4007ff01,
>  0xe043ff88,
> -0xfc0007e0,
> -0x001f8000,
> +0xfde0072f,
> +0x001fbc03,
>  0x0007ff00,
>  0xe043ff88,
>  0xaff70000,
> diff --git a/src/shader/videonv110.fp b/src/shader/videonv110.fp
> index b171e51..ce6769d 100644
> --- a/src/shader/videonv110.fp
> +++ b/src/shader/videonv110.fp
> @@ -25,27 +25,27 @@ NV110FP_NV12[] = {
>  };
>  #else
>
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)
>  ipa pass $r2 a[0x7c] 0x0 0x0 0x1
>  mufu rcp $r2 $r2
>  ipa $r0 a[0x80] $r2 0x0 0x1
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf wr 0x0 wt 0x1)
>  ipa $r1 a[0x84] $r2 0x0 0x1
>  tex nodep $r4 $r0 0x0 0x0 t2d 0x8
>  tex nodep $r0 $r0 0x0 0x1 t2d 0xc
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0x6) (st 0x1) (st 0x6)
>  fmul ftz $r5 $r4 c0[0x0]
>  fadd ftz $r3 $r5 c0[0x4]
>  fadd ftz $r4 $r5 c0[0x8]
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0x6) (st 0x6 wt 0x1) (st 0x1)
>  fadd ftz $r5 $r5 c0[0xc]
>  ffma ftz $r3 $r0 c0[0x10] $r3
>  ffma ftz $r4 $r0 c0[0x14] $r4
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0x1) (st 0x1) (st 0x1)
>  ffma ftz $r5 $r0 c0[0x18] $r5
>  ffma ftz $r0 $r1 c0[0x1c] $r3
>  ffma ftz $r2 $r1 c0[0x24] $r5
> -sched (st 0x0) (st 0x0) (st 0x0)
> +sched (st 0x6) (st 0xf) (st 0x0)
>  ffma ftz $r1 $r1 c0[0x20] $r4
>  exit
>  #endif
> diff --git a/src/shader/videonv110.fpc b/src/shader/videonv110.fpc
> index 850163a..7560311 100644
> --- a/src/shader/videonv110.fpc
> +++ b/src/shader/videonv110.fpc
> @@ -1,44 +1,44 @@
> -0xfc0007e0,
> -0x001f8000,
> +0xe1a0070f,
> +0x003c3c01,
>  0xcff7ff02,
>  0xe003ff87,
>  0x00470202,
>  0x50800000,
>  0x0027ff00,
>  0xe043ff88,
> -0xfc0007e0,
> -0x001f8000,
> +0xe1e0072f,
> +0x003c3c03,
>  0x4027ff01,
>  0xe043ff88,
>  0x2ff70004,
>  0xc03a0004,
>  0x2ff70000,
>  0xc03a0016,
> -0xfc0007e0,
> -0x001f8000,
> +0xfc2007e6,
> +0x001f9800,
>  0x00070405,
>  0x4c681000,
>  0x00170503,
>  0x4c581000,
>  0x00270504,
>  0x4c581000,
> -0xfc0007e0,
> -0x001f8000,
> +0xfcc007e6,
> +0x001f8401,
>  0x00370505,
>  0x4c581000,
>  0x00470003,
>  0x49a00180,
>  0x00570004,
>  0x49a00200,
> -0xfc0007e0,
> -0x001f8000,
> +0xfc2007e1,
> +0x001f8400,
>  0x00670005,
>  0x49a00280,
>  0x00770100,
>  0x49a00180,
>  0x00970102,
>  0x49a00280,
> -0xfc0007e0,
> +0xfde007e6,
>  0x001f8000,
>  0x00870101,
>  0x49a00200,
> --
> 2.11.0
>
>