<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 8, 2017 at 5:01 AM, Samuel Pitoiset <span dir="ltr"><<a href="mailto:samuel.pitoiset@gmail.com" target="_blank">samuel.pitoiset@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
On 06/07/2017 06:58 PM, Aaryaman Vasishta wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="m_-4542229574377791004m_-7073567335861583097gmail-">
<br>
<br>
On Tue, Jun 6, 2017 at 7:15 AM, Samuel Pitoiset <<a href="mailto:samuel.pitoiset@gmail.com" target="_blank">samuel.pitoiset@gmail.com</a> <mailto:<a href="mailto:samuel.pitoiset@gmail.com" target="_blank">samuel.pitoiset@gmail.<wbr>com</a>>> wrote:<br>
<br>
    Nice work!<br>
<br>
    See my comments below, and double-check if some of them can be<br>
    applied to the shaders I didn't review yet.<br>
<br>
    I recommend you to test your work because if one sched code is<br>
    wrong, you are likely going to kill your card and reboot your box. :-)<br>
<br>
<br>
    On 06/03/2017 04:16 PM, Aaryaman Vasishta wrote:<br>
<br>
        v2: Add missing delays<br>
<br>
        This patch adds proper delays to maxwell exa shaders.<br>
        rendercheck tests<br>
        seem consistent with/without this patch. I haven't extensively<br>
        tested<br>
        them though.<br>
<br>
        Trello:<br>
        <a href="https://trello.com/c/6LPB2EIS/174-update-maxwell-shaders-with-proper-delays" rel="noreferrer" target="_blank">https://trello.com/c/6LPB2EIS/<wbr>174-update-maxwell-shaders-wit<wbr>h-proper-delays</a><br>
        <<a href="https://trello.com/c/6LPB2EIS/174-update-maxwell-shaders-with-proper-delays" rel="noreferrer" target="_blank">https://trello.com/c/6LPB2EIS<wbr>/174-update-maxwell-shaders-wi<wbr>th-proper-delays</a>><br>
<br>
        Signed-off-by: Aaryaman Vasishta <<a href="mailto:jem456.vasishta@gmail.com" target="_blank">jem456.vasishta@gmail.com</a><br></span>
        <mailto:<a href="mailto:jem456.vasishta@gmail.com" target="_blank">jem456.vasishta@gmail.<wbr>com</a>>><div><div class="m_-4542229574377791004m_-7073567335861583097gmail-h5"><br>
        ---<br>
           src/shader/exac8nv110.fp  | 10 +++++-----<br>
           src/shader/exac8nv110.fpc | 18 +++++++++---------<br>
           src/shader/exacanv110.fp  | 10 +++++-----<br>
           src/shader/exacanv110.fpc | 18 +++++++++---------<br>
           src/shader/exacmnv110.fp  | 10 +++++-----<br>
           src/shader/exacmnv110.fpc | 18 +++++++++---------<br>
           src/shader/exas8nv110.fp  |  6 +++---<br>
           src/shader/exas8nv110.fpc | 12 ++++++------<br>
           src/shader/exasanv110.fp  | 10 +++++-----<br>
           src/shader/exasanv110.fpc | 18 +++++++++---------<br>
           src/shader/exascnv110.fp  |  6 +++---<br>
           src/shader/exascnv110.fpc | 10 +++++-----<br>
           src/shader/videonv110.fp  | 14 +++++++-------<br>
           src/shader/videonv110.fpc | 26 +++++++++++++-------------<br>
           14 files changed, 93 insertions(+), 93 deletions(-)<br>
<br>
        diff --git a/src/shader/exac8nv110.fp b/src/shader/exac8nv110.fp<br>
        index ce78036..1c4a4f1 100644<br>
        --- a/src/shader/exac8nv110.fp<br>
        +++ b/src/shader/exac8nv110.fp<br>
        @@ -25,23 +25,23 @@ NV110FP_Composite_A8[] = {<br>
           };<br>
           #else<br>
           -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)<br>
           ipa pass $r0 a[0x7c] 0x0 0x0 0x1<br>
           mufu rcp $r0 $r0<br>
           ipa $r3 a[0x94] $r0 0x0 0x1<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x1) (st 0xf wr 0x0 rd 0x1 wt 0x3) (st 0xf wr<br>
        0x1 wt 0x2)<br>
           ipa $r2 a[0x90] $r0 0x0 0x1<br>
           tex nodep $r1 $r2 0x0 0x1 t2d 0x8<br>
           ipa $r3 a[0x84] $r0 0x0 0x1<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x2) (st 0xf wr 0x1 wt 0x6) (st 0xf)<br>
           ipa $r2 a[0x80] $r0 0x0 0x1<br>
           tex nodep $r0 $r2 0x0 0x0 t2d 0x8<br>
<br>
<br>
    Out of curiosity, what didn't you add a read-dep-bar on $r2:$r3 here?<br>
<br>
Missed it, thanks for pointing it out.<br>
</div></div></blockquote>
<br>
You don't have to. 'tex' reads two sources ($r2:$r3) and writes into $r0, but as $r2:$r3 are NOT re-used before $r0 is read, you can assume that $r0 will be ready and don't need any read-dep-bar.</blockquote><div>Ah, so r2:r3, which are written on by the two 'ipa' above it, have already been waited on in this tex, and both of them read $r0 so we can safely assume that since the two 'ipa' instructions are already waited on, $r0 will be ready?</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="m_-4542229574377791004m_-7073567335861583097gmail-h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<br>
<br>
           depbar le 0x5 0x0 0x0<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0x6 wt 0x3) (st 0x6) (st 0x1)<br>
           fmul ftz $r3 $r0 $r1<br>
           mov $r2 $r3 0xf<br>
<br>
<br>
    You can stall for only one cycle here, but the 6 cycles on fmul is<br>
    needed.<br>
<br>
           mov $r1 $r3 0xf<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0x6) (st 0xf) (st 0x0)<br>
           mov $r0 $r3 0xf<br>
<br>
<br>
    Same here. <br>
<br>
<br>
           exit<br>
           #endif<br>
        diff --git a/src/shader/exac8nv110.fpc b/src/shader/exac8nv110.fpc<br>
        index 4aa1368..46943b7 100644<br>
        --- a/src/shader/exac8nv110.fpc<br>
        +++ b/src/shader/exac8nv110.fpc<br>
        @@ -1,36 +1,36 @@<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe1a0070f,<br>
        +0x003c3c01,<br>
           0xcff7ff00,<br>
           0xe003ff87,<br>
           0x00470000,<br>
           0x50800000,<br>
           0x4007ff03,<br>
           0xe043ff89,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0x21e0072f,<br>
        +0x005cbc03,<br>
           0x0007ff02,<br>
           0xe043ff89,<br>
           0x2ff70201,<br>
           0xc03a0014,<br>
           0x4007ff03,<br>
           0xe043ff88,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe5e0074f,<br>
        +0x001fbc06,<br>
           0x0007ff02,<br>
           0xe043ff88,<br>
           0x2ff70200,<br>
           0xc03a0004,<br>
           0x34070000,<br>
           0xf0f00000,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xfcc01fe6,<br>
        +0x001f8400,<br>
           0x00170003,<br>
           0x5c681000,<br>
           0x00370002,<br>
           0x5c980780,<br>
           0x00370001,<br>
           0x5c980780,<br>
        -0xfc0007e0,<br>
        +0xfde007e6,<br>
           0x001f8000,<br>
           0x00370000,<br>
           0x5c980780,<br>
        diff --git a/src/shader/exacanv110.fp b/src/shader/exacanv110.fp<br>
        index a70d5c5..d7c2867 100644<br>
        --- a/src/shader/exacanv110.fp<br>
        +++ b/src/shader/exacanv110.fp<br>
        @@ -25,23 +25,23 @@ NV110FP_CAComposite[] = {<br>
           };<br>
           #else<br>
           -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)<br>
           ipa pass $r0 a[0x7c] 0x0 0x0 0x1<br>
           mufu rcp $r0 $r0<br>
           ipa $r3 a[0x94] $r0 0x0 0x1<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf wr 0x1 rd 0x2)<br>
           ipa $r2 a[0x90] $r0 0x0 0x1<br>
           tex nodep $r4 $r2 0x0 0x1 t2d 0xf<br>
<br>
<br>
    Please add a read-dep-bar and wait for on the first fmul because<br>
    $r2:$r3 are re-used before $r4. Should be safer. <br>
<br>
<br>
           ipa $r1 a[0x84] $r0 0x0 0x1<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x2 wt 0x4) (st 0xf wr 0x1 wt 0x6) (st 0xf)<br>
           ipa $r0 a[0x80] $r0 0x0 0x1<br>
           tex nodep $r0 $r0 0x0 0x0 t2d 0xf<br>
           depbar le 0x5 0x0 0x0<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0x1 wt 0x3f) (st 0x1) (st 0x1)<br>
           fmul ftz $r3 $r3 $r7<br>
<br>
<br>
    Why are you waiting all barriers? Only $r3 is needed here.<br>
<br>
After adding a read-dep-bar and waiting on that over here, I wasn't able to pass the same number of `rendercheck -f a8r8g8b8` tests as before this patch.  After a little trial and error I discovered that wt 0xc fixes it, which means that bar 3 and 4 were being used in this fmul somehow (assuming bars start from 1), which is odd because this fmul only uses $r3 and $r7, and I think it should wait on the read-dep-bar set on "tex nodep $r4 $r2 0x0 0x1 t2d 0xf" (I could be wrong though). I'm kinda stumped on what's going on within this fmul that's causing this behavior.<br>
</blockquote>
<br></div></div>
Because you are missing a read-dep-bar on the first 'tex' in this shader. Presumably, if you add one, you no longer need to wait for all bars.</blockquote><div>I made some changes which you can check out here <a href="https://hastebin.com/cazirimeva.bash" target="_blank">https://hastebin.com/cazirimev<wbr>a.bash</a>. Here are my comments on the same:</div><div>In ' sched (st 0x1 wt 0x2) (st 0x1) (st 0x1 wt 0x4)' I'm facing the same issue, even after waiting on the read-dep bar set on the first 'tex'. I replaced 'wt 0x2' with 'wt 0x4' so it waits on bar 3 instead of bar 2 which was set as the read-dep bar, and the above issue goes away. It's kinda odd for me because bar 3 is set for $r0 on the second 'tex' and that fmul doesn't seem to use it anywhere.</div><div><br></div><div>Cheers,</div><div>Aaryaman <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="m_-4542229574377791004m_-7073567335861583097gmail-HOEnZb"><font color="#888888"><br>
<br>
Samuel.</font></span><div class="m_-4542229574377791004m_-7073567335861583097gmail-HOEnZb"><div class="m_-4542229574377791004m_-7073567335861583097gmail-h5"><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<br>
<br>
           fmul ftz $r2 $r2 $r6<br>
           fmul ftz $r1 $r1 $r5<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0x1 wt 0x3) (st 0xf) (st 0x0)<br>
           fmul ftz $r0 $r0 $r4<br>
           exit<br>
           #endif<br>
        diff --git a/src/shader/exacanv110.fpc b/src/shader/exacanv110.fpc<br>
        index 7c0ca5e..9cad139 100644<br>
        --- a/src/shader/exacanv110.fpc<br>
        +++ b/src/shader/exacanv110.fpc<br>
        @@ -1,36 +1,36 @@<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe1a0070f,<br>
        +0x003c3c01,<br>
           0xcff7ff00,<br>
           0xe003ff87,<br>
           0x00470000,<br>
           0x50800000,<br>
           0x4007ff03,<br>
           0xe043ff89,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe1e0072f,<br>
        +0x0008bc03,<br>
           0x0007ff02,<br>
           0xe043ff89,<br>
           0xaff70204,<br>
           0xc03a0017,<br>
           0x4007ff01,<br>
           0xe043ff88,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe5e0274f,<br>
        +0x001fbc06,<br>
           0x0007ff00,<br>
           0xe043ff88,<br>
           0xaff70000,<br>
           0xc03a0007,<br>
           0x34070000,<br>
           0xf0f00000,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xfc21ffe1,<br>
        +0x001f8400,<br>
           0x00770303,<br>
           0x5c681000,<br>
           0x00670202,<br>
           0x5c681000,<br>
           0x00570101,<br>
           0x5c681000,<br>
        -0xfc0007e0,<br>
        +0xfde01fe1,<br>
           0x001f8000,<br>
           0x00470000,<br>
           0x5c681000,<br>
        diff --git a/src/shader/exacmnv110.fp b/src/shader/exacmnv110.fp<br>
        index fe5c294..d717138 100644<br>
        --- a/src/shader/exacmnv110.fp<br>
        +++ b/src/shader/exacmnv110.fp<br>
        @@ -25,23 +25,23 @@ NV110FP_Composite[] = {<br>
           };<br>
           #else<br>
           -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)<br>
           ipa pass $r0 a[0x7c] 0x0 0x0 0x1<br>
           mufu rcp $r0 $r0<br>
           ipa $r3 a[0x94] $r0 0x0 0x1<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf wr 0x1 rd 0x2)<br>
           ipa $r2 a[0x90] $r0 0x0 0x1<br>
           tex nodep $r4 $r2 0x0 0x1 t2d 0x8<br>
           ipa $r1 a[0x84] $r0 0x0 0x1<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x2 wt 0x4) (st 0xf wr 0x1 wt 0x6) (st 0xf)<br>
           ipa $r0 a[0x80] $r0 0x0 0x1<br>
           tex nodep $r0 $r0 0x0 0x0 t2d 0xf<br>
           depbar le 0x5 0x0 0x0<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0x1 wt 0x3f) (st 0x1) (st 0x1)<br>
           fmul ftz $r3 $r3 $r4<br>
           fmul ftz $r2 $r2 $r4<br>
           fmul ftz $r1 $r1 $r4<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0x6 wt 0x2) (st 0xf) (st 0x0)<br>
           fmul ftz $r0 $r0 $r4<br>
           exit<br>
           #endif<br>
        diff --git a/src/shader/exacmnv110.fpc b/src/shader/exacmnv110.fpc<br>
        index 9d62c1a..c150875 100644<br>
        --- a/src/shader/exacmnv110.fpc<br>
        +++ b/src/shader/exacmnv110.fpc<br>
        @@ -1,36 +1,36 @@<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe1a0070f,<br>
        +0x003c3c01,<br>
           0xcff7ff00,<br>
           0xe003ff87,<br>
           0x00470000,<br>
           0x50800000,<br>
           0x4007ff03,<br>
           0xe043ff89,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe1e0072f,<br>
        +0x0008bc03,<br>
           0x0007ff02,<br>
           0xe043ff89,<br>
           0x2ff70204,<br>
           0xc03a0014,<br>
           0x4007ff01,<br>
           0xe043ff88,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe5e0274f,<br>
        +0x001fbc06,<br>
           0x0007ff00,<br>
           0xe043ff88,<br>
           0xaff70000,<br>
           0xc03a0007,<br>
           0x34070000,<br>
           0xf0f00000,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xfc21ffe1,<br>
        +0x001f8400,<br>
           0x00470303,<br>
           0x5c681000,<br>
           0x00470202,<br>
           0x5c681000,<br>
           0x00470101,<br>
           0x5c681000,<br>
        -0xfc0007e0,<br>
        +0xfde017e6,<br>
           0x001f8000,<br>
           0x00470000,<br>
           0x5c681000,<br>
        diff --git a/src/shader/exas8nv110.fp b/src/shader/exas8nv110.fp<br>
        index 4fe2e19..a555beb 100644<br>
        --- a/src/shader/exas8nv110.fp<br>
        +++ b/src/shader/exas8nv110.fp<br>
        @@ -25,15 +25,15 @@ NV110FP_Source_A8[] = {<br>
           };<br>
           #else<br>
           -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)<br>
           ipa pass $r0 a[0x7c] 0x0 0x0 0x1<br>
           mufu rcp $r0 $r0<br>
           ipa $r1 a[0x84] $r0 0x0 0x1<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf)<br>
           ipa $r0 a[0x80] $r0 0x0 0x1<br>
           tex nodep $r0 $r0 0x0 0x0 t2d 0x8<br>
           depbar le 0x5 0x0 0x0<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0x1 wt 0x1) (st 0x1) (st 0x1)<br>
           mov $r3 $r0 0xf<br>
           mov $r2 $r0 0xf<br>
           mov $r1 $r0 0xf<br>
<br>
<br>
    This one looks good!<br>
<br>
<br>
        diff --git a/src/shader/exas8nv110.fpc b/src/shader/exas8nv110.fpc<br>
        index 1181c41..e58d168 100644<br>
        --- a/src/shader/exas8nv110.fpc<br>
        +++ b/src/shader/exas8nv110.fpc<br>
        @@ -1,21 +1,21 @@<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe1a0070f,<br>
        +0x003c3c01,<br>
           0xcff7ff00,<br>
           0xe003ff87,<br>
           0x00470000,<br>
           0x50800000,<br>
           0x4007ff01,<br>
           0xe043ff88,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe1e0072f,<br>
        +0x001fbc03,<br>
           0x0007ff00,<br>
           0xe043ff88,<br>
           0x2ff70000,<br>
           0xc03a0004,<br>
           0x34070000,<br>
           0xf0f00000,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xfc200fe1,<br>
        +0x001f8400,<br>
           0x00070003,<br>
           0x5c980780,<br>
           0x00070002,<br>
        diff --git a/src/shader/exasanv110.fp b/src/shader/exasanv110.fp<br>
        index 61374a6..ad7ca36 100644<br>
        --- a/src/shader/exasanv110.fp<br>
        +++ b/src/shader/exasanv110.fp<br>
        @@ -25,23 +25,23 @@ NV110FP_CACompositeSrcAlpha[] = {<br>
           };<br>
           #else<br>
           -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)<br>
           ipa pass $r0 a[0x7c] 0x0 0x0 0x1<br>
           mufu rcp $r0 $r0<br>
           ipa $r3 a[0x84] $r0 0x0 0x1<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf wr 0x1 rd 0x2)<br>
           ipa $r2 a[0x80] $r0 0x0 0x1<br>
           tex nodep $r4 $r2 0x0 0x0 t2d 0x8<br>
           ipa $r1 a[0x94] $r0 0x0 0x1<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x2 wt 0x4) (st 0xf wr 0x1 wt 0x6) (st 0xf)<br>
           ipa $r0 a[0x90] $r0 0x0 0x1<br>
           tex nodep $r0 $r0 0x0 0x1 t2d 0xf<br>
           depbar le 0x5 0x0 0x0<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0x1 wt 0x3f) (st 0x1) (st 0x1)<br>
           fmul ftz $r3 $r3 $r4<br>
           fmul ftz $r2 $r2 $r4<br>
           fmul ftz $r1 $r1 $r4<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0x1 wt 0x2) (st 0xf) (st 0x0)<br>
           fmul ftz $r0 $r0 $r4<br>
           exit<br>
           #endif<br>
        diff --git a/src/shader/exasanv110.fpc b/src/shader/exasanv110.fpc<br>
        index 5516a03..1485f11 100644<br>
        --- a/src/shader/exasanv110.fpc<br>
        +++ b/src/shader/exasanv110.fpc<br>
        @@ -1,36 +1,36 @@<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe1a0070f,<br>
        +0x003c3c01,<br>
           0xcff7ff00,<br>
           0xe003ff87,<br>
           0x00470000,<br>
           0x50800000,<br>
           0x4007ff03,<br>
           0xe043ff88,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe1e0072f,<br>
        +0x0008bc03,<br>
           0x0007ff02,<br>
           0xe043ff88,<br>
           0x2ff70204,<br>
           0xc03a0004,<br>
           0x4007ff01,<br>
           0xe043ff89,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe5e0274f,<br>
        +0x001fbc06,<br>
           0x0007ff00,<br>
           0xe043ff89,<br>
           0xaff70000,<br>
           0xc03a0017,<br>
           0x34070000,<br>
           0xf0f00000,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xfc21ffe1,<br>
        +0x001f8400,<br>
           0x00470303,<br>
           0x5c681000,<br>
           0x00470202,<br>
           0x5c681000,<br>
           0x00470101,<br>
           0x5c681000,<br>
        -0xfc0007e0,<br>
        +0xfde017e1,<br>
           0x001f8000,<br>
           0x00470000,<br>
           0x5c681000,<br>
        diff --git a/src/shader/exascnv110.fp b/src/shader/exascnv110.fp<br>
        index 90bbb55..86e14e8 100644<br>
        --- a/src/shader/exascnv110.fp<br>
        +++ b/src/shader/exascnv110.fp<br>
        @@ -25,14 +25,14 @@ NV110FP_Source[] = {<br>
           };<br>
           #else<br>
           -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)<br>
           ipa pass $r0 a[0x7c] 0x0 0x0 0x1<br>
           mufu rcp $r0 $r0<br>
           ipa $r1 a[0x84] $r0 0x0 0x1<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x1) (st 0xf wt 0x3) (st 0xf)<br>
           ipa $r0 a[0x80] $r0 0x0 0x1<br>
           tex nodep $r0 $r0 0x0 0x0 t2d 0xf<br>
           depbar le 0x5 0x0 0x0<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf) (st 0x0) (st 0x0)<br>
<br>
<br>
    Looks good.<br>
<br>
<br>
           exit<br>
           #endif<br>
        diff --git a/src/shader/exascnv110.fpc b/src/shader/exascnv110.fpc<br>
        index 2dba15d..1fef5d2 100644<br>
        --- a/src/shader/exascnv110.fpc<br>
        +++ b/src/shader/exascnv110.fpc<br>
        @@ -1,20 +1,20 @@<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe1a0070f,<br>
        +0x003c3c01,<br>
           0xcff7ff00,<br>
           0xe003ff87,<br>
           0x00470000,<br>
           0x50800000,<br>
           0x4007ff01,<br>
           0xe043ff88,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xfde0072f,<br>
        +0x001fbc03,<br>
           0x0007ff00,<br>
           0xe043ff88,<br>
           0xaff70000,<br>
           0xc03a0007,<br>
           0x34070000,<br>
           0xf0f00000,<br>
        -0xfc0007e0,<br>
        +0xfc0007ef,<br>
           0x001f8000,<br>
           0x0007000f,<br>
           0xe3000000,<br>
        diff --git a/src/shader/videonv110.fp b/src/shader/videonv110.fp<br>
        index 2728311..dd3816c 100644<br>
        --- a/src/shader/videonv110.fp<br>
        +++ b/src/shader/videonv110.fp<br>
        @@ -25,30 +25,30 @@ NV110FP_NV12[] = {<br>
           };<br>
           #else<br>
           -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x0) (st 0xd wr 0x0 wt 0x1) (st 0xf wr 0x0 wt 0x1)<br>
           ipa pass $r2 a[0x7c] 0x0 0x0 0x1<br>
           mufu rcp $r2 $r2<br>
           ipa $r0 a[0x80] $r2 0x0 0x1<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf wr 0x1) (st 0xf wr 0x0 wt 0x3) (st 0xf wr 0x1)<br>
           ipa $r1 a[0x84] $r2 0x0 0x1<br>
           tex nodep $r4 $r0 0x0 0x0 t2d 0x8<br>
           tex nodep $r0 $r0 0x0 0x1 t2d 0xc<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf) (st 0x6 wt 0x1) (st 0x6)<br>
           depbar le 0x5 0x1 0x1<br>
           fmul ftz $r5 $r4 c0[0x0]<br>
           fadd ftz $r3 $r5 c0[0x4]<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0x6) (st 0x6) (st 0xf)<br>
           fadd ftz $r4 $r5 c0[0x8]<br>
           fadd ftz $r5 $r5 c0[0xc]<br>
           depbar le 0x5 0x0 0x0<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0x6 wt 0x2) (st 0x1) (st 0x1)<br>
           ffma ftz $r3 $r0 c0[0x10] $r3<br>
           ffma ftz $r4 $r0 c0[0x14] $r4<br>
           ffma ftz $r5 $r0 c0[0x18] $r5<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0x1) (st 0x1) (st 0x6)<br>
           ffma ftz $r0 $r1 c0[0x1c] $r3<br>
           ffma ftz $r2 $r1 c0[0x24] $r5<br>
           ffma ftz $r1 $r1 c0[0x20] $r4<br>
        -sched (st 0x0) (st 0x0) (st 0x0)<br>
        +sched (st 0xf) (st 0x0) (st 0x0)<br>
           exit<br>
           #endif<br>
        diff --git a/src/shader/videonv110.fpc b/src/shader/videonv110.fpc<br>
        index 31d745a..8fbc246 100644<br>
        --- a/src/shader/videonv110.fpc<br>
        +++ b/src/shader/videonv110.fpc<br>
        @@ -1,52 +1,52 @@<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe1a0070f,<br>
        +0x003c3c01,<br>
           0xcff7ff02,<br>
           0xe003ff87,<br>
           0x00470202,<br>
           0x50800000,<br>
           0x0027ff00,<br>
           0xe043ff88,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xe1e0072f,<br>
        +0x001cbc03,<br>
           0x4027ff01,<br>
           0xe043ff88,<br>
           0x2ff70004,<br>
           0xc03a0004,<br>
           0x2ff70000,<br>
           0xc03a0016,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xfcc007ef,<br>
        +0x001f9801,<br>
           0x34170001,<br>
           0xf0f00000,<br>
           0x00070405,<br>
           0x4c681000,<br>
           0x00170503,<br>
           0x4c581000,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xfcc007e6,<br>
        +0x001fbc00,<br>
           0x00270504,<br>
           0x4c581000,<br>
           0x00370505,<br>
           0x4c581000,<br>
           0x34070000,<br>
           0xf0f00000,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xfc2017e6,<br>
        +0x001f8400,<br>
           0x00470003,<br>
           0x49a00180,<br>
           0x00570004,<br>
           0x49a00200,<br>
           0x00670005,<br>
           0x49a00280,<br>
        -0xfc0007e0,<br>
        -0x001f8000,<br>
        +0xfc2007e1,<br>
        +0x001f9800,<br>
           0x00770100,<br>
           0x49a00180,<br>
           0x00970102,<br>
           0x49a00280,<br>
           0x00870101,<br>
           0x49a00200,<br>
        -0xfc0007e0,<br>
        +0xfc0007ef,<br>
           0x001f8000,<br>
           0x0007000f,<br>
           0xe3000000,<br>
<br>
As for your other comments, I have made the suggested changes.<br>
<br>
Thanks for your review!<br>
<br>
Cheers,<br>
Aaryaman<br>
</blockquote>
</div></div></blockquote></div><br></div></div>