01:08gfxstrand[d]: It's a CTS bug. Some sort of memory stomp
01:10gfxstrand[d]: Of course Valgrind is clean
01:14gfxstrand[d]: Or maybe not....
01:20gfxstrand[d]: I think I found it!
01:22gfxstrand[d]: It was a driver bug in `nvk_hash_graphics_state()`.
02:38gfxstrand[d]: With that, NVK should be CTS clean, modulo CTS butgs.
03:24gfxstrand[d]: Tomorrow I'm going to look at whatever maintenance extensions I've missed.
03:25tiredchiku[d]: okay, RTX 3070 is up and running now
03:25tiredchiku[d]: :wolfFIRE:
16:58gfxstrand[d]: Looking at ZCULL and this is all some serious black magic
16:59gfxstrand[d]: It doesn't help that they configure half it through macros
17:54gfxstrand[d]: It doesn't appear to work anything like AMD or Intel's HiZ
17:59gfxstrand[d]: I think the first thing to do is to run a bunch of different depth target sizes and see if I can figure out this allocation stuff.
19:25airlied[d]: ahuillet[d]: might be able to help give buffer sizing guidelines, not sure, but yeah working out how big the storage needs to be is probably a good place to start
19:26airlied[d]: That or just hardcoding it for one demo window size 🙂
19:28gfxstrand[d]: Well, I know one thing: `size = 0x540 + ALIQUOT_COUNT * 0x60`
19:28gfxstrand[d]: IDK how the blob chooses `ALIQUOT_COUNT` or what horrors happen if it's too small.
19:29gfxstrand[d]: Nor do I know why there are multiple regions or why you would want that.
19:29gfxstrand[d]: Well, I can imagine why you'd want that
19:30gfxstrand[d]: It seems `0x40` is the minimum but there isn't a clear pattern as my depth buffer grows
19:48karolherbst[d]: mhh, I might have some info about that, I can take a look tomorrow
22:18gfxstrand[d]: The minimum appears to be `0x40` because it sets 16 subregions, each of which is gets 4 aliquots
22:19gfxstrand[d]: Which I just learned is literally just a word for "portion of a thing"
22:25gfxstrand[d]: Someone at NVIDIA was having too much fun with a thesaurus.
22:26gfxstrand[d]: And the big one I saw with `0x1324` aliquots is 14 subregions, each with `0x15e` aliquots
22:28gfxstrand[d]: I have no idea how these subregions work or how these numbers or formats are chosen but at least I know how they're assigned and how to count them. That feels like progress.
22:48airlied[d]: NV2080_CTRL_CMD_GR_GET_ZCULL_INFO has some documentation in the open gpu headers
22:48airlied[d]: not sure if it's useful