00:17 mlankhorst: morning
03:04 KingEdgar: :S so whatever happened to nviudia providing signed firmware like they said many eons ago :v
03:09 RSpliet: yeah, they're going to bed without pudding at FOSDEM if they don't deliver :-P
03:14 mupuf: that is a horrible sanction for them ... but I guess it is needed...
03:16 KingEdgar: :S RSpliet what do you mean?
03:16 RSpliet: seriously though, yes it's a real problem to which us bystanders can unfortunately do very little
03:16 KingEdgar: and yeah >_<
03:17 KingEdgar: ffs, i was excited as hell when I heard this on the mailinglist, then nothing...
03:17 RSpliet: I'm sure our contacts of NVIDIA are aware that we're beyond unhappy with the lack of firmwares and the protection mechanisms preventing us from implementing our own
03:18 RSpliet: they've been quite helpful otherwise, there must be some internal politics involved (likely involving lawyers making noise)
03:19 KingEdgar: lol
03:20 Yoshimo: i as an outsider wonder what is so difficult about giving out stuff that you made to others
03:28 RSpliet: Yoshimo: coming from a culture where everything you do is a trade secret that might benefit the competitor to one where you collaborate with the community is quite a big step, it takes a while to develop procedures for collaboration
03:28 RSpliet: not to mention I'm quite sure that not all of their GPU is their intellectual property; there might be third party IP interleaved for which they have the obligation to protect
03:29 Yoshimo: isn't the competitor more than capable to develop good stuff on his own in this case?
03:29 RSpliet: (big stuff like maybe a video decoder or rather small stuff like standard library PLLs)
03:29 RSpliet: oh, I'm quite sure competitors are even quite capable at reverse engineering :-P
03:33 RSpliet: they also have patents to protect... all of which takes way too much legal faff to sort out
03:34 RSpliet: (don't get me wrong, I highly object to these legal battles, but unfortunately I can't just substitute reality with my own)
03:44 karolherbst: gnurou: there are some mesa env variables, I think NV50_DEBUG or something like that
03:44 karolherbst: anyway, it requires a mesa debug build
03:49 karolherbst: gnurou: NV50_PROG_DEBUG=1
03:51 RSpliet: karolherbst: that question was already answered :-P
03:51 karolherbst: Yoshimo: did you have had to deal with laywers of companies you aren't associated with?
03:51 karolherbst: :O
03:51 karolherbst: shit
03:51 karolherbst: really? :/
03:51 gnurou: karolherbst: yep, been playing with it a bit - it's great, provides everything from TGSI to binary program
03:51 karolherbst: ahhh
03:51 karolherbst: now I see it
03:51 gnurou: karolherbst: that's fine, at least I could not miss the answer ;)
03:51 karolherbst: gnurou: I hope you also know the nouveau_compiler?
03:52 Yoshimo: karolherbst: not directly but i know of a competing company that prefers legal battles over good relations
03:53 gnurou: karolherbst: I saw that Mesa had its own standalone compiler, is nouveau_compiler something different?
03:53 karolherbst: Yoshimo: there you go :)
03:53 karolherbst: gnurou: basically tgsi => gpu binaries
03:54 karolherbst: I tried to improve the scheduling of nouveau and had a bunch of tgsi programs I threw into it to check the generated gpu binary
03:54 karolherbst: much easier than to start games or something
03:55 karolherbst: and with NV50_PROG_DEBUG=1 it also shows you the nvc0/nv50 ir
03:55 karolherbst: and you can also decide for which gpu you want to compile it
04:00 gnurou: karolherbst: nice, thanks!
04:01 pmoreau: gnurou: It's much easier to interact with nouveau-compiler I would say, cause you can easily hack it to accept whatever you want as an entry, without having to modify all the plumbing if you wanted to do the same going through Mesa.
04:02 pmoreau: And you don't need to install it to use the newly compiled version
04:03 pmoreau: (Well, it doesn't take that much to install, but still)
04:03 gnurou: for now I am just looking at figuring out what is wrong with Maxwell and texture lookups... or at least feed the data to the right people
04:03 gnurou: NV50_PROG_DEBUG seems to have all that I need for now
04:03 pmoreau: I love textures! May I have some pieces too? :-D
04:04 gnurou: pmoreau: sure! you will need a Jetson TX1 though since that's the only Maxwell GPU one can use with Nouveau at the moment >_<
04:04 pmoreau: And IIRC, there is NV50_PROG_OPTIMISE=X, to enable the Xth level of optimisations
04:04 gnurou: (please, don't get me started with the firmware)
04:04 pmoreau: I won't :-)
04:05 gnurou: it's embarrassing enough already
04:05 pmoreau: Maybe I'll give a try to the TX1 at some point, but… way to many things going on currently.
04:06 karolherbst: gnurou: ohh waht about all those 1gen maxwells :p
04:06 gnurou: karolherbst: right, sorry - I means GM20X GPUs
04:06 gnurou: 1st gen Maxwell seems to be working fine, right?
04:07 karolherbst: you don't have to appologize :p
04:07 karolherbst: well
04:07 karolherbst: besides reclocking
04:07 karolherbst: and only modesetting ddx, yes
04:07 karolherbst: and some other stuff I am not aware of
04:07 karolherbst: but accell works with them
04:13 pmoreau: karolherbst: I haven't forgotten (yet) to test your branch. I was just to tired yesterday, and realised I needed to recompile the whole kernel on that partition.
04:13 pmoreau: Doing it right now.
04:13 mupuf: gnurou: there are some bugs in mesa for the maxwell first gen
04:14 karolherbst: no worries
04:16 RSpliet: s/bugs/challenges
04:16 RSpliet: come, go fix Mesa :-P
04:16 pmoreau: karolherbst: It was kepler_voltage, right?
04:16 karolherbst: pmoreau: yeah
04:16 pmoreau: K
04:45 pmoreau: karolherbst: Building Nouveau right now. Any particular command to run to check if reclocking still works?
04:45 pmoreau: Or just should I just reclock to 0f?
04:46 pmoreau: Argh… drm-next is too recent for your branch
04:48 karolherbst: pmoreau: mhhh you could use master and just pick the two patches
04:50 pmoreau: Will do that
04:51 pmoreau: And regarding the command question?
04:52 karolherbst: just check reclocking
04:52 pmoreau: Ok
04:52 karolherbst: it shouldn't change anything on the gpu, just what cstates nouveau considers valid
05:27 pmoreau: karolherbst: It still works it seems. :-)
05:32 karolherbst: nice :)
07:03 karolherbst: pmoreau: did you check both cards?
07:44 Tom^: pmoreau: now that you are here, your awesome distro could use kernel headers for the 4.3x+lts kernel :p
07:45 Tom^: pmoreau: or well all the kernels
07:46 Tom^: was a tad bit difficult without them and trying to build karolherbst branches
07:53 karolherbst: he knows already
07:54 imirkin_: gnurou: one thing i'd like to caution you about is that nouveau prints the opcodes it *wants* to emit... sometimes the emitters leave something to be desired, esp less-tested ones like the maxwell one. doesn't hurt to compare with nvdisasm or envydis.
08:00 imirkin_: gnurou: also, just so you're not surprised by it -- nouveau only exposes GL 3.3 for maxwell, not GL 4.1 -- i was too lazy to finish up tess. should be quite easy, esp for someone with the docs. but i didn't have the necessary motivation to properly RE how to store/retrieve TCS outputs
08:01 imirkin_: after i had done it wrong for kepler twice :)
08:29 karolherbst: imirkin_: by the way, any idea about this 8x msaa issue with heaven?
08:29 karolherbst: :O
08:29 karolherbst: what
08:29 karolherbst: some frames are fine
08:29 karolherbst: some not
08:29 karolherbst: strange
08:30 imirkin_: that's as far as i've gotten
08:30 karolherbst: ohh so you indeed improved it a bit
08:31 imirkin_: how so?
08:31 karolherbst: ohh I thought you fixed it a bit, it looks a bit different than back then where I noticed it before
08:32 imirkin_: really?
08:32 imirkin_: then it's coincidence
08:32 karolherbst: the issue looks clearer to me
08:32 imirkin_: waiting for a patch then :)
08:32 karolherbst: imagine there would be two cameras, one shows the texture, the other handles mutlisampling or something like that
08:32 karolherbst: and these cameras aren't always synced
08:33 karolherbst: at least that's how it looks like
08:33 karolherbst: sometimes the "lag" is <0.5 seconds
08:33 karolherbst: sometimes >5 seconds
08:33 karolherbst: end of the first scene looks already okayish
08:33 karolherbst: and the start of the second one
08:35 karolherbst: and the "texture camera" is the one lagging behind
08:36 karolherbst: imirkin_: any idea what I mean?
08:37 imirkin_: yeah - you have no clue how any of it works and are making qualitative guesses
08:37 karolherbst: :D
08:37 karolherbst: right
08:37 karolherbst: I just try to describe it visually
08:37 imirkin_: it's like saying that "lighting is broken on nouveau" or something
08:38 imirkin_: it's totally meaningless... there could be some compiler bug that manifests as that in some particular game, but the underlying issue isn't that "lighting is broken".
08:38 karolherbst: yeah I know what you mean
08:40 karolherbst: imirkin_: I think the same issue is also there with 4x msaa, but it looks "allright"
08:41 karolherbst: heaven displays 30fps, but it more looks like the scene is lagging and below 10fps
08:41 karolherbst: sometimes
08:41 imirkin_: hm, well i normally run it at 4x msaa and never noticed any issues
08:41 imirkin_: otoh it does feel like it goes at 0fps
08:41 karolherbst: yeah
08:41 imirkin_: so maybe it's really a manifestation of that issue
08:41 karolherbst: it feels exactly like with 8x msaa, just without the visiual errors
08:42 karolherbst: same with 2x msaa
08:43 karolherbst: mhhh
08:44 karolherbst: also without msaa
08:44 karolherbst: the "free camera" just feels laggy
08:44 karolherbst: allthought the fps are stable above 30fps
08:47 karolherbst: I think I got it :O
08:47 karolherbst: the flags
08:47 karolherbst: when there is one flag in the view, it causes that issue
08:47 karolherbst: if there is none, no issue
08:48 karolherbst: imirkin_: does that help you?
08:50 imirkin_: lol
08:50 imirkin_: no
08:50 karolherbst: and it also happens when teh flag is behind something
08:50 karolherbst: but if you look somewhre, where is no flag, it all looks fine
08:50 imirkin_: here's what would help: identify a draw that goes wrong and analyzing why.
08:51 imirkin_: your analysis is still at the "lighting is broken" stage.
08:51 karolherbst: yeah I know, but at least we know what is somehow connected to it, so I would guess it is a shader which does something with teh flags, maybe I am completly wrong here
08:52 imirkin_: let's say you're right -- how would you use that knowledge to debug this?
08:52 karolherbst: look like shader which looks like a "flag in the wind" :D
08:52 imirkin_: hehe
08:53 karolherbst: but I could do a trace with only the flag on it
08:53 karolherbst: and the sky
08:53 karolherbst: maybe it is easier to analyze
09:25 karolherbst: imirkin_: "message: major shader compiler error 155: 0:173(1): error: #extension directive is not allowed in the middle of a shader" how can I ignore those?
09:25 imirkin_: allow_bla_in_shader=true
09:25 imirkin_: check drirc
09:26 imirkin_: there are a few overrides necessary for heaven's suckage
09:26 karolherbst: ahhhh
09:26 karolherbst: so I need them for glretrace too
09:26 glennk: allow_glsl_extension_directive_midshader=true force_glsl_version=0 afaik
09:27 imirkin_: you don't need the force_glsl_version - that was a while ago
09:27 imirkin_: and only because we had a bogus force_glsl_version in the drirc in the first place
09:30 karolherbst: mhhh I do something wrong :/
09:31 karolherbst: ohhhh
09:31 karolherbst: I see it now
09:33 pmoreau: karolherbst: Yep, did check both!
09:34 pmoreau: Tom^: Yeah… I'll work on it, … some time
09:34 Tom^: hehe
09:34 Tom^: pmoreau: you will soon hit the 1gb mark
09:34 karolherbst: imirkin_: okay nice, it works now
09:34 Tom^: such needy users.
09:35 pmoreau: Tom^: :p
09:36 karolherbst: imirkin_: there are only 58 calls per frame...
10:18 john_cephalopoda: Hi
10:53 karolherbst: imirkin_: that doesn't looks that right: https://i.imgur.com/ihDgA93.png
10:53 TheCephalopod: Hey, I am john_cephalopoda on my other PC.
10:53 TheCephalopod: I did some SSHing and finally got out the error message: https://bpaste.net/show/0c9fbe9a4f67
10:54 imirkin_: karolherbst: compare it against i965
10:54 karolherbst: imirkin_: there it looks even worse :D
10:54 john_cephalopoda: Oh, this time it didn't take down the whole PC :P
10:54 imirkin_: karolherbst: do apitrace dump-images for each draw (not just each frame)
10:54 imirkin_: and compare it to what i965 does
10:54 karolherbst: I would have to trace it on intel seperatly
10:54 karolherbst: because it looks just terrible (same trace)
10:55 imirkin_: ah
10:55 imirkin_: could try blob
10:55 karolherbst: ohhh
10:55 karolherbst: wait
10:55 karolherbst: all the textures are missing besides the sky with intel
10:55 karolherbst: yeah, will try blob
10:56 karolherbst: nice
10:56 karolherbst: blob looks fine
10:57 karolherbst: yep, the draw call looks better with the blob
10:57 karolherbst: okay
11:02 karolherbst: imirkin_: and then I should fine the first draw call where both driver differes noticeably?
11:02 imirkin_: yep. there's also an apitrace diff-images which makes a handy html page
11:03 karolherbst: error: failed to execute: /var/tmp/portage/dev-util/apitrace-6.1/temp/python2.7/bin/python /usr/bin/../lib/apitrace/scripts/snapdiff.py :/
11:03 karolherbst: meh
11:03 imirkin_: yeah, it took a bit of doing before i got it to run
11:03 imirkin_: but eventually i worked it out
11:03 karolherbst: I just try to use my self compiled stuff
11:07 john_cephalopoda: Also I got this log: https://bpaste.net/show/ff107582225c
11:09 karolherbst: imirkin_: it looks like everything is wrong :/
11:09 karolherbst: except those which are only black
11:09 john_cephalopoda: Umm, just in case you don't know what I am talking about: Flightgear and my whole Xorg freezes when changing the settings to higher.
11:10 karolherbst: john_cephalopoda: in game settings?
11:10 imirkin_: john_cephalopoda: "don't do that"
11:11 imirkin_: john_cephalopoda: you may just be running out of vram
11:11 imirkin_: nouveau doesn't handle that super-well
11:11 john_cephalopoda: imirkin_: Is there some tool to measure vram?
11:11 imirkin_: dmesg should tell you how much you got
11:12 john_cephalopoda: I mean, how much is left over.
11:12 imirkin_: not really
11:12 imirkin_: we shouldn't really be allocating over the vram limit
11:13 imirkin_: but... i dunno, i haven't checked that logic carefully of late
11:17 imirkin_: karolherbst: if you want to compare to i965, make sure tess is disabled :)
11:18 karolherbst: imirkin_: somehow I think this only occurs with tess enabled, but I should check that
11:18 imirkin_: karolherbst: don't think so
11:18 imirkin_: iirc i also saw this on nv50
11:19 karolherbst: ohh you are right
11:20 karolherbst: imirkin_: it only happens with ambient occlusion enabled
11:22 karolherbst: imirkin_: yeah, ultra settings + 8x msaa - ambient occlusion runs just fine
11:23 imirkin_: which again means.... absolutely nothing
11:23 imirkin_: it's not like ambient occlusion is some feature implemented by the gpu
11:23 karolherbst: :D
11:23 karolherbst: yeah I know
11:23 karolherbst: but it means I can further reduce the trace
11:24 imirkin_: ambient occlusion: http://http.developer.nvidia.com/GPUGems3/gpugems3_ch12.html
11:27 karolherbst: imirkin_: okay, textures are still missing with intel
11:27 karolherbst: but it looks better
11:28 karolherbst: just everything has a black texture
11:28 john_cephalopoda: That is some dmesg from several runs of flightgear: https://bpaste.net/show/8410bb88b8e5
11:29 imirkin_: john_cephalopoda: yeah, so a submit is failing due to not being able to be placed into vram/gart
11:29 imirkin_: john_cephalopoda: and then nouveau fails to properly deal with that
11:29 imirkin_: john_cephalopoda: it's on my list to better deal with that sort of fail
11:29 imirkin_: john_cephalopoda: but the reality is that nouveau really doesn't handle failure well right now
11:30 john_cephalopoda: Okay. An other question: A few shaders in flightgear don't show correctly. Not sure which ones though. Not a big problem but a bit inconvenient.
11:30 imirkin_: john_cephalopoda: yeah.... that sounds familiar
11:30 john_cephalopoda: Is this related to nouveau or mesa?
11:31 imirkin_: related to the nouveau driver inside mesa
11:31 john_cephalopoda: Ok.
11:31 imirkin_: hmmmm can't find the bug now
11:32 imirkin_: it's related to trees being messed up ro something?
11:32 imirkin_: anyways, if you file a bug, i can look at it
11:32 imirkin_: there are a handful of open flightgear bugs against core mesa too
11:32 imirkin_: probably stale though
11:32 john_cephalopoda: When I am activating ALS (Atmospheric Light Scattering), the cockpit bugs out a bit.
11:32 imirkin_: this is one: https://bugs.freedesktop.org/show_bug.cgi?id=81500
11:32 john_cephalopoda: Maybe it's shadowmapping.
11:32 imirkin_: ah, probably the same thing then
11:33 john_cephalopoda: Ah, yeah, it's exactly that one :)
11:33 imirkin_: iirc nv50 had extra-special problems with just random corruption appearing
11:44 karolherbst: imirkin_: the loading screen already differes a bit, but I don't think anybody will care about that at all
11:46 imirkin_: karolherbst: by a lot, or a little?
11:46 imirkin_: you should find a draw that differs a lot
11:46 imirkin_: we probably do different resolve than blob, so it'll look a bit different no matter what
11:46 karolherbst: imirkin_: like <0.1%
11:47 imirkin_: yeah ignore that
11:47 imirkin_: look for 50% :)
11:47 mupuf: how do you diff the images?
11:47 karolherbst: mupuf: apitrace diff-images
11:47 karolherbst: :D
11:47 mupuf: very nice
11:47 karolherbst: I created screenshots for 100k calls
11:47 karolherbst: and now I let them be diffed
11:48 mupuf: I guess that should be part of some tests
11:48 karolherbst: mhhh
11:48 karolherbst: what a brilliant idea :)
11:49 karolherbst: but for that, we have to decide what is "right"
11:49 mupuf: Maybe one day we will be able to trim the traces to just one frame per scene
11:49 imirkin_: apitrace trim has never worked for me
11:49 karolherbst: it works for me if you include 0-
11:49 karolherbst: :D
11:49 mupuf: karolherbst: try it on heaven :p
11:49 imirkin_: yeah i mean you can use it to truncate traces
11:49 karolherbst: mupuf: no problems
11:49 karolherbst: mupuf: guess on what I am working on currently
11:50 karolherbst: imirkin_: yeah I know, I trimed a metro trace ones
11:50 imirkin_: but grabbing just one draw or one frame never works
11:50 karolherbst: it kind of works, because it also showed the oom issue
11:50 mupuf: wonderful, try to get a few frames from the benchmark
11:50 karolherbst: but visually it is only garbage
11:50 mupuf: and we can use that to track if we render shit or not
11:50 karolherbst: mupuf: like 150?
11:50 mupuf: nope, 1 frame per scene :D
11:50 karolherbst: :D
11:50 karolherbst: doesn't do the trick
11:51 mupuf: why? :D
11:51 karolherbst: mupuf: I noticed today, that those 8x msaa curruptions are only there with those flags in the view point
11:51 karolherbst: and ambient occlusion enabled
11:51 karolherbst: even if the flag is behind a wall
11:51 karolherbst: but if you think about issues like that
11:51 mupuf: someone here is working on something to make creating those traces fast so we can use it to check for rendering issues
11:51 karolherbst: stuff only goes wrong, when a special think is there?
11:52 mupuf: well, you cannot test everything but you can test some things
11:52 karolherbst: finally
11:52 karolherbst: diff-images is finished with the loading screen :D
11:53 karolherbst: I think this is too much for chromium :/
11:56 karolherbst: imirkin_: okay, found a draw call which messes things up
11:57 imirkin_: cool. file a bug with all the info
11:57 imirkin_: and then keep debugging :)
11:57 karolherbst: but it is strange
11:57 karolherbst: because 3 calls later it is unmessed
11:58 karolherbst: https://i.imgur.com/SQPp2z1.png
11:58 karolherbst: this is fine, isn't it?
12:02 karolherbst: mhhh
12:04 karolherbst: imirkin_: glDrawArrays call
12:05 imirkin_: that seocnd one seems totally wrong
12:05 imirkin_: but... those look like whole frames
12:05 imirkin_: not intermediate draw calls
12:06 karolherbst: yeah, but I also see the thing in qapitrace
12:06 karolherbst: where not the entire frame is displayed
12:06 karolherbst: or not yet drawn
12:06 karolherbst: you see these darker more blueish areas?
12:06 karolherbst: left of the structures
12:07 karolherbst: ohh, when I enabled opaque in the surface I get the entire frame though
12:07 imirkin_: :)
12:08 karolherbst: but it isn't the first call
12:08 karolherbst: there is this currption already earlier
12:08 karolherbst: wait a second
12:08 karolherbst: maybe this is it
12:09 karolherbst: https://i.imgur.com/Je6RzmN.png
12:09 karolherbst: this looks suspicous
12:09 karolherbst: I bet this mask is just done wrong, and the visual issue is caused by this
12:10 imirkin_: yeah, this looks like the blue we end up seeing
12:10 karolherbst: yeah
12:10 karolherbst: ohhh
12:10 karolherbst: more fun stuff
12:11 karolherbst: https://i.imgur.com/lKBf0Cp.png
12:11 karolherbst: this explains the blue I guess
12:11 imirkin_: yeah
12:29 karolherbst: imirkin_: could this be already part of the issue? https://i.imgur.com/NTuhXOz.png
12:29 karolherbst: it looks similiar, but I am not sure
12:30 imirkin_: certainly not helping!
12:30 imirkin_: could just be uninitialized textuers though
12:30 karolherbst: yeah I know
12:31 karolherbst: will check qapitrace
12:32 karolherbst: ohhh
12:32 karolherbst: qapitrace displays the same
12:35 imirkin_: they kinda get the data from the same place :)
12:35 karolherbst: I found something before though
12:38 karolherbst: imirkin_: I think this is the first thing: https://i.imgur.com/32hgapw.png
12:39 imirkin_: ok
12:39 karolherbst: yeah
12:39 karolherbst: it is
12:39 karolherbst: found the right call :)
12:40 karolherbst: imirkin_: looks right? https://i.imgur.com/vi2GgOC.png
12:40 imirkin_: how should i know?
12:40 karolherbst: it is a glDrawArrays call by the way
12:41 karolherbst: yeah well, okay, does it look 100% wrong? :D
12:41 imirkin_: i doubt the guys who wrote heaven could tell you that
12:41 imirkin_: certainly not me
12:41 imirkin_: there's like 20 intermediate stages
12:41 karolherbst: mhhh
12:41 karolherbst: :/
12:55 karolherbst: imirkin_: when I think this is the right call, do I have to check the shader now and see if something is odd there?
12:56 imirkin_: i guess
12:56 imirkin_: there's not a precise process
12:56 imirkin_: i just stare at stuff
12:56 imirkin_: and mash my keyboard
12:56 imirkin_: until it starts rendering correctly
12:56 imirkin_: or i give up
12:56 karolherbst: mhhh a function is called texture2DLightMap there
12:56 karolherbst: sounds somehow right :/
12:56 karolherbst: no clue though
12:57 karolherbst: can I somehow modify the shader in qapitrace and rerun with the modded version?
12:58 imirkin_: mmmmmm
12:58 imirkin_: not in qapitrace iirc
12:58 imirkin_: but there's a mesa feature where you can replace shaders somehow
12:58 imirkin_: i've never used it
12:58 imirkin_: and i only remembered it existed *just now* :)
12:59 karolherbst: but somehow the issue looks weird
12:59 karolherbst: because
12:59 karolherbst: there are frames "right"
12:59 karolherbst: but parts are also in the next frame from the last frame
12:59 karolherbst: the "structures" I say
13:00 karolherbst: and then there is this "white" something around the buildings, which gets updated
13:00 karolherbst: and the blue are is in between
13:00 karolherbst: I don't know, but it totoally looks like something isn't updated properly
13:00 imirkin_: now you see why i like piglit tests?
13:01 karolherbst: I could write a test with that shader though
13:01 karolherbst: but well
13:02 karolherbst: my gl experience though doesn't exist
13:02 imirkin_: how do you think i learned?
13:02 karolherbst: :p
13:02 imirkin_: by finding broken piglit tests and trying to understand what they were doing and why nouveau wasn't working
13:03 karolherbst: ohh I like those applications which overwrite ctrl+a
13:03 karolherbst: makes so much fun :/
13:04 imirkin_: it's infuriating to me applications with text editors that make ^W close the window
13:04 imirkin_: instead of kill a word
13:04 imirkin_: like, oh, i don't know... hexchat
13:04 imirkin_: ugh
13:04 karolherbst: well
13:05 karolherbst: ctrl+w is always closing a windows :O
13:05 karolherbst: *window
13:05 imirkin_: no, ctrl+w always deletes a word
13:05 karolherbst: in vim maybe :p
13:05 imirkin_: no, everywhere
13:05 imirkin_: except broken things that override it to mean "close widnow"
13:05 karolherbst: note in kate
13:05 imirkin_: try it in a shell
13:05 karolherbst: *not
13:05 karolherbst: ahh shell
13:06 karolherbst: yeah well, shell is different
13:06 imirkin_: yeah, like normal unix things
13:06 imirkin_: not this new-age bullshit
13:06 karolherbst: "new-age"
13:06 karolherbst: it is already like 20 years old :D
13:06 karolherbst: or more
13:06 karolherbst: actually more than 30
13:06 imirkin_: ^W? for anything other than remove-word?
13:06 karolherbst: nah, I meant like graphical user interfaces
13:07 imirkin_: isn't the point of X so that you can have more shells open?
13:07 imirkin_: :)
13:08 karolherbst: I used to work on macs before I used linux, so maybe I am a bit well used to it :D
13:08 imirkin_: macs before OS X?
13:08 imirkin_: but after, say, OS 4?
13:09 karolherbst: yeah, first thing I had was like os 8.6
13:09 imirkin_: haha
13:09 karolherbst: ohh actually
13:09 imirkin_: cooperative multitasking
13:09 imirkin_: so much fun
13:09 karolherbst: before that I hade a atari st 1040
13:09 karolherbst: :D
13:09 karolherbst: with a HDD!
13:09 imirkin_: and then OS 9 fixed it -- finder had its own thread, and everything else cooperatively used another
13:09 karolherbst: extreme modding
13:09 imirkin_: good times.
13:10 karolherbst: ohh I have to find my atari again
13:10 karolherbst: should work
13:10 karolherbst: fun story actually, it didn't want to boot for like one year or more
13:10 imirkin_: stick linux on it!
13:10 karolherbst: and then it actually booted again
13:10 karolherbst: no idea why
13:10 karolherbst: but it worked again
13:11 glennk: spectre gcr was an interesting bit of kit for the st
13:12 karolherbst: :D
13:14 karolherbst: so how do I run a shader within a new piglit tesT? :D
13:14 kb9vqf: So no one here knows how to handle https://bugs.freedesktop.org/show_bug.cgi?id=90453 , correct?
13:22 glennk: karolherbst, just look at some other random piglit, tip is use shader_runner if you can
13:23 karolherbst: yeah I try
13:23 karolherbst: what about those test/shaders/*shader_tests files?
13:23 glennk: those are run by bin/shader_runner
13:23 karolherbst: ohh okay
13:23 karolherbst: I get this error: "Failed to compile VS: 0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES"
13:24 imirkin_: kb9vqf: correct
13:24 imirkin_: karolherbst: add a GL >= 3.2 requirement up top
13:24 karolherbst: Test requires >= GLSL 3.2. Actual version GLSL 1.30.
13:24 kb9vqf:thought he'd check in to see if that had changed
13:25 imirkin_: karolherbst: GL, not GLSL
13:25 imirkin_: karolherbst: there is no GLSL 3.2
13:25 karolherbst: ahh GL
13:25 kb9vqf:also wonders if the project will ever get someone with the required knowledge to stabilize that last remaining major problem on these cards
13:25 glennk: there's no such thing as a "last major problem"
13:25 imirkin_: kb9vqf: unlikely. there's always a next problem after you fix whatever current problem you perceive as major
13:25 karolherbst: okay, GL 3.1 and GLSL 1.5 did the trick
13:26 imirkin_: karolherbst: the key is that it gets a core profile, which will then enable up to GL 4.1
13:26 kb9vqf: imirkin_: Well, in this case the card works great for weeks on end and then suddenly dies with that problem, so I'd say it's the last major problem I'm experiencing
13:26 karolherbst: yeah I know, but does it matter when the shaders don't need it?
13:26 imirkin_: kb9vqf: the problem is that most issues present themselves as "aaaaaaaaaaahhhh card died" but have wildly differing causes
13:26 karolherbst: or does it make a big difference
13:27 kb9vqf: so that pipe error could be almost anything then?
13:27 imirkin_: karolherbst: GLSL 1.50 = GL 3.2 = core profile
13:27 imirkin_: kb9vqf: pretty much
13:27 kb9vqf: oh, well that changes things I guess
13:27 imirkin_: not sure how... card still dies :)
13:28 imirkin_: what we *actually* need is better recovery from card death
13:28 karolherbst: okay
13:28 imirkin_: but that's a very un-fun task
13:28 karolherbst: now I need something usefull in the test section :D
13:29 karolherbst: that's the shader_test file so far: https://gist.github.com/karolherbst/73623abe9e57ce3f9dae
13:32 imirkin_: vec4 deferred = texelFetch(s_texture,ivec2(texcoord * s_viewport.xy * 2.0 - 0.0001),0);
13:32 imirkin_: lol
13:32 imirkin_: "hello fudge factor!"
13:33 karolherbst: wait a second
13:33 karolherbst: ...
13:33 karolherbst: :D
13:33 karolherbst: what
13:33 karolherbst: :D
13:33 karolherbst: has to be important
13:40 karolherbst: imirkin_: I bet I have to get the inputs to these shaders somehow through apitrace and feed into into this test
13:40 imirkin_: :)
13:40 imirkin_: and i don't think shader_runner really does MS textuers
13:41 karolherbst: ah four uniforms in qapitrace :)
13:41 karolherbst: how do I write something liek s_projection [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]] in the test file?
13:42 imirkin_: uniform s_projection mat4
13:42 imirkin_: or something
13:42 imirkin_: grep around
13:47 karolherbst: ohh and I have to add the call function, k
13:51 karolherbst: now I have this: https://gist.github.com/karolherbst/73623abe9e57ce3f9dae
13:51 karolherbst: but the window is still black, which I don't know, I just want to see anything :D
13:51 imirkin_: yeah, it renders textures
13:51 imirkin_: which you did not supply
13:52 imirkin_: you just say "oh, it's texture 0"
13:52 imirkin_: but.... where the texture at yo?!
13:52 karolherbst: texture rgbw 0 (8, 8)
13:52 karolherbst: somehting like that?
13:53 imirkin_: something like that. except the shader wants MS textures
13:53 imirkin_: (of which it only ever fetches the first sample... doh)
13:53 karolherbst: mhh anyway, it is still black :/
13:54 imirkin_: right, coz you made 2d textures
13:54 karolherbst: ohh k
13:54 imirkin_: which can't be bound to 2dms samplers
13:54 karolherbst: so I need 3d textures?
13:54 imirkin_: gl is the worst
13:54 imirkin_: no, you need 2dms textures
13:54 karolherbst: and how do I create them?
13:54 imirkin_: it's basically impossible
13:55 karolherbst: meh :/
13:55 imirkin_: can't with shader runner iirc
13:55 imirkin_: but even more generally... maybe you can blit to them? definitely can't upload data like you can to normal 2d images
13:57 karolherbst: can*t I jus ttake the 2d_ms texture from apitrace?
13:57 imirkin_: sure... whatya gonna do with it?
13:57 imirkin_: insert it into the shader test through sheer force of will?
13:57 karolherbst: yes
13:57 karolherbst: that was my plan
13:57 imirkin_: :)
13:58 glennk: would be nice if apitrace had an output to C option
13:58 imirkin_: yes, this has been oft-mentioned
13:58 karolherbst: but that 2dms texture looks like not so random noise, but I think it has to look like that
14:04 karolherbst: imirkin_: so in the end I have to write that test in C
14:14 mlankhorst: tagr: are there any docs for the video encoding/decoding parts of the tegra?
14:15 imirkin_: mlankhorst: got a second one in ya? :)
14:16 mlankhorst: depends
14:17 mlankhorst: my tegra is acting as a ip camera right now
14:18 mlankhorst: got a gstreamer pipeline that works after some tinkering, but now I want to make it transcode the h264 too to a lower resolution..
14:18 imirkin_: insufficient cpu?
14:19 mlankhorst: its a tegra, dont think it can do 1080p video decoding, scaling and re-encoding on the fly
14:19 imirkin_: lol, probably not quite
14:21 mlankhorst: it can do mp3 encoding though :)
14:21 imirkin_: _basically_ the same thing
14:22 glennk:is reminded of two completely separate SoCs that miscalculated the amount of resources needed for h264 vga decoding in the same way
14:22 mlankhorst: sure, just 1 dimension less
14:26 imirkin_: mlankhorst: perhaps you can do the dimesions separately?
14:27 mlankhorst: what, take the fourier transform of my horse?
14:28 glennk: xkcd.com/26/
14:29 mlankhorst: its very peaceful to watch though
14:49 karolherbst: mupuf: any idea about this issue? nouveau 0000:05:00.0: clk: invalid clock source 19
14:49 karolherbst: got this on the GTX 660 you have
14:50 karolherbst: ohh no
14:50 karolherbst: it is the tesla card
14:50 karolherbst: my bad
14:50 mupuf: :)
14:51 karolherbst: but there is something odd nethertheless with that kepler card :/
14:51 karolherbst: I think it doesn't switch voltage
14:52 karolherbst: ohhh no
14:52 karolherbst: I again looked at the tesla :D
14:57 karolherbst: mupuf: do you have any high-end kepler gpu?
14:57 mupuf: nothing better than this :s
14:58 karolherbst: mhhh
14:59 karolherbst: mupuf: you don't know at wich freq the blob idles with max perf prefered?
14:59 karolherbst: I bet it is 995 or something around that
15:00 karolherbst: mupuf: can you at least tell me which model this gpu is? Maybe I find "official" clocks online somewhere
15:00 mupuf: sure
15:00 mupuf: and I can check what the blob tells too, although nvidia-smi can tell that too
15:01 karolherbst: yeah, but I don't really know how to set to prefered max perf through cli
15:04 mupuf: yep
15:05 karolherbst: "yep" to what?
15:06 mupuf: karolherbst: http://www.gigabyte.com/products/product-page.aspx?pid=4361#ov
15:06 mupuf: sorry, I meant me neither
15:06 karolherbst: ohh okay
15:06 karolherbst: np
15:06 karolherbst: thanks for the info
15:06 karolherbst: 1033
15:06 karolherbst: mhh
15:07 karolherbst: "shader freq = 1098 MHz"
15:07 karolherbst: okay, it makes just no sense
15:07 karolherbst: at all
15:07 mupuf: :D
15:07 karolherbst: does it at least idle at 928MHz then?
15:07 karolherbst: :D
15:08 karolherbst: I have the guess, that the blob idles at base max speed - 105MHz if max pers is prefered
15:08 imirkin_: skeggsb: are you aware of any issues with snooped data access?
15:09 mupuf: an idle freq of almost a GHz? That would make no sense
15:09 mupuf: core is at 324 MHz when idle
15:09 mupuf: have a look at those csv files: http://fs.mupuf.org/mupuf/nvidia/graphs/
15:09 karolherbst: mupuf: I meant with prefered mode: max perf
15:10 mupuf: ah, let me test
15:10 karolherbst: it is 705MHz for me
15:10 karolherbst: and for Tom^ it was base_max-105
15:10 karolherbst: I don't now what I do with that information, besides knowing that the blob knows the base max clock
15:10 karolherbst: ohh right, it will let us tinker with teh vbios
15:11 karolherbst: :D
15:12 mupuf: 1032 MHz, 6008 MHz
15:12 karolherbst: mhhh
15:12 karolherbst: and if you put full load to the card?
15:12 skeggsb: imirkin_: hrm, no. what're you seeing?
15:12 imirkin_: skeggsb: oddness and wild theories
15:13 imirkin_: skeggsb: still thinking about the glamor thing, and some other bugs that only show up on nv50
15:14 mupuf: karolherbst: 1124
15:14 mupuf: by forcing the counter idx 2 to 100%
15:14 karolherbst: at least that is above your boost
15:14 karolherbst: nouveua will just clock to 1250MHz
15:14 karolherbst: :D
15:14 mupuf: I did not make any sense of the boost and cstate tables :s
15:14 karolherbst: *nouveau
15:15 karolherbst: wait, I will check that freq
15:15 mupuf: speaking about this, I should test reclocking with it
15:15 karolherbst: ohh right
15:15 karolherbst: any cstate fits into the voltage range
15:15 karolherbst: mupuf: should work
15:15 karolherbst: I just clocked to 0f minutes ago
15:15 karolherbst: :D
15:15 imirkin_: [709342.896844] Corrupted low memory at ffff88000000b000 (b000 phys) = 001b32d2
15:15 mupuf: good to know, upstream kernel or your tree?
15:15 imirkin_: heh, first time i see that on this box
15:16 karolherbst: mupuf: my "old" 4.1 branch
15:16 mupuf: Why is helsinki so much fun during the winter? Wasn't it Linus who said there was nothing to do during the long winter nights? :o
15:16 karolherbst: besides drinking?
15:16 karolherbst: :D
15:17 mupuf: Finns are not the heavy drinkers they think they are :D
15:17 karolherbst: :D
15:18 karolherbst: yeah, nothing can compete to me here anyway half polish half bavarian :p
15:19 karolherbst: but I always though that during the winter the night life is pretty lively up there
15:20 mupuf: well, are we going to see you at FOSDEM?
15:20 karolherbst: I think so
15:20 karolherbst: I would say chances are aroun d80%
15:25 karolherbst: mupuf: I am pretty sure though that the base clock is 810 and my boost clock is 862 for my gpu, and I do see 810 in the pstate table, but then again, it is different for your card
15:28 karolherbst: mupuf: maybe we could ask nvidia? where can we find the base max clock and the turbo max clock inside the vbios of kepler gpus? :D
15:35 mupuf: karolherbst: nope, they said they would not help on thos
15:35 karolherbst: :O
15:36 karolherbst: meh
15:43 mupuf: karolherbst: the upstream nouveau does not reclock my memory properly
15:43 mupuf: but time to go to sleep
15:43 karolherbst: ohh
15:43 karolherbst: what happens?
15:44 mupuf: well, the usual drill, funky framebuffer
15:44 mupuf: and hang when starting X
15:44 karolherbst: ohh oaky
15:44 karolherbst: mhhh
15:44 karolherbst: with your 4.2?
15:44 mupuf: I just updated to 4.3
15:44 karolherbst: you need 4.4
15:44 mupuf: and then compiled the branch from ben
15:45 karolherbst: mhh okay
15:45 karolherbst: my fix is in there
15:45 karolherbst: okay, maybe I will take a look taker
15:45 karolherbst: maybe not
15:45 mupuf: no worries, I will not work on this one. I need to find myself a week end where I don't spend 80% of my time out :D
15:46 karolherbst: :D
16:01 karolherbst: skeggsb: when will you have time to check my pcie patches?
16:02 skeggsb: before the next merge window. i'll take a look at the notes i took so far later on, and give you some feedback so far
16:06 karolherbst: nice, thanks
16:07 karolherbst: will head to bed now anyway :)