01:04 fdobridge: <g​fxstrand> `Pass: 405045, Fail: 218, Crash: 73, Skip: 3195085, Timeout: 2, Flake: 460, Duration: 1:31:09`
01:11 benjaminl: / buffer 1
01:11 fdobridge: <g​fxstrand> 110 of those will be fixed by switching to NAK
01:11 fdobridge: <g​fxstrand> (It handles texture + offset better)
01:12 fdobridge: <g​fxstrand> 56 of the crashes are image atomics.
01:12 fdobridge: <g​fxstrand> Not bad...
01:14 fdobridge: <g​fxstrand> Which someone is already working on.
01:14 fdobridge: <g​fxstrand> I should maybe fix my dependency pass next week. That sounds useful. 😅
01:18 fdobridge: <g​fxstrand> I think that's the last step towards core compiler soundness.
09:37 fdobridge: <k​arolherbst🐧🦀> @gfxstrand fyi, I have like complete docs on the scheduling stuff, so once you are ready with the code you should ping me and I'll double check with the docs
15:01 fdobridge: <g​fxstrand> Oh... do those docs include latencies?
15:02 fdobridge: <g​fxstrand> I may need to invoke the Collabora/Nvidia NDA and get some of these docs... 🤔
15:03 HdkR: Sort of need the latencies otherwise everything gets scheduled with maximum waits :|
15:46 fdobridge: <k​arolherbst🐧🦀> it's a 60 page document describing this entire thing in great detail 😄 I don't see a specific section where it says what's the latency of each instruction, but the information seems to be within those pages where it gets all explained. Some instructions require a minimum wait and that's explicitly there at least.
15:47 fdobridge: <g​fxstrand> Heh
15:47 fdobridge: <g​fxstrand> We can R/E the latencies if we need. It's just a giant pain.
15:48 fdobridge: <k​arolherbst🐧🦀> it references a special document for pipeline latencies it seems
15:48 fdobridge: <g​fxstrand> Who's the best NV person to talk to you get said docs? (DM or email is fine)
15:50 fdobridge: <k​arolherbst🐧🦀> good question.. I only know the ones involved with making it all public
15:50 fdobridge: <k​arolherbst🐧🦀> I'll ask around who was involved with getting those things under NDA
15:51 fdobridge: <g​fxstrand> I'm more worried about little details like "CB access increases latency by 2" or "predicate destinations become available a cycle later". That stuff would be very unfun to R/E.
15:51 fdobridge: <k​arolherbst🐧🦀> ahh, that stuff is all explained in the doc I have
15:51 fdobridge: <k​arolherbst🐧🦀> and generally the sources don't matter
15:52 fdobridge: <g​fxstrand> I can type something that chains together 200 IADD3's and figure out the latency pretty precisely.
15:52 fdobridge: <g​fxstrand> It's a pain but it can be done
15:53 fdobridge: <k​arolherbst🐧🦀> ohh seems like predicates are special
15:53 fdobridge: <g​fxstrand> Yup...
15:53 fdobridge: <g​fxstrand> Figured they would be
15:54 fdobridge: <k​arolherbst🐧🦀> ohh.. I know why 🥲
15:54 fdobridge: <k​arolherbst🐧🦀> that's uhm.. annoying
15:54 fdobridge: <k​arolherbst🐧🦀> but there is nothing magic about it at least
15:55 fdobridge: <k​arolherbst🐧🦀> oh btw.. you can't get smart about predicated instructions
15:56 fdobridge: <k​arolherbst🐧🦀> the doc also lists exceptions for each instruction to the predicate stuff
15:56 fdobridge: <k​arolherbst🐧🦀> fancy
15:56 fdobridge: <k​arolherbst🐧🦀> ehh
15:56 fdobridge: <k​arolherbst🐧🦀> scheduling
15:56 fdobridge: <k​arolherbst🐧🦀> like `IMAD.WIDE` is special 😄
15:57 fdobridge: <k​arolherbst🐧🦀> wtf
15:57 fdobridge: <k​arolherbst🐧🦀> yeah, sadly it's too detailed to share it, but wtf
15:57 fdobridge: <k​arolherbst🐧🦀> that would a pita to RE
16:00 fdobridge: <g​fxstrand> Yeah, figure out who I need to talk to and I'll try and get my hands on the docs.
16:01 fdobridge: <g​fxstrand> Or maybe I'll set my boss on them. He's good at that.
16:11 fdobridge: <g​fxstrand> I could always start with Andy
16:12 fdobridge: <g​fxstrand> I think we've already emailed once or twice.
16:27 fdobridge: <k​arolherbst🐧🦀> yeah, Andy might be a good start, or John if you've been in contact already
16:29 fdobridge: <g​fxstrand> Here's a serial run: `Pass: 405513, Fail: 217, Crash: 67, Skip: 3195085, Flake: 1, Duration: 8:59:51`
16:56 fdobridge: <g​fxstrand> I e-mailed Andy. We'll see what comes of it.
16:57 fdobridge: <g​fxstrand> I'll tell Guy on Monday to hound them until they give me docs. He's very good at hounding people. 😂
16:58 fdobridge: <k​arolherbst🐧🦀> 😄
20:12 fdobridge: <b​enjaminl> I'm looking at the pre-turing indirect draw implementation in NVK
20:12 fdobridge: <b​enjaminl> confused on how this bit works:
20:13 fdobridge: <b​enjaminl> ```c
20:13 fdobridge: <b​enjaminl> /* Stall the command streamer */
20:13 fdobridge: <b​enjaminl> p = nvk_cmd_buffer_push(cmd, 3);
20:13 fdobridge: <b​enjaminl> __push_immd(p, SUBC_NV9097, NV906F_SET_REFERENCE, 0);
20:13 fdobridge: <b​enjaminl> ```
20:14 fdobridge: <b​enjaminl> does it stall because the subc class doesn't match the method class?
20:29 fdobridge: <a​irlied> The macros likely just line up
20:35 fdobridge: <g​fxstrand> Yeah, that seems off...
20:36 fdobridge: <b​enjaminl> ah yeah you're right
20:36 fdobridge: <b​enjaminl> just checked the values