01:22 imirkin: mwk: 00012ebe: f5 3c 04 90 ??? [unknown: 00 00 04 90] [unknown instruction]
01:22 imirkin: looks like a cocmd 0x90 (falcon crypto)
02:15 mwk: imirkin: so it is
02:16 mwk: well, more like ccmd 0x04
02:16 mwk: imirkin: but, what's the question?
02:17 mwk: ISTR it was the "rng" command
02:17 mwk: as in, it fills a reg with hardware-random data
02:25 imirkin: not really a question
02:25 imirkin: just an observation
02:25 imirkin: i'm doing some spelunking in nv-kernel.o
02:25 imirkin: recent ones, seeing what i can extract
02:25 imirkin: 0000001b: ce e9 00 unkce $r9 I[$r14] [unknown instruction]
02:26 imirkin: looks like a lot of stuff is gzip-retrievable via the rodata section in the ELF header
02:27 imirkin: some are archives, others are just raw falcon binaries
02:27 imirkin: (archive being that funky nvidia "format" which can encode a few blobs inside of a single logical file)
11:52 karolherbst: ohh I thiink we can revert that docker travis shit. cmake was updated to version 3.9.2
12:12 karolherbst: ~6,5 mins -> ~3.75 mins
12:12 karolherbst: build time
12:33 karolherbst: imirkin: ping on https://patchwork.freedesktop.org/series/40754/ and https://patchwork.freedesktop.org/series/40199/
12:37 imirkin: yeah not right now, sorry. gotta run.
17:05 pendingchaos: does the gallium driver work with multiple contexts per screen?
17:05 imirkin_: define 'work'
17:05 imirkin_: it's supposed to
17:05 imirkin_: we dirty a bunch of stuff when one switches contexts
17:06 imirkin_: it all maps to a single hw context
17:06 imirkin_: but ... multithreaded it all falls down pretty spectacularly
17:06 pendingchaos: I don't seem to be able to find where the switching happens
17:06 imirkin_: i want to rewrite the driver a bunch so that it's happier
17:06 imirkin_: but it's a lot of work and i don't have the time
17:06 pendingchaos: also there's this card: https://trello.com/c/DqB7AKrE/51-allow-multiple-contexts-per-screen-while-using-a-single-channel
17:07 imirkin_: i assume mupuf was talking about the multithreaded case
17:07 imirkin_: https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c#n793
17:07 imirkin_: this is where the switching is done
17:07 imirkin_: this is called at the top of nvc0_state_validate
17:07 imirkin_: the screen keeps track of the "last" context
17:08 pendingchaos: ah
17:14 imirkin_: and some global state
17:15 imirkin_: which is only flipped when it's touched
17:15 imirkin_: this stuff is a bit haphazard, unfortunately
17:18 pendingchaos: also, I think I can confirm that there is no hardware support for GL_COMPUTE_SHADER_INVOCATIONS_ARB
17:18 pendingchaos: so I think I'll increase a cpu-side counter for each non-indirect nvc0_launch_grid
17:18 pendingchaos: and launch a macro for each indirect which increases a gpu-side counter or something
17:38 imirkin_: pendingchaos: worksforme
17:38 imirkin_: pendingchaos: not sure how the macro can work...
17:39 imirkin_: coz it's not just +=1 ... it's += number of invocations
17:39 imirkin_: and the macro language doesn't support multiplications
18:30 pendingchaos: forgot about the lack of multiplication instruction...
18:30 pendingchaos: that might complicate things
18:33 imirkin_: could append it into a buffer object
18:33 imirkin_: and then just sum it up later
18:34 imirkin_: i.e. the (x,y,z) pairs
18:36 imirkin_: and then have a compute shader add it up
18:36 imirkin_: (or even on cpu)
18:45 martmninja: well, hello, i did develop one specific question, when the final export of a pixel is done, does the hw also reschedule the paused/stalled warps?
18:47 pendingchaos: I think I might try implementing multiplication using shift and add first
18:47 pendingchaos: it seems like it might be reasonable
19:01 imirkin_: pendingchaos: oh yeah, that should work!
19:02 pendingchaos: I might have to use scratch though
19:02 imirkin_: that's fine - you can just use one scratch thing as the dedicated counter for that
19:35 mupuf: cool, nvidia also has cheksums on the crtc :)
19:36 mupuf: or maybe it is the encoder, since I only find it on HDMI
19:46 RSpliet: Well look at that, Volta display block docs!
20:01 pmoreau: RSpliet: How cool is it to buy a $10k? GPU to only do modesetting. 8-)
20:01 HdkR: At least the Titan V is /only/ $3k
20:02 karolherbst: it's nice though :P
20:02 karolherbst: pmoreau: better then not doing modesetting
20:02 pmoreau: HdkR: If you can get one
20:03 HdkR: :D
20:03 pmoreau: karolherbst: True! Well, you can always use to do some disco lighting or heat your room
20:03 pmoreau: s/use/use it
20:04 karolherbst: really?
20:04 pmoreau: Why not? :-D
20:04 karolherbst: how do you heat the room with it?
20:04 karolherbst: lowest clocks + no graph engine?
20:04 karolherbst: how much do you get out, 30W top?
20:04 pmoreau: Ah, damn
20:04 karolherbst: has the Titan V leds?
20:04 pmoreau: You can imagine it’s heating up your room
20:05 HdkR: The Titan V doesn't have any LEDs sadly
20:05 pmoreau: Nooooo
20:05 karolherbst: I am relieved
20:05 karolherbst: would have ment I have access to the wrong GV100 :O
20:05 pmoreau: It was only $3000, they had to take the LEDs out
20:05 karolherbst: the quadro doesn't have LEDs either
20:06 karolherbst: what..
20:06 karolherbst: 1030 with DDR4?
20:06 karolherbst: damn
20:06 karolherbst: why...
20:07 HdkR: For those times when you really want to annoy your consumer base
20:09 RSpliet: pmoreau: I still recall the days where we had to reverse engineer this kind of tedious display stuff ;-)
20:10 RSpliet: surely shader compilers and new APIs are much more fun
20:11 HdkR: Needs more open source cuda obviously :P
20:11 pmoreau: RE’ing isn’t something I have done :-/ I should some day
20:15 RSpliet: With "we", I mean "Ben" btw...