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