02:15 imirkin: karolherbst: anything waiting on me in your queue?
03:46 imirkin: mattst88: thanks for bumping the xf86-video-nouveau ebuild
03:52 mattst88: :)
03:54 imirkin: mattst88: what's the criteria for declaring it "stable"? (i'm in no way pushing for this - in fact probably good to give it a month or two for people to report issues)
03:55 mattst88: usually just 30 days in tree without any regressions reported
03:55 imirkin: ah ok. seems sane.
03:56 mattst88: I usually batch up a set of x11@ packages for stabilization as well, to minimize overhead for the testers
03:56 mattst88: e.g., cairo and pixman were stabilized together recently
03:57 imirkin: right, makes sense
05:17 imirkin: hrmmmm ... basically any steam game is throwing a ton of errors for me on 18.3.2
05:17 imirkin: i dunno if it has to do with the rotatedness of my screens, or what
05:18 imirkin: getting a ton of MISALIGNED_REG with hitman, as well as nve4_launch_grid:781 - Failed to launch grid !
05:38 HdkR: Sounds like you need to stop misaligning your registers :P
05:39 imirkin: thanks
05:39 imirkin: this totally used to work though
05:39 imirkin: grr
05:39 imirkin: people and their "optimizations"
05:40 HdkR: It's like a deep learning optimizer came in and realized if the shaders fault then they run faster then if they weren't
05:41 imirkin: :)
07:18 karolherbst: imirkin: I guess the slct opts and the inverse(ne) -> equ/eq issue
07:19 karolherbst: will post updated patches later this day
07:32 imirkin: well, at least the hitman issue is reproducible with an apitrace.
07:34 imirkin: hmmm ... i wonder if i have it configured to use bindless unnecessarily
07:39 karolherbst: imirkin: hitman was just crashing, no?
07:39 imirkin: no
07:39 imirkin: Grid Autosport crashes at semi-random points
07:39 imirkin: Dirt Rally doesn't even start due to some sort of windowing confusion
07:40 karolherbst: might be worth checking if grid runs better with my mt fixes branchs or did you already figure out why?
07:41 imirkin: all these games used to run just fine
07:41 karolherbst: mhh :/
07:41 imirkin: hitman trace: https://people.freedesktop.org/~imirkin/traces/HitmanPro.1.trace.xz
07:41 karolherbst: could be that they updated the games as well
07:41 karolherbst: and changes things
07:41 karolherbst: *changed
07:41 imirkin: replaying that gets me the MISALIGNED_REG errors and compute validation failures
07:41 imirkin: possible.
07:41 karolherbst: ufff
07:42 karolherbst: yeah.. that shouldn't happen
07:42 imirkin: (on a GK208)
07:43 karolherbst: need to prepare for fosdem though, flight is in like 9 hours ... might look into it while I am on the way to the airport
07:43 karolherbst: imirkin: I would assume turning of MemoryOpt fixes the misaligned reg issue
07:43 karolherbst: *off
07:43 imirkin: no clue
07:43 karolherbst: I am quite possitive it's not bug free
07:44 karolherbst: or at least I'd assume it doesn't with opts disabled
07:44 imirkin: nope, disabling opts doesn't help
07:44 karolherbst: mhhh, sad
07:44 karolherbst: that will be painful to debug
07:46 karolherbst: imirkin: but if it was supposed to work in the past, we can just git bisect it ;)
07:49 karolherbst: heh "Bindless handle doesn't match, GPU failures ahead."
07:50 karolherbst: imirkin: no MISALIGNED_REG though
07:50 imirkin: ugh
07:50 imirkin: yeah, there's no way to make that work properly ... we could hack it a bit
07:51 imirkin: ok. 357030 = good, 384644 = bad
07:51 karolherbst: where is that message comming from though
07:51 imirkin: time to divide and conquer
07:51 imirkin: [999093.013470] nouveau 0000:02:00.0: gr: GPC0/TPC1/MP trap: global 00000004 [MULTIPLE_WARP_ERRORS] warp c0008 [MISALIGNED_REG]
07:51 karolherbst: I meant the "Bindless handle doesn't match, GPU failures ahead." one
07:52 karolherbst: ohh apitrace
07:52 imirkin: i added it to apitrace
07:54 imirkin: you could hack it to always assuem texture remapping
07:57 imirkin: urgh. had lib path wrong. i hate it when that happens.
08:05 HdkR: ooo, multiple warp errors + misaligned reg, nice
08:07 imirkin: i try
08:07 imirkin: and of course 357030 is no longer good... somehow
08:18 imirkin: well, on the bright side, it's a 2000-line compute shader where there's an error
08:19 imirkin: call 353757 brings me down
08:24 imirkin: shader binary code (0x15978 bytes):
08:24 imirkin: how bad can it be...
08:26 karolherbst: :) only the best shaders
08:41 imirkin: well, one thing i noticed is that we sometimes pass too many args to tex
08:41 imirkin: e.g. 2d array, indirect handle, lod = 0
08:42 imirkin: should just be 4 args, i.e. 1 arg to tex
08:42 imirkin: but we pass in 2
08:42 imirkin: i don't think that's the issue though
08:47 imirkin: i think i don't remove the arguments sufficiently "hard" in some cases
08:49 imirkin: /*eec8*/ TEX.B.LZ.P R0, R0, R66, 0x0, ARRAY_CUBE, 0x7;
08:49 imirkin: i wonder if something like that trips it up
08:49 imirkin: in theory that should be RZ, not R66
08:51 imirkin: ahh crap. handleTEXLOD runs after the "spacers" are added
08:51 imirkin: hm
08:54 imirkin: ok. now down to all the nve4_launch_grid:784 - Failed to launch grid !
08:55 imirkin: for another day.
09:09 karolherbst: ahh, that's why I didn't hit it on pascal :)
09:12 r1chard: can someone explain me what falcon instruction mpopret versus mpopaddret is? I assume mpopret pops the first value on the stack into the register specified by the operand, then pops the return address into pc
09:12 r1chard: whereas mpopaddret first increment SP by a constant?
09:13 r1chard: (to save you from having to do a `add sp ..` before the return)
12:23 r1chard: 0xDEAD5EC1 is a documented constant when attempting to read code pages marked as secure
12:23 r1chard: but has any of you ran into 0xDEAD5EC2 before ?
12:23 r1chard: (falcon question again, sorry)
12:24 karolherbst: huh, those constants
12:24 r1chard: karolherbst: ?
12:24 karolherbst: well DEAD 5EC 1/2
12:25 r1chard: yeah, DEAD 5EC 1 is what you get when you (for example) use the host interface to read out secure code pages
12:26 r1chard: .. and I think Im seeing DEAD5EC2 when im attempting to snoop data memory while secure code runs
12:26 r1chard: kind of a bummer, that ruins my plan for breaking into secure mode :-/
12:26 karolherbst: :D
12:26 r1chard: secure/authenticated mode
12:26 karolherbst: well, I think they covered the most obvious things
12:27 r1chard: Im just wondering how that works under the hood, do data pages also have this secure bit?
12:27 r1chard: like this is just me trying to have a peek at the stack right after jumping into authenticated mode
12:28 r1chard: I didnt think there would be anything guarding against that .. the stack pointer isnt adjusted when going into authenticated mode afaik
12:28 r1chard: (nor is the authenticated code im looking at doing anything to the stack pointer)
12:30 r1chard: maybe mwk knows ?
12:32 r1chard: karolherbst: I ran into your falcon_dbg.sh stuff btw when googling, creative
12:32 r1chard: ehr, dbg_falcon.sh, sorry
12:32 karolherbst: yeah, it's a little helpful :) sadly I wasn't able to write a proper tool
13:58 diogenes_: Hello guys, is it harmful to run your card (in optimus scenario) with nouveau.config=NvClkMode=10?
15:31 tachiorz: Hello. I recently stumbled upon NVIDIA Modular Diagnostic Software (MODS). It can be easily found and downloaded. It has lots of encrypted js files which have information on registers, addresses and more. I can dump decryption algo if someone here interested and if it's allowed (provided pdf says it's under NDA)
17:28 r1chard: woops, i dropped off. did I miss any relevant chatter?
17:29 r1chard: I still dont understand what the difference between push and mpush are .. anyone know?
17:43 r1chard: after some small experimentation, looks like mpush/mpop pushes/pops 64bit values rather than 32bit
17:43 r1chard: still makes little sense why you would have this for 32bit registers(?)