01:09imirkin: anholt: the FE can do whatever. i think the BE has have the change. *in theory* the BE should be able to work out that the lod/bias is uniform and avoid the quadop nastiness. but in practice it might not.
01:10imirkin: anholt: i think it's fine to add 2d array shadow & co, i probably missed those originally. i also wonder if that's actually accessibe in glsl -- iirc the spec was slightly weird on all that.
02:09imirkin: anholt: sorry for the somewhat contradicting info ... very slowly paging in this tex stuff =/
02:09imirkin: been _very_ long since i looked at nv50 texturing
05:52Ilgaz: hello everyone. please don't hate me :-)
05:53Ilgaz: I was using my desktop ordinarily and screen blanked for 1-2 secs. Here is the dmsg line (I am guessing) [ 401.746827] MediaPD~oder #1[3350]: segfault at 0 ip 00007f60da1b7c1d sp 00007f60ca415c00 error 4 in libc.so.6[7f60da09d000+182000]
06:29pabs: thats a crash in a process, which process was it? nothing in that line about GPUs/drivers
07:02Ilgaz: I am trying to find, total 10 (!) google results.
07:03Ilgaz: whoops Firefox process. I will report it to them, probably related to video acceleration/nouveau
19:41Sarayan: Hi, does someone know if the mx150/gp108m/pascal(I think) is falcon or riscv-based?
19:42karolherbst: should be falcon, why?
19:43Sarayan: to know which one of the two I should look at to understand the microcode at least minimally for the power stuff
19:44Sarayan: I'm cyclically annoyed at not being able to switch my laptop secondary gpu on :-)
19:44karolherbst: well, that has nothing to do with firmware
19:44karolherbst: at least not GPU one
19:45Sarayan: I thought the issues with power management were linked to firmware, or lack thereof
19:45karolherbst: Sarayan: there is a workaround you could try out though, but for that I would have to know what the issue is
19:45karolherbst: Sarayan: well, it's required for power management, but not runtime suspend/resume
19:45Sarayan: I haven't tried in a while, I may crash the laptop, lemme check
19:45karolherbst: that's just implemented in your uefi
19:46karolherbst: Sarayan: we added a workaround a while ago, but...
19:46Sarayan: well, sudo modprove nouveau didn't blow up, so it looks like I should try the new versions more often
19:47karolherbst: Sarayan: do you see "Disabling PCI power management to avoid bug" inside dmesg?
19:47Sarayan: nope
19:47Sarayan: [443623.217417] nouveau 0000:01:00.0: pmu: firmware unavailable
19:47karolherbst: huh
19:47karolherbst: that's unrelated though
19:47karolherbst: but depending on the bug you were seeing it might be fixed in a different wayt
19:47karolherbst: *way
19:47Sarayan: it was a couple of years ago, it must just have been fixed
19:47karolherbst: ahh probably yes
19:48Sarayan: I mean, it was freenode time :-)
19:48karolherbst: well.. if the GPU does runtime suspend sucessfully and you can use the GPU with "DRI_PRIME=1 glxinfo" or so, then I guess it's fixed
19:48karolherbst: but it could also have been to firmware unloading/loading or other random broken stuff
19:49Sarayan: I probably need to reboot so that nouveau is loaded before X, right?
19:50Sarayan: Extended renderer info (GLX_MESA_query_renderer):
19:50Sarayan: Vendor: nouveau (0x10de)
19:50Sarayan: Device: NV138 (0x1d10)
19:50Sarayan: not even
19:50Sarayan: I'm impressed
19:50karolherbst: stuff changed :D
19:50Sarayan: beautifully so
19:51karolherbst: well now we get to the sad part
19:51Sarayan: I'm listening
19:51karolherbst: you are probably better of using your intel GPU beacuse the nvidia gpu is stuck in low perf mode, because we don't have the PMU firmware :(
19:51karolherbst: _but_
19:52karolherbst: given that's a laptop, we _might_ be able to hack up reclocking code for that, although nobody spend any time on that yet (because it's a bit pointless if stuck is locked down)
19:52karolherbst: I don't even know what's locked down on pascal
19:52karolherbst: on maxwell2 it was fan control, which doesn't matter for 99% of the laptops
19:52Sarayan: "locked down" means "you need a signed firmware blob to control it"?
19:52karolherbst: yes
19:53karolherbst: I think pascal extended that to voltage control
19:53karolherbst: but I am not 100% sure
19:53Sarayan: legal issues with somehow lifting it from the blob?
19:53karolherbst: we can't redistribute it
19:53karolherbst: also.. reverse engineering interfaces will be brutal
19:53Sarayan: probably yeah
19:54karolherbst: the PMU isn't something you just call into, but it's some management "kernel" doing tons of stuff
19:54Sarayan: easier now that you people made the card work though
19:54karolherbst: so we might simply end up fighting with the PMU from the kernel side
19:54Sarayan: the vbios isn't uploading from pmu code in the first place?
19:54karolherbst: yeah... all this firmware loading stuff was very fragile in the past
19:55karolherbst: it still is, but less so
19:55Sarayan: s/from/some/
19:55karolherbst: Sarayan: mhh, soo.. there is some super basic PMU image inside the vbios to do... stuff
19:55karolherbst: probably just to init VRAM and the like
19:55Sarayan: I see, too basic
19:55karolherbst: yeah
19:57Sarayan: so in fact the pmu is a processor (falcon? rv?) with management running on it?
19:57karolherbst: yeah
20:00Sarayan: ok, need to go grab some food before it's too late, thanks
21:00Sarayan: ah interesting, I'm getting freezes in glxgears, a fence wait timing out
21:01karolherbst: :(
21:01karolherbst: Sarayan: I assume you run without vsync?
21:01Sarayan: well, at least after the timeout it gets going again
21:01Sarayan: yes
21:01Sarayan: [448041.867606] Asynchronous wait on fence nouveau:glxgears[560271]:bcef20c4 timed out (hint:submit_notify [i915])
21:01karolherbst: I think there is something broken if we have too many frames, never figured out what it is
21:02Sarayan: (and three more)
21:03karolherbst: well normally one wants to let the compositor handle the vsyncing, so you never hit the broken impls of applications, at some point we will figure out what's wrong though
21:04Sarayan: I don't use a compositor
21:04Sarayan: fvwm2 ftw
21:05karolherbst: yeah.. well.. I don't see the point of wasting battery lifetime on a laptop, but sure
21:06karolherbst: doing prime offloading without a compositor is a _very_ bad idea
21:06Sarayan: by using a compositor or by not using one?
21:06karolherbst: Sarayan: by not using one
21:06Sarayan: I'd have thought the compositor would be adding one layer of blitting?
21:06karolherbst: you really want to run vsynced all the time or get stuff like PSR working to allow GPUs to idle and enter power saving modes
21:07karolherbst: Sarayan: it's more about refreshing the screen if you draw more frames than your display can actually display
21:07karolherbst: mostly wasted cycles
21:07Sarayan: ah ok, that doesn't usually happen for me
21:07Sarayan: I mean, 95% of my windows are xcfe-terminal and xemacs
21:07karolherbst: yeah, except you run glxgears on the second GPU ;)
21:07karolherbst: right
21:07karolherbst: but there is still a draw loop somewhere
21:07Sarayan: just to test if it was working
21:08karolherbst: and even if nothing changes, stuff might get redrawn
21:08karolherbst: anyway, it might be okay with your setup
21:08karolherbst: but using a compositor is usually the thing people want to do these days
21:08Sarayan: yeah, well, there's a gkrellm (that's not 60fps) and $DEITY knows what firefox is doing
21:09karolherbst: it would be less of a problem if I wouldn't know that most desktop environments have bad power managenement :(
21:09karolherbst: like usually using gnome/KDE actually increases battery lifetime even though they do more stuff and shit
21:09karolherbst: it's really annoying :P
21:09Sarayan: fun
21:09karolherbst: yeah...
21:09karolherbst: bad defaults in the kernel and userspace has to fix it up
21:10karolherbst: stuff is improving though
21:10Sarayan: well, at least with my antiquated stuff I know they spend most of their time blocked on the X socket waiting for events
21:10karolherbst: :D
21:10karolherbst: good enough
21:10karolherbst: as long as you have one way of throttling reliably
21:11Sarayan: I *think* it's reliable, I don't really trust some stuff like firefox or pulseaudio, but a compositor won't save me there, especially from pulseaudio
21:11karolherbst: I just spend tooo much time getting my laptops to run for like 10 hours and it's always the same stuff which breaks if you don't use the "bigger" DEs
21:11karolherbst: pulseaudio does power saving on its own
21:11karolherbst: you just shouldn't have active clients all the time
21:11Sarayan: by pegging a core at 100% from time to time
21:12karolherbst: yeah.. soo.. this is I think an alsa bug
21:12karolherbst: if you have an active client stuff might get polled to much
21:12Sarayan: but you repeat yourself
21:12karolherbst: like pavucontrol also kills battery lifetime
21:12Sarayan: interesting, I often have a pavucontrol open
21:12karolherbst: yeah...
21:12karolherbst: you shouldn't :D
21:13karolherbst: at least if you care about power consumption
21:13Sarayan: I must admit I wouldn't have imagined volume control would kill my battery
21:13karolherbst: yeah... I spend too much time on it :D
21:13Sarayan: that must be some beautiful piece of code
21:13karolherbst: well
21:13Sarayan: never looked inside
21:13karolherbst: it does poll all the time
21:14Sarayan: bad, bad start
21:14karolherbst: for getting the current input/output level of inputs/outputs
21:14karolherbst: the annoying part is, that it's doing everything for a good reason
21:14Sarayan: the reason being that the api is crap and can't register listeners for specific events?
21:14karolherbst: nope
21:14karolherbst: pavucontrol shows the current input level
21:14karolherbst: for that it has to start "recording"
21:15karolherbst: or well.. listen on inputs
21:15Sarayan: ok, that I'll admit, at least when it's the active tab
21:15karolherbst: can't know how much input you get without enabling the sound card
21:15karolherbst: yeah... one might be able to optimize it a bit, but...
21:17Sarayan: is nouveau generating any falcon code? Or is all the falcon code coming from nvidia ?
21:17karolherbst: we do have our own code for GPUs where we don't need signed firmware
21:17Sarayan: well, compiling/assembling more than generating
21:17karolherbst: except for video acceleration
21:17karolherbst: there are some *.fuc files inside nouveau
21:17Sarayan: beautiful extension you have there
21:18karolherbst: falcon micro code :)
21:18karolherbst: no idea who came up with that
21:18Sarayan: yeah yeah yeah what you say
21:18Sarayan: somebody aged five?
21:18karolherbst: could be
21:18karolherbst: it was before my time :)
21:18Sarayan: huhuhu
21:19Sarayan: nouveau code is in mesa or somewhere else?
21:19karolherbst: mesa and inside the kernel
21:20Sarayan: the fuc stuff?
21:20karolherbst: that's inside linux
21:20Sarayan: 'kay
21:20Sarayan: ah yeah, found the pmu dir, nice
21:21Sarayan: hey, there is a gp102.c in there
21:21karolherbst: sooooo... we need the PMU for loading signed firmware on some GPUs
21:21karolherbst: so we upload a pre image, which doesn't do PMU stuff
21:22karolherbst: but would allow to bootstrap a PMU alter on
21:22karolherbst: *later
21:22Sarayan: and somebody signed the preimage?
21:22karolherbst: nvidia provided us with some, but that's all just to get hardware acceleration working