05:49 harry_x: imirkin: Yeah, it does look related... Anyway resume from suspend is broken both with runpm=0 and without it.
09:55 debo: hi guys
09:55 debo: Thread 1 "plasmashell" received signal SIGSEGV, Segmentation fault.
09:55 debo: 0xac3ff78c in ?? () from /usr/lib/i386-linux-gnu/dri/nouveau_dri.so
09:55 debo: i have upgraded to debian stretch and removed the old nvidia drivers
10:00 jpsollie: Hello everyone. Can any of the developers here give me a smalle status update about opencl on Kepler? There's not much info on the website except 'WIP' :)
10:00 karolherbst: jpsollie: there is none
10:00 jpsollie: Nothing? :(
10:00 karolherbst: and maybe it will come in the future, who knows
10:02 jpsollie: Ok, thanks
10:09 debo: any ideas what to do with the nouveau driver?
10:40 karolherbst: debo: play games
11:07 Tom^: karolherbst: i think he was wondering more about his crash :p
11:16 karolherbst: mhh
11:17 karolherbst: debo: there are some bugs regarding multithreading things, which might get fixed at some point, hopefully this year
11:33 debo: thanks karolherbst
11:34 debo: i had at least a desktop this morning
11:34 debo: i'm pretty sure i have done some terrible configuration to cause the problems
12:38 karolherbst: imirkin: do you think you will have some time looking at the card I created yesterday regarding OOR_ADDR? Was able to track down a call with which it might be easily debugged.
13:12 hakzsam: imirkin: did you make progress with bindless?
13:51 RSpliet: https://github.com/PAA-NCIC/PPoPP2017_artifact/blob/master/sgemm.pdf
13:51 RSpliet: somehow I get the feeling that for half that work they could've just asked us... but there's interesting details in there
14:05 RSpliet: Like the register index...
14:11 pmoreau: Thanks for the link! :-)
14:18 RSpliet: It's such a shame that researchers don't attempt to communicate with the ppl here... there's so much overlapping "discoveries" being made
14:18 RSpliet: although Envytools was referenced!
14:20 imirkin: karolherbst: yeah, i made a trace, the first draw triggers it, i can repro but ... no idea why yet
14:20 imirkin: karolherbst: i suspect it's something odd
14:22 imirkin: lol, those control code graphs look exactly the same as the ones calim made like ... 5 years ago?
14:23 RSpliet: imirkin: I'd be shocked if they looked different!
14:24 RSpliet: I guess it's partially our fault for not attempting to publish in the academic stratosphere, but that stuff costs like time...
14:54 imirkin: hakzsam: no (real) progress on bindless
14:54 imirkin: hakzsam: do you plan on reviewing the other patches i've sent out?
14:54 imirkin: [otherwise i'll just push them]
14:57 hakzsam: yeah, later on
14:57 imirkin: ok
15:01 karolherbst: interesting. A joinat/join imbalance causes a STACK_ERROR
15:02 imirkin: is that surprising?
15:02 imirkin: i thought that was the definition of a STACK_ERROR
15:02 karolherbst: actually no
15:03 imirkin: (that and call/ret imbalance, or prebreak/break, etc)
15:03 karolherbst: mhh, I am currently playing a abit around with the emiter
15:03 karolherbst: and now I only emit mov 0x0 0x0, but I get an OOR_REG error now
15:04 imirkin: i don't think you can store to $r63
15:04 karolherbst: I tried to store to $r0 and I got the same
15:04 karolherbst: what is the proper way to emit a nop?
15:04 imirkin: OOR_REG = "you used more regs than you said you would"
15:04 imirkin: uhm... there's a NOP opcode
15:04 imirkin: i thought
15:05 karolherbst: ahh I see
15:05 RSpliet:coins the term nopcode.
15:05 imirkin: RSpliet: now trademark it
15:05 karolherbst: sadly envyas compiles the short form even if I specify -V gk104
15:05 imirkin: karolherbst: long
15:05 imirkin: karolherbst: long mov ...
15:05 imirkin: or whatever
15:05 karolherbst: ahh
15:05 imirkin: (yes, it's very sad)
15:06 karolherbst: still OOR_REG
15:07 imirkin: is this a frag shader?
15:07 karolherbst: I do it for everything basically
15:07 imirkin: err
15:07 imirkin: i guess i'm not sure what you're doing
15:07 karolherbst: toying around
15:08 RSpliet: it... what. GK110 documents a conditional nop? What's it going to do if it doesn't meet the condition?
15:08 RSpliet: I guess has sth to do with issue latency (0 vs. defined in hdr), but it sounds a tad silly
15:09 karolherbst: imirkin: okay, I emited only movs now and got an OOR_ADDR
15:11 karolherbst: except that I messed up
15:11 imirkin: i think it's some issue in TCS
15:12 karolherbst: I kind of got the same feeling
15:12 imirkin: i think that my way of accessing stuff isn't ... quite right
15:14 karolherbst: the TCS is the shader with that $invoc and $laneid thing, right?
15:17 karolherbst: ha!
15:17 karolherbst: imirkin: pfetch
15:22 imirkin: the VILD is what's causing it?
15:22 imirkin: i'm going to try to repro in a more controlled environment
15:22 karolherbst: need to check again
15:22 karolherbst: somehow something messed up here
15:23 imirkin: putting a shader_test together now
15:24 karolherbst: okay, I don't think it was the pfetch, it was just my local machine messing around :/
15:25 imirkin: ok, repro'd
15:25 imirkin: would you mind doing a mmt trace for me?
15:26 imirkin: https://hastebin.com/onahonuyaq.cs
15:26 karolherbst: I wouldn't
15:26 imirkin: [on blob, obviously]
15:30 imirkin: karolherbst: actually hold off on that... trying to simplify it
15:31 karolherbst: imirkin: https://filebin.ca/3RCnvM5ju2jC/mmt.log.xz
15:31 karolherbst: k
15:37 imirkin: noooooooooo
15:37 imirkin: i oversimplified it
15:43 imirkin: karolherbst: https://hastebin.com/bukisarece.cs
15:43 imirkin:hopes nvidia doesn't optimize it further
15:43 imirkin: karolherbst: also confirm that it triggers an issue with nouveau for you
15:47 imirkin: right... i remember this ... it clamps off the top 2 bits of $invoc
15:47 imirkin: which i always found to be very odd
15:47 karolherbst: mhhh
15:47 imirkin: and assumed it was something dumb in their compiler
15:47 karolherbst: I don't get the OOR_ADDR errors with either of those
15:47 karolherbst: on nouveau
15:48 imirkin: really?
15:48 karolherbst: ohh wait, nouveau didn't load
15:48 karolherbst: I get the error with both
15:49 imirkin: ok cool
15:49 imirkin: there's NO way it's those high bits on $invoc
15:49 imirkin: but just in case it is ;)
15:50 karolherbst: https://filebin.ca/3RCtVuwBOFSw/mmt.log.xz
15:50 imirkin: thanks
16:02 karolherbst: I could imagine that those two upper bits contain some random values the shader doesn't should know about? or some odd meta information for some obscure NV ext?
16:03 imirkin: well, it's a signed shift
16:04 imirkin: so i think the real issue is that $invoc can go really high?
16:04 imirkin: but only up to 30 bits
16:04 karolherbst: probably
16:04 imirkin: and so they want to make sure that the signedness is kept intact
16:04 imirkin: or something
16:04 imirkin: probably more of an issue for compute than tCS
16:04 imirkin: either way, i stuck an EXTBF on there, didn't help
16:06 karolherbst: mhhh
16:07 karolherbst: it's something in that TSC though
16:07 karolherbst: maybe
16:07 karolherbst: or caused in it
16:07 imirkin: OH!
16:07 imirkin: LOL
16:07 imirkin: the bug is in the shader.
16:07 karolherbst: :O
16:07 imirkin: gl_in[gl_InvocationID].gl_Position
16:07 imirkin: but patch vertices == 1
16:08 imirkin: whereas gl_InvocationID goes up to the *output* patch size
16:08 imirkin: so ... the OOR_ADDR is correct - it's trying to access a vertex that's not supplied.
16:08 karolherbst: mhh
16:08 karolherbst: patch vertices == 2 and the error is gone
16:10 karolherbst: hum
16:20 karolherbst: imirkin: is there anything we can do about stuff like this and what is nvidia doing?
16:21 imirkin: well, nvidia just ignores all errors
16:21 karolherbst: ohh I see
16:24 imirkin: bug filed
16:58 karolherbst: imirkin: shouldn't we in terms of robustness catch those errors?
16:58 karolherbst: or doesn't it matter if the behaviour is just undefined
17:11 imirkin: karolherbst: robustness doesn't cover this afaik
17:11 imirkin: karolherbst: also there's no real issue... just an error reported by the hw
17:11 imirkin: we could mask it out if we wanted
17:11 imirkin: nvidia does iirc
17:40 imirkin: karolherbst: btw, if you want to play with bindless, grab my cts branch -- that should have all the commits
17:41 karolherbst: I have that branch already
17:41 Sophira: So I've been meaning to come back here and participate for some time.
17:41 imirkin: although like i said, i ended up with sadness when i tried
17:41 Sophira: Hi all :)
17:41 karolherbst: Sophira: hi
17:41 karolherbst: imirkin: did you try to run hitman with it?
17:41 imirkin: karolherbst: hitman didn't run at all... but i have shitty hardware, perhaps it'd be different on a higher end setup
17:41 karolherbst: most likely
17:41 karolherbst: cause it runs like shit on mine as well
17:42 imirkin: dirt rally worked fine, esp on ultra-low
17:42 imirkin: where i got like 70-80fps
17:42 Sophira: Is there anything I can help with? I can't remember but I think I have Hitman somewhere.
17:42 karolherbst: imirkin: need to install it first
17:42 imirkin: Sophira: remind us what sort of thing you can help with?
17:42 imirkin: karolherbst: dirt rally crashed the board with bindless though. but at least it worked with bound
17:43 imirkin: i have low hopes that the MemoryOpt thing i fixed will also fix something relating to that. who knows tho.
17:44 Sophira: Well, my config's changed since the last time I was here. I'm running gentoo-sources-4.9.16 with the stock nouveau driver right now but can make and build other versions of nouveau if wanted. I have a fairly high-spec system - a GTX 970, 32GB RAM, Core i7-5820K.
17:45 karolherbst: imirkin: segfault
17:45 imirkin: karolherbst: with hitman? that's what i got
17:45 karolherbst: yeah
17:45 imirkin: karolherbst: is it some commit on my branch?
17:45 Sophira: I'm running under CSM rather than UEFI because I occasionally dual-boot Windows and it won't run or install in UEFI mode since it doesn't like that I have GPT disks.
17:45 karolherbst: imirkin: I am on your branch, yeah
17:45 Sophira: (does that help?)
17:46 imirkin: Sophira: more like ... what sorts of things you can help with, like .. your capabilities, time available, etc
17:46 imirkin: karolherbst: pretty sure i also got the segfault on 17.1.2
17:46 karolherbst: mhh, for me it ran
17:47 karolherbst: oh well
17:47 karolherbst: shader with 7k instructions
17:49 Sophira: I've done a little bit of coding work on Nouveau but only very minor, and nothing that's been committed. I'm a fairly okay coder, and I'm at home with grabbing dev builds of things and testing/tweaking them. For the most part I think testing is what I'd be most happy with, though. Time available-wise... I mean, I guess it depends on what you're looking for.
17:51 Sophira: I think I have a fair amount of time available? Though I know that doesn't help much.
17:52 Sophira: (Brb.)
17:58 Sophira: Back.
18:00 karolherbst: imirkin: got an instruction like this: mov u32 %r24911
18:00 karolherbst: looks like fun
18:00 karolherbst: uhh, spilling
18:06 Sophira: (so yeah... I'm not sure if any of that helps you at all?)
18:07 karolherbst: Sophira: find issues you wanna fix yourself, it's the best way really
18:14 mangix: for maxwell, is PMU firmware required to change the voltage?
18:14 karolherbst: imirkin: well I just confirmed that it doesn't crash with bindless disabled. You need to remove that hitman preference file if you do such big changes to the driver, cause they cache kind of what the driver can do and are pretty dumb about it
18:14 karolherbst: mangix: no
18:15 Sophira: I mean, I do have an issue that I'd love to be able to fix, but I don't really know the first thing about what I can try to do to narrow it down. I think it's probably a shader issue but that's just going on gut instinct. (Basically, under situations where a room in Rogue Legacy is supposed to be dark, such as in The Land of Darkness), it looks like (for example)
18:16 Sophira: http://matrix.theblob.org/land-of-darkness-normal.png instead of something like http://www.hardcoregaming101.net/roguelegacy/roguelegacy-5.png .
18:16 karolherbst: Sophira: actually a known bug
18:16 karolherbst: Sophira: https://bugs.freedesktop.org/show_bug.cgi?id=97508
18:17 Sophira: Oh, interesting. I didn't realise it was a game bug.
18:19 mangix: karolherbst: so strictly speaking there's a way to overclock without it
18:19 karolherbst: mangix: we don't overclock
18:20 mangix: are the clocks not possible to be changed?
18:20 karolherbst: overclocking != reclocking
18:21 mangix: ah sorry, my mistake
18:21 mangix: i meant the latter
18:21 karolherbst: well, the fan won't spin faster
18:21 mangix: relevant for desktop parts
18:22 mangix: it's a pretty miserable experience using GNOME at boot clocks
18:22 karolherbst: why does gnome suck that much?
18:23 mangix: slow animations
18:23 mangix: well
18:23 karolherbst: ... they should write better code then
18:23 mangix: having a 4k screen doesn't help
18:23 karolherbst: not really
18:23 karolherbst: is it better on fullhd reoslution?
18:23 mangix: i would imagine so.
18:24 mangix: i hate how mouse input is tied to the framerate
18:24 karolherbst: uhhh
18:24 karolherbst: it shouldn't
18:25 mangix: yeah well, whenever i open chrome (causes massive fps drop), i stop being able to move my mouse fast
18:26 karolherbst: this should be a nouveau bug though
18:26 mangix: must be a wayland quirk
18:26 karolherbst: maybe you don't have a hw cursor? dunno
18:27 mangix: anyway, is there a way for me to test reclocking? i don't know if it's implemented or not.
18:28 karolherbst: depends really on your chipset
18:28 karolherbst: and yeah, it's kind of implemented
18:29 mangix: chipset seems to be GM204
18:41 mangix: [root@clevo 0]# echo 0a > pstate
18:41 mangix: bash: echo: write error: No such device
18:41 mangix: foiled
18:43 pmoreau: mangix: I don’t think reclocking is advertised on GM20x, as the fan speed can’t be changed.
18:43 mangix: i can change mine just fine
18:44 pmoreau: GPU fan?
18:45 mangix: yes
18:46 karolherbst: fun "phi u32 %r11234 "
18:46 pmoreau: That is… interesting. How do you do that?
18:47 mangix: fan is connected to the BIOS not the GPU
18:47 karolherbst: pmoreau: compiles this for nve6 https://gist.githubusercontent.com/karolherbst/38ee7e17441e5d6b5acbabcf34be9628/raw/d549a3e86e7ca8cf6666597965f9aa7dbe7538bd/gistfile1.txt
18:47 karolherbst: *compile
18:47 pmoreau: karolherbst: That's a decent amount of temporary registers :-D
18:47 pmoreau: mangix: Ah, ok
18:48 mangix: NVAPI actually errors out if you try
18:48 karolherbst: pmoreau: well, it compiles for nvf1
18:48 pmoreau: karolherbst: How do you feed TGSI to nouveau_compiler?
18:49 karolherbst: pmoreau: 1. I increase the buffers
18:49 karolherbst: char text[262144]
18:49 karolherbst: struct tgsi_token tokens[16384]
18:50 karolherbst: how useless is this: "struct tgsi_token tokens[16384]"
18:50 karolherbst: ...
18:50 karolherbst: *mov u32 $r102 0x00000000
18:50 Sophira: (I'm in the process of writing a forum post upstream for the Rogue Legacy bug, since I can't see it already mentioned in the Steam forums, and I just wanted to make sure - in the context of https://bugs.freedesktop.org/show_bug.cgi?id=97508#c5 , "fb" means "framebuffer", right?)
18:50 karolherbst: especially if tha's the only place written to
18:51 karolherbst: Sophira: I think this is already fixed inside the engine somewhere, dunno
18:51 karolherbst: we kind of talked to the devs, but somehow nothing really came out of it?
18:51 karolherbst: maybe it did
18:51 karolherbst: trying newest XNA mgiht be a good idea
18:52 Sophira: Still, having it documented on the Steam forums is probably a good idea regardless.
18:53 pmoreau: Sophira: yes, fb is framebuffer
18:53 Sophira: pmoreau: Thanks.
18:59 mangix: alright. can't figure this out. time for a break.
19:16 rhyskidd: any chance I could get a review of https://github.com/envytools/envytools/pull/98 or https://github.com/envytools/envytools/pull/97
19:40 imirkin: Sophira: the best way to contribute to a project like nouveau is to have a reproducible issue that you'd like fixed
19:40 imirkin: i think that's how most of us got our start
19:41 imirkin: karolherbst: yeah, that sort of thing can happen when spilling fails
19:41 imirkin: karolherbst: ok, so hitman bindless dies coz of spilling? good to know
19:42 imirkin: i'm secretly (well, not anymore) hoping that dboyan_'s work will help with spilling since he should ideally be able to keep register pressure in check
19:45 karolherbst: mhh
19:45 karolherbst: yeah hopefully
19:46 karolherbst: we should have a reliably spilling though
19:46 karolherbst: *reliable
19:50 imirkin: yeah, that'd be nice.
20:05 imirkin: Sophira: since the game is broken and is unlikely to get fixed, you could add a thing in mesa to not advertise BGRA4 texturing in the backend, making sure the texture internal format is upgraded to 8 bits per component.
20:25 glennk: btw is that limitation all nv hardware, or just older ones?
20:25 imirkin: glennk: g80+
20:26 glennk: also rgb565?
20:26 imirkin: afaik no support for it has been added
20:26 imirkin: no, rgb565 is supported, as is rgba5551
20:27 imirkin: it's just rgba4 that's weird
20:27 imirkin: admittedly i don't think i've checked on maxwell
20:28 imirkin: perhaps newer hw has those formats. kepler doesn't, pretty sure.
20:28 glennk: i would have thought at least tegra would have it
20:33 imirkin: yeah dunno, i haven't done a ton of digging on TK1/TX1 for additional features
20:33 imirkin: i know that they support ASTC while the desktop boards don't, but that's about it
20:33 imirkin: so they actually get ES3.2 on nouveau no
20:33 imirkin: now*
21:21 mwk: rhyskidd: on it
21:22 mwk: rhyskidd: lgtm, merge em
21:43 rhyskidd: seems I dont have merge permissions
21:59 imirkin: skeggsb_: btw, if you want to give your error recovery logic a serious testing, try loading up F1 2015
21:59 imirkin: when you go into a race, it dies
22:00 imirkin: like the box is totally dead...
22:01 karolherbst:accepts that challange
22:02 imirkin: mmmm yeah. i think with a secondary gpu it might be ok. not sure.
22:02 tobijk: easy challenge i guess? :>
22:03 karolherbst: any settings I should set?
22:03 imirkin: karolherbst: pretty sure any will do the trick
22:03 imirkin: you have to actually enter a race though... the initial menus are all fine
22:03 karolherbst: those feral guys
22:03 karolherbst: could they please remove that silly window handling code entirely? it is annoying
22:03 imirkin: hakzsam spent a ton of time debugging it
22:04 imirkin: got it down to basically some values being wrong, which send some compute shaders into infinite loops... or something along those lines
22:04 imirkin: but i don't think he worked out why those values were wrong
22:06 karolherbst: fun
22:06 karolherbst: and of course my machine hangs as well, cause intel got that syncing wrong
22:06 karolherbst: "asynchronous wait on fence nouveau:F12015[3745]:222019 timed out"
22:06 karolherbst: except that wait is synchronous
22:08 tobijk: oh fence work again, imirkin how is that going when karolherbst is at it?
22:08 imirkin: ?
22:09 tobijk: a while ago you were fixing fence sync, did you fix that in the mean time?
22:09 tobijk: especially kde did hit it if i remeber right
22:11 imirkin: i don't remember that
22:11 tobijk: mh well np then :)
22:14 mwk: rhyskidd: now you do
22:22 mwk: so uhh
22:23 mwk: anyone in here familiar with intel VT-d and KVM PCI device passthru?
22:23 mwk: that thing is freaky
22:24 mwk: I get completely different results if I peek 88xxx MMIO area from the host and the guest, as if something is overriding it
22:28 mupuf: mwk: what is this range?
22:28 mwk: pci config space mirror
22:29 mupuf: ah, right
22:29 Sophira: imirkin: Ooo, yeah, that sounds like something.
22:29 mwk: alright...
22:29 mwk: I think I figured it out
22:29 mwk: https://github.com/qemu/qemu/blob/master/hw/vfio/pci-quirks.c#L399
22:29 mwk: qemu h4x
22:30 mwk: I suppose I should send a PR fixing the hwdocs link
22:30 Sophira:hugs. 57
22:30 Sophira: Oops.
22:30 Sophira: Sorry, wrong command!
22:30 mwk:hugs Sophira too
22:30 Sophira: (I did "/h 57" instead of "/g 57")
22:31 Sophira:hugs mwk anyway!
22:33 imirkin: mwk: hah, that's great
22:35 mwk: I was half-convinced it's some freaky PCIE virtualization extension making the card show different things to VMs
22:38 rhyskidd: mwk: thanks
22:45 mwk: rhyskidd: what about the other one?
22:46 rhyskidd: git rebasing now
22:46 rhyskidd: just some simple merge conflicts to clean up
23:09 rhyskidd: mwk: done
23:09 mwk: thanks