00:53 imirkin: skeggsb_: did that seem approximately right?
02:13 sedrosken: was GK208 one of the ones that have reclocking support?
02:14 imirkin: yes
02:14 sedrosken: oh, good
02:15 imirkin: well, it's a pretty crappy gpu if you're looking to do any serious gaming
02:15 imirkin: irrespective of what driver you use -- the hw just isn't there.
02:15 sedrosken: "serious gaming"
02:15 sedrosken: lol
02:15 sedrosken: im a linux user, we don't do those things :)
02:15 imirkin: that's what i keep telling people
02:15 sedrosken: spoken with tongue firmly in cheek
02:15 imirkin: and yet they come and tell me things like "GL compositor"
02:16 sedrosken: it's mostly a display adapter to take over from the awful, awful Q35 integrated graphics on my C2Q machine
02:16 imirkin: well, should beat the socks off a Q35, reclocking or not
02:17 imirkin: that's gen3 pineview or whatever, right?
02:17 sedrosken: its low power, low price, and decent performance, particularly in video decoding made it an excellent buy
02:17 sedrosken: and if it just so happens to be quicker than the 9600GT it replaced in all regards while it's at it, that's just another win IMO
02:17 imirkin: well, the GK208 has the advantage of 10 years of development on it
02:18 sedrosken: ten? the 9600GT was that old at the time of release?
02:18 imirkin: no
02:18 imirkin: i meant the Q35
02:18 sedrosken: oh, oh
02:18 imirkin: for the 9600GT probably more like 6
02:19 sedrosken: it probably manages to run about neck and neck with a 9800GT, I'd say
02:19 sedrosken: has the advantage of much more (and much faster, in my case) VRAM
02:19 imirkin: 9600GT = Feb 21, 2008... GK208 was what ... 2013 i think?
02:19 imirkin: or 2014
02:20 sedrosken: the 9600GT in question was a G94 I think?
02:20 imirkin: yeah that's common
02:20 imirkin: it'll depend on whether the GK208 has DDR3 or GDDR5 vram
02:20 sedrosken: 2GB GDDR5
02:21 imirkin: with GDDR5 it'll be a clear win, i think
02:21 imirkin: not to mention lower power consumption
02:21 sedrosken: it happens to be low-profile, so it generates a fair amount of heat, idling at 46 according to sensors output
02:21 imirkin: either way, you'll want kernel 4.10 or newer
02:21 sedrosken: 4.11.7 here
02:21 sedrosken: void is pretty cool
02:21 imirkin: so then just echo the perf level to /sys/kernel/debug/dri/0/pstate
02:22 imirkin: (manual only for now)
02:22 sedrosken: it seems to provide more of a sanity-check to arch's push upstream NAO philosophy
02:22 sedrosken: seems, to, in my opinion
07:25 pmoreau: karolherbst: What was it you needed to add to the kernel cmdline if you encounter "PCI init failure" when trying a nvapeek as root? I thought it was "iommu=relaxed", but it didn't help.
09:29 karolherbst: pmoreau: iomem=relaxed
11:02 pmoreau: karolherbst: Ah, thanks!
13:47 imirkin_: skeggsb_: little oopsie in the disp->chan array size :)
13:54 vsnrain: Hello. Not sure if right place to ask, sorry if missed something.
13:55 vsnrain: I have problem setting up external monitor on my GeForce 9400M
13:55 imirkin_: is that a NVAA or NVAC or something else entirely?
13:55 imirkin_: lspci -nn -d 10de::300
13:56 vsnrain: with low resolution it works ok, but if you switch to more than 1024x768 it starts flickering a lot
13:56 vsnrain: I've read that it may be something to do with performance mode switching
13:57 imirkin_: --^
13:57 vsnrain: I've recorded it, if it helps somehow https://www.youtube.com/watch?v=v_MlCoqWbLA
13:57 pmoreau: Probably NVAC
13:58 imirkin_: helps to get the exact info
13:59 vsnrain: It is "02:00.0 VGA compatible controller [0300]: NVIDIA Corporation C79 [GeForce 9400M] [10de:0863] (rev b1)"
13:59 imirkin_: vsnrain: ok, so have you tried increasing the perf level?
14:00 vsnrain: no, how do I do this?
14:00 imirkin_: cat /sys/kernel/debug/dri/0/pstate
14:00 imirkin_: put the results in a pastebin
14:00 imirkin_: and give a link to that pastebin
14:02 vsnrain: https://pastebin.com/9cFpPey0
14:02 imirkin_: vsnrain: well, you have reasonably high clocks already. but you can try switching to highest and hope it helps -
14:02 imirkin_: echo 0f > /sys/kernel/debug/dri/0/pstate
14:06 vsnrain: with 0f it flickers a little bit less, but still unusable
14:06 vsnrain: forgot to mention, with proprietary nvidia driver it works ok
14:08 vsnrain: and if I put refresh rate 30MHz it stops flickering, but colors look like burned and it lags like slideshow
14:12 imirkin_: what resolution are you trying to drive?
14:12 vsnrain: 1920x1080
14:17 imirkin_: hm, that should be fine
14:21 vsnrain: on last power state, with laptop screen disabled, without moving anything it almost does not lag
14:22 vsnrain: *on 1920x1080, lags heavily if I try to move windows though
14:31 imirkin_: pmoreau: on a percentage scale, how done is your spirv -> nv50 ir stuff?
14:31 imirkin_: (ignoring the clover bits of it)
14:32 vsnrain: imirkin_: so is there something else can be done to fix 1080p outopt, or I'm out of luck?
14:33 imirkin_: vsnrain: unfortunately i haven't heard of this issue before
14:33 imirkin_: this is unfortunate both because i'm not sure how to help, and also because it makes it less likely that others have run into the issue
14:33 imirkin_: (otoh i have the memory of a goldfish, so perhaps someone did mention and i just plain forgot)
14:33 vsnrain: imirkin_: ok, thanks
14:34 imirkin_: vsnrain: the NVAC chip (which is what you have) is an IGP - it doesn't have its own VRAM
14:34 imirkin_: this means that such matters could also be affected by your system RAM
14:36 vsnrain: well, I have pair of PC3-8500S (1066Mhz) which is already max of what my system supports
15:01 pmoreau: imirkin_: Hum... I should have most of the memory management done. Missing is most of the arithmetic operations, making it work for vectors (shouldn't be too hard), and all the event stuff. I'll have a look at which SPIR-V ops I am missing tonight and I'll tell you.
15:02 pmoreau: imirkin_: Maybe around 50%, difficulty-wise?
15:15 imirkin_: event stuff?
15:15 pmoreau: For example in https://www.khronos.org/registry/OpenCL/sdk/1.0/docs/man/xhtml/async_work_group_copy.html
15:16 pmoreau: You start asynchronous tasks from the GPU
15:16 imirkin_: that's not spirv though
15:16 pmoreau: Not, but you do have event types in SPIR-V as well
15:17 imirkin_: ah
15:17 pmoreau: I think that function exists in SPIR-V as well, one sec
15:17 pmoreau: https://khronos.org/registry/spir-v/specs/1.0/SPIRV.html#OpGroupAsyncCopy
15:18 imirkin_: weird.
15:18 imirkin_: i wonder what that does.
15:18 imirkin_: ohhhhh
15:18 imirkin_: i see.
15:18 pmoreau: I need to look at what NVIDIA does for that
15:18 imirkin_: it's basically you allocate a barrier
15:18 imirkin_: and then you can wait on that barrier
15:18 imirkin_: or something
15:18 imirkin_: [for maxwell+ at elast]
15:18 pmoreau: I guess
15:19 pmoreau: And of course there is all the GPU-side enqueueing of kernels, but that is an OpenCL 2.0 feature, so I don't feel too bad taking my time to support it.
15:20 imirkin_: :)
15:20 imirkin_: no worries, i was just curious about general status
15:20 pmoreau: :-)
15:20 imirkin_: how's e.g. control flow?
15:21 pmoreau: I am still getting doubts about going with SPIR-V, rather than LLVM IR, as upstreaming of the LLVM IR to SPIR-V pass does not seem to be making that much of a progress.
15:22 karolherbst: why not both? :p
15:22 pmoreau: if/else/switches should be fine. For loops, I still have that issue in RA where it failed to detect it couldn't reallocate one of the registers.
15:22 imirkin_: right, ok. i need to look at that one.
15:22 pmoreau: karolherbst: :-p Cause I don't have unlimited time? O:-)
15:22 karolherbst: pmoreau: change it :p
15:23 pmoreau: imirkin_: I think, at least, during the live_in/live_out computation phase, we need to loop until reaching a fixed point rather than once, or maybe just start from the end of the program rather than the beginning.
15:23 imirkin_: pmoreau: i need to look at that logic very carefully.
15:23 pmoreau: karolherbst: Or find people to help me ;-)
15:24 karolherbst: pmoreau: that sounds like a solid plan to me
15:25 pmoreau: Otherwise, if you want something less boring than RA, there is the XCOM bug on Maxwell, which is solved with "MESA_DEBUG=flush": https://bugs.freedesktop.org/show_bug.cgi?id=100177
15:25 Efelante90: ...
15:25 Efelante90: Hello everyone!
15:25 imirkin_: pmoreau: hehe, that's the sort of bug that's very annoying.
15:26 pmoreau: But compared to debugging RA? :-)
15:26 ccaione: imirkin_: thank you for https://bugs.freedesktop.org/show_bug.cgi?id=101601 I was wondering if you are going to upstream the patch for the heads
15:26 pmoreau: Efelante90: Hi
15:26 Efelante90: Could anybody say whether nouveau supports Tegra K1 and X1?
15:26 imirkin_: ccaione: well, it's a little risky since it changes behavior on a whole swath of boards. i'd want Ben to OK it first
15:26 karolherbst: Efelante90: it does
15:26 ccaione: I see, yup, sounds good
15:27 imirkin_: ccaione: the fix to the # of chans is pretty obvious though
15:27 ccaione: yeah, nice finding
15:28 imirkin_: ccaione: unfortunately to get accel you'll need firmware... you could try just using the gp107 firmware and hoping it works
15:28 imirkin_: i have no clue what's different about each gpu's firmware package
15:28 ccaione: for now what we need is just modesetting
15:29 imirkin_: although ... given how you did the 0x138 bringup, you might actually be getting the gp107 firmware already
15:29 imirkin_: and that fails to load, so ... you're SOL :)
15:29 imirkin_: (because you linked it directly to the nv137_chipset struct)
15:29 Efelante90: I asked because Tegra K1 and X1 are in the list here (https://nouveau.freedesktop.org/wiki/CodeNames/) but FAQ says that Tegra chips are not supported.
15:30 imirkin_: Efelante90: that's in reference to Tegra 20/30
15:31 Efelante90: imirkin_: You mean FAQ?
15:31 imirkin_: yes
15:32 imirkin_: i'm sure the last time that FAQ was modified was a very long time ago
15:32 Efelante90: OK, thanks.
15:33 Efelante90: Another question. Is there any detailed official documentation from NVIDIA about GeForce chips operation?
15:33 imirkin_: no
15:34 imirkin_: they have provided bits and pieces of a couple of minor things
15:34 imirkin_: http://download.nvidia.com/open-gpu-doc/
15:34 Efelante90: As I understood reverse-engineering is the main way to know it.
15:35 imirkin_: correct.
15:42 Efelante90: Finally, I've saw the status table but anyway what family of chips is supported better by Nouveau?
15:47 pmoreau: Efelante90: Kepler, and then probably 1st gen Maxwell and most Tesla cards
15:48 Efelante90: OK. And what are the most popular chips in nouveau community?
15:49 pmoreau: That I am not sure of
15:50 Efelante90: OK, thanks a lot anyway.
15:54 Efelante90: I just thought that there may be some simple chip that is supported well by nouveau and can be used as a first chip by the newbie.
16:01 noobn: hello
16:03 noobn: Would i be correct in saying "acceleration will be supporeted in kernel 4.12 for the gtx 1070"?
16:03 imirkin_: noobn: depends how you define 'acceleration'. with a sufficiently narrow definition, the answer is 'yes'.
16:04 noobn: will there be overclocking?
16:04 imirkin_: most definitely not
16:04 imirkin_: there won't be reclocking either
16:04 imirkin_: so you get the boot clocks, which are extremely low
16:05 noobn: re-clockings what i wanted, will it ever happen?
16:05 imirkin_: unlikely at this point
16:05 imirkin_: esp for desktop GPUs
16:05 noobn: :(
16:05 imirkin_: nvidia has locked things down pretty good
16:05 noobn: this ones a mobile
16:06 imirkin_: well, with GM20x there's a crazy dance we can do to enable reclocking, but we can't control the fan
16:06 imirkin_: on laptops, the fan is usually controlled by the EC anyways, so it's OK
16:06 imirkin_: on desktop, not so much
16:06 imirkin_: however GP10x changes all the memory reclocking stuff
16:07 imirkin_: so ... unclear we'll be able to figure it out
16:07 imirkin_: either way, i highly recommend AMD if you're interested in an open experience.
16:07 noobn: i though nvidia was helping develop nouveau these days
16:08 imirkin_: marketing, mostly.
16:08 imirkin_: although they did contribute the secure firmware loader logic for these new GPUs
16:08 imirkin_: as well as release firmware to enable basic accel, properly signed and redistributable in the linux-firmware tree
16:08 imirkin_: which was nice
16:09 noobn: yes kind of them :)
16:09 imirkin_: anyways, the developer working on that stuff left a few months ago
16:09 imirkin_: they've not announced anyone to replace him
16:10 imirkin_: and his job was to primarily make Tegra K1/X1/etc work upstream
16:10 noobn: so for number crunching i'm still going to need the proprietary driver then
16:10 imirkin_: i recommend AMD :)
16:10 imirkin_: [without knowing the details]
16:10 noobn: to late for that im affraid
16:11 imirkin_: never too late to recommend...
16:11 noobn: lol
16:12 noobn: ok well thanks for the support, i guess i'll have to keep on eye on the development status and keep my fingers crossed
16:12 imirkin_: note that nouveau has no support for cuda, opencl, or anything else of the sort
16:13 noobn: there are open alternatives now i belive
16:13 imirkin_: to nouveau?
16:16 noobn: no to cuda someone had written an open cuda implementation for nouveau although i cant find it now
16:17 imirkin_: you must be confusing with something else
16:17 imirkin_: for example google released a LLVM frontend for CUDA
16:17 imirkin_: and e.g. OpenGL compute shaders work fine with nouveau
16:18 imirkin_: however there's no glue that goes between OpenCL C and nouveau's compiler IR.
16:18 imirkin_: or CUDA CC and nouveau's compiler IR
16:18 imirkin_: or PTX and nouveau's compiler IR
16:18 imirkin_: or you-name-it and nouveau's compiler IR :)
16:21 noobn: i found it https://github.com/shinpei0208/gdev but not quite what i remembered
16:22 imirkin_: right, gdev is another thing
16:22 imirkin_: and afaik unmaintained
16:23 imirkin_: that said, i haven't really played with it
16:23 imirkin_: perhaps i should.
16:28 noobn: ok i got go thanks
17:10 karolherbst: is OP_RET == OP_EXIT basically or is there a fundamental difference?
17:28 imirkin_: karolherbst: they're quite different
17:29 imirkin_: karolherbst: OP_RET will pop the call stack and jump
17:29 imirkin_: while OP_EXIT will terminate the thread
17:29 karolherbst: mhh
17:29 imirkin_: OP_RET is the counterpart to OP_CALL
17:29 karolherbst: and what happens if you do ret within the main function?
17:29 imirkin_: STACK_ERROR? :)
17:29 karolherbst: well
17:29 imirkin_: i dunno, it might actually just exit
17:29 karolherbst: that one F1 shader does exacty this
17:29 imirkin_: oh wait
17:30 karolherbst: 426.shader_test in the repository
17:30 imirkin_: OP_PRERET specifies where ret goes
17:30 karolherbst: uhhh
17:30 imirkin_: not call.
17:30 imirkin_: or maybe either oen.
17:30 imirkin_: https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp#n3733
17:31 karolherbst: okay, seems fine then
17:31 karolherbst: preret BB:1 .... ret and BB:1 has an exit instruction
17:31 imirkin_: yep
17:31 imirkin_: assuming we don't fuck that up somehow
17:31 karolherbst: actually I don't think it's the fault of the compute shader
17:32 karolherbst: because every call after invoking it doesn't lead to any timeouts
17:32 karolherbst: just the next draw does
17:33 karolherbst: except I miss something
17:33 karolherbst: (like knowledge about how compute shader work)
18:08 karolherbst: the hell is wrong with that fragment shader :O
18:09 karolherbst: the computer shader is a joke compared to that
19:07 imirkin_: karolherbst: i think the issue is a shader that depends on some previous shader setting something in a ssbo which gets messed up, and causes an infinite loop in that shader
19:07 imirkin_: karolherbst: do test with the fixes that i pushed earlier this week, on the off chance that they help
19:07 imirkin_: however that seems unlikely.
20:08 pmoreau: imirkin_: If you want some stats for SPIR-V opcodes support: https://phabricator.pmoreau.org/w/mesa/spirv_support/
20:08 pmoreau: imirkin_: It is missing all OpenCL and GLSL specific opcodes though, and it does not track unsupported decorations and builtins, for example.
20:11 karolherbst: imirkin_: on your cts branch?
20:12 karolherbst: ohh on master actually
20:21 imirkin_: karolherbst: yeah master now
20:24 karolherbst: getting silly errors on master: "../../../src/mesa/main/marshal.c:484:4: error: implicit declaration of function ‘CALL_NamedBufferSubData’ [-Werror=implicit-function-declaration]"
20:26 imirkin_: clean?
20:26 karolherbst: yeah
20:57 karolherbst: imirkin_: 95fb1c187a0ea8d13f401145282363228b91b246 broke it
22:55 imirkin_: skeggsb_: mornin'