Re: [Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-12-07 Thread Craig Garner
I'll give you my 2 cents worth when there is an update to the driver, X, or whatever is causing the issue in fc23. If I push it, I might be able to test something tomorrow if there are any updates for fc22->fc23. Thanks for all your hard work!!! Craig On Mon, Dec 7, 2015 at 2:56 PM, wrote: >

Re: [Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-12-07 Thread Craig Garner
I'll be done with my current project in a couple days. I can give you all the info you want for my quad head setup. I would like to be able to at least keep up with Fedora Current :) Tell me what you need so I'll have it before hand. I have a laptop I can still communicate with people and a ful

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-12-07 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 jr changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-12-07 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #40 from jr --- Created attachment 120393 --> https://bugs.freedesktop.org/attachment.cgi?id=120393&action=edit Patch to simplify test case creation Thanks. I finally had some time to look at the problem again. With the attached pa

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-09-10 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #39 from Ilia Mirkin --- I pushed the following after some light testing: commit a072ef8748a65d286e9b542bb9ea6e020fdcc7f8 Author: Ilia Mirkin Date: Thu Sep 10 01:54:30 2015 -0400 nv50/ir: make edge splitting fix up phi node s

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-22 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #38 from jr --- (In reply to Ilia Mirkin from comment #37) > I think this is too big of a problem to fix in a fixup, esp since we don't > really know what these are used for. > > I'm thinking the following: > > (a) Push my fixup pat

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-22 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #37 from Ilia Mirkin --- (In reply to jr from comment #36) > Created attachment 117865 [details] [review] > Edge type fix for prototype patch > > With this patch on top of the prototype patch edge splitting during > PhiMovesPass shou

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-22 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #36 from jr --- Created attachment 117865 --> https://bugs.freedesktop.org/attachment.cgi?id=117865&action=edit Edge type fix for prototype patch With this patch on top of the prototype patch edge splitting during PhiMovesPass shou

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-22 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #35 from jr --- (In reply to jr from comment #34) > (In reply to Ilia Mirkin from comment #33) > > (In reply to jr from comment #32) > > > (In reply to Ilia Mirkin from comment #31) > > > > Really if I could understand wtf the needNew

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #34 from jr --- (In reply to Ilia Mirkin from comment #33) > (In reply to jr from comment #32) > > (In reply to Ilia Mirkin from comment #31) > > > Really if I could understand wtf the needNewElseBlock logic was trying to > > > do, an

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #33 from Ilia Mirkin --- (In reply to jr from comment #32) > (In reply to Ilia Mirkin from comment #31) > > Really if I could understand wtf the needNewElseBlock logic was trying to > > do, and could construct a test shader to hit thi

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #32 from jr --- (In reply to Ilia Mirkin from comment #31) > Really if I could understand wtf the needNewElseBlock logic was trying to > do, and could construct a test shader to hit this in *regular* scenarios, > not just the lowered

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #31 from Ilia Mirkin --- (In reply to jr from comment #30) > (In reply to Ilia Mirkin from comment #29) > > H... maybe it was one of my local patches? I'll try to figure out what > > went wrong later tonight. > > > > I added logi

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #30 from jr --- (In reply to Ilia Mirkin from comment #29) > H... maybe it was one of my local patches? I'll try to figure out what > went wrong later tonight. > > I added logic to be clever about edge types... when splitting an

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-20 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #29 from Ilia Mirkin --- (In reply to jr from comment #28) > (In reply to Ilia Mirkin from comment #27) > > If you're still having trouble, try building for a fermi or kepler target > > using nouveau_compiler, i.e. > > > > src/galliu

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-20 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #28 from jr --- (In reply to Ilia Mirkin from comment #27) > If you're still having trouble, try building for a fermi or kepler target > using nouveau_compiler, i.e. > > src/gallium/drivers/nouveau/nouveau_compiler -a c0 - > > > an

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-20 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #27 from Ilia Mirkin --- If you're still having trouble, try building for a fermi or kepler target using nouveau_compiler, i.e. src/gallium/drivers/nouveau/nouveau_compiler -a c0 - and enjoy. [It also can take it from a file.] --

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-20 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #26 from Ilia Mirkin --- Created attachment 117832 --> https://bugs.freedesktop.org/attachment.cgi?id=117832&action=edit fs-critical-edge.shader_test My bad, apparently I wrote it and forgot all about it. I don't actually know if

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-20 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #25 from jr --- (In reply to Ilia Mirkin from comment #24) > (In reply to jr from comment #23) > > (In reply to Ilia Mirkin from comment #22) > > > (In reply to jr from comment #21) > > > > Created attachment 117077 [details] [review]

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-20 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #24 from Ilia Mirkin --- (In reply to jr from comment #23) > (In reply to Ilia Mirkin from comment #22) > > (In reply to jr from comment #21) > > > Created attachment 117077 [details] [review] [review] [review] > > > Prototype of a mo

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-20 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #23 from jr --- (In reply to Ilia Mirkin from comment #22) > (In reply to jr from comment #21) > > Created attachment 117077 [details] [review] [review] > > Prototype of a more highlevel graph modification api > > > > ... > > Hrm, I

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-08-20 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #22 from Ilia Mirkin --- (In reply to jr from comment #21) > Created attachment 117077 [details] [review] > Prototype of a more highlevel graph modification api > > After I realized that the prev/next arrays actually represent *two*

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-07-12 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #21 from jr --- Created attachment 117077 --> https://bugs.freedesktop.org/attachment.cgi?id=117077&action=edit Prototype of a more highlevel graph modification api After I realized that the prev/next arrays actually represent *two

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-29 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #20 from Ilia Mirkin --- (In reply to jr from comment #19) > I do prefer the map based approach over this last attempt. Keeping track of > the relevant BB is quite obviously correct, but trying to keep track of edge > reordering inste

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-29 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #19 from jr --- I do prefer the map based approach over this last attempt. Keeping track of the relevant BB is quite obviously correct, but trying to keep track of edge reordering instead looks like some kind of thimbleriggery to me:-

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-28 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #18 from Ilia Mirkin --- (In reply to Ilia Mirkin from comment #17) > Created attachment 116761 [details] [review] > another attempt > > OK, I like this a bit better since it doesn't use any weird maps, and incurs > minimal costs in

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-28 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #17 from Ilia Mirkin --- Created attachment 116761 --> https://bugs.freedesktop.org/attachment.cgi?id=116761&action=edit another attempt OK, I like this a bit better since it doesn't use any weird maps, and incurs minimal costs in

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 Ilia Mirkin changed: What|Removed |Added CC||lub...@gmail.com --- Comment #16 from Ilia

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 Ilia Mirkin changed: What|Removed |Added CC||emil.l.veli...@gmail.com --- Comment #15 f

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #14 from Ilia Mirkin --- OK, so among other changes, commit e43a3a66 had the following diff: @@ -312,23 +337,26 @@ RegAlloc::PhiMovesPass::visit(BasicBlock *bb) Instruction *phi, *mov; BasicBlock *pb, *pn; + std::stack sta

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-22 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #13 from Béla Gyebrószki --- I tried the patch from comment #9 and it indeed fixed the rendering issues in the games like Two Worlds 2, Trine: Enchanted Edition, Trine 2, XCOM:Enemy Unknown, Stacking (running in Wine). The patch great

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #12 from jr --- Thanks for pointing at the bug. I looked at it before filing this one. Cannot say now why I discarded it as a potential duplicate without testing the trace. You'd be less impressed if I told you how long it took:-) Bu

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #11 from Ilia Mirkin --- Out of curiousity, could I trouble you to test out the trace in https://bugs.freedesktop.org/show_bug.cgi?id=75776#c2 And see if it was this same problem (I don't have a nv50-family card plugged in and suck

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #10 from jr --- I can confirm that your patch fixes all occurences of the problem I've found so far (Lifeless Planet, Eidolon, Costume Quest with FXAA option, Two Worlds 2 sky texture). I slightly prefer keeping the edge order intact

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #9 from Ilia Mirkin --- Created attachment 116566 --> https://bugs.freedesktop.org/attachment.cgi?id=116566&action=edit another attempted fix ok, this is my attempt at fixing this. upon a very quick perusal, it seems like it works

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #8 from jr --- Note that I really do have no clue of the whole system and only a very rough understanding of SSA, but I think your result is the same as mine. The targets of the newly inserted mov instructions are fine, because the Ph

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #7 from Ilia Mirkin --- OK, so... as I suspected, the phi nodes are actually fine. I added this to the nv50 printer: for (Graph::EdgeIterator ei = bb->cfg.incident(); !ei.end(); ei.next()) INFO(" <- BB:%i (%s)\n",

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #6 from Ilia Mirkin --- So... I looked at this closer and from the *looks* of it, the current code is correct. It fixes up all the phi nodes in bb, which is the block whose inbound edges got all messed up. I will analyze your sample

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-16 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #5 from Ilia Mirkin --- (In reply to jr from comment #4) > I've been thinking a little about a better way to fix this inbound edge > ordering dependency. Unfortunately it seems that unless there is a way to > efficiently recompute the

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-16 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #4 from jr --- Thanks for reviewing and fixing the other patch! Meant to send it to the list, but was too busy elsewhere last week. I've been thinking a little about a better way to fix this inbound edge ordering dependency. Unfortun

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-07 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #3 from Ilia Mirkin --- Gah! The inbound edge ordering having to be the same as in phi nodes has bit me before as well. I wonder if it wouldn't be simpler to just fix that, i.e. make phi nodes attach a bb reference to each argument.

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-07 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #2 from jr --- Forgot to add: Interestingly without the additional blocks inserted by TXL in the if block the bug is not triggered (i.e. other tex operations work fine). -- You are receiving this mail because: You are the QA Contact

[Nouveau] [Bug 90887] PhiMovesPass in register allocator broken

2015-06-07 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #1 from jr --- This is the minified shader I did the debugging with. translating program of type 4 FRAG DCL IN[0], GENERIC[9], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0..2], LOCAL IMM[0] FLT32 {0., 1.9632,