00:02gfxstrand[d]: Oh, we suffer from it
00:02gfxstrand[d]: It's just that EDB and descriptor sets are identical.
00:03gfxstrand[d]: So turning on EDB didn't make anything faster
00:03gfxstrand[d]: I think it's probably still a little better because they aren't doing as much shuffling in VKD3D but it looks pretty much the same to NVK.
00:04gfxstrand[d]: It's still like 4 indirections. 🤡
02:13tiredchiku[d]: redsheep[d]: afaik on nv prop, GetCPUVirtualAddress is much slower
02:13tiredchiku[d]: as in, on AMD it's easier to get the true VA, which is not so true for nv
02:14tiredchiku[d]: for a descriptor heap, I mean
02:16tiredchiku[d]: the nv descriptor copy path goes through more indirections since we don't get the true heap
02:16tiredchiku[d]: and vkd3d-proton can't do embeddable mutable like it can on AMD
02:17tiredchiku[d]: now it just remains to be seen if NVK hits the same issues
02:44gfxstrand[d]: Not really. I mean, kinda? All that CPU side stuff is about equivalent. The bigger problem is that there are like 2 extra shader indirections on Nvidia because the D3D12 heap isn't the actual hardware heap.
02:45gfxstrand[d]: And I'm not convinced the sampler thing actually matters in practice.
14:58snowycoder[d]: I don't think I've seen anything in the nir docs, but why do we have both types "b" and "i1"?
14:58snowycoder[d]: Isn't a boolean just a 1-bit int?
15:03kayliemoony[d]: snowycoder[d]: Representation wise, *sometimes* but it's often some larger layout with invariants instead
15:04kayliemoony[d]: can't speak for what NIR can target specifically but some platforms use 0 and -1 (i.e. 0xFF)
15:04snowycoder[d]: Mmmh, ok, makes sense
15:05kayliemoony[d]: at very least i1's layout properties will be different
15:19georgeouzou[d]: gfxstrand[d]: I thought the Heap was the same as the hw heap for D3D12
15:20georgeouzou[d]: And in our case we do the indirection in EDB and the classic descriptor sets
15:26gfxstrand[d]: snowycoder[d]: It's about sign extension when you do i2i conversions
15:26gfxstrand[d]: georgeouzou[d]: Correct
15:27snowycoder[d]: gfxstrand[d]: ohhhh, because a 1-bit signed integer is just a sign, wow
15:28gfxstrand[d]: Yeah, if you do a signed i1 -> i32 conversion you get 0/~0 and if you do an unsigned conversion, you get 0/1.
15:28gfxstrand[d]: But really, it mostly matters so that integer things can also be boolean things and we don't have to special case booleans all over everywhere.
15:28gfxstrand[d]: Like, we only have one `iand`, for instance.
15:29snowycoder[d]: That's clever
15:29kayliemoony[d]: Makes sense
15:29gfxstrand[d]: But typically the only one-bit integer ops supported by a back-end are the boolean ones.
15:30gfxstrand[d]: Technically, you could implement 1-bit `iadd` as `ixor` but there's no point.
16:43zmike[d]: gfxstrand[d]: smhhhhh you thought you could find bugs in vkd3d code that I have personally worked on?
16:44gfxstrand: lmao
16:44zmike[d]: and HKA personally reviewed?
16:44zmike[d]: are you insane
16:45gfxstrand[d]: Stranger things have happened.
16:45zmike[d]: your excuses are weak
16:45zmike[d]: https://media.giphy.com/media/R5FMaiKJjKd0I/giphy.gif
16:45gfxstrand[d]: I'm running the d3d12 test suite in VKD3D and it's finding amusing things. It just hit some MSAA case and I'm not sure I believe vkd3d.
16:46zmike[d]: wow how did discord not gif-ify that
16:46zmike[d]: what a day
16:46karolherbst[d]: it happens sometimes
16:46karolherbst[d]: there is a filter, maybe it's too brutal or something 😛
16:46zmike[d]: :facepalm:
18:25penguin42: hi, I'm chasing up on a couple of old patches of mine from ~October last year, where Lyude and and Dmitry as reviwers had asked Ben for an opinion at his rh.com address but never got a reply;
18:25penguin42: https://lore.kernel.org/all/im7gtswtfo6c24waourrtaoeazxuk5paeqblzig73knks735b2@dsj2svieqmur/
18:25penguin42: https://lore.kernel.org/all/227f45fd532a13d3bd636ff2330d87a252383fa6.camel@redhat.com/
18:28gfxstrand[d]: VKD3D has a test suit. NVK has bugs:
18:28gfxstrand[d]: d3d12: 3876822 tests executed (695 failures, 409 successful todo, 125 skipped, 266 todo, 0 bugs).
18:32mhenning[d]: I thought I ran that before and had fewer failures than that
18:37snowycoder[d]: Guess who found an old Kepler card to work on nak? :3
18:40mhenning[d]: gfxstrand[d]: Yeah, I used some of the vkd3d-proton tests to fix https://gitlab.freedesktop.org/mesa/mesa/-/issues/10956 . IIRC, at that point ( vkd3d-proton commit 836446ce25 mesa commit 6b22fff6 ) I only had like a dozen failures
18:40gfxstrand[d]: gfxstrand[d]: There's a MMU fault part-way through that's screwing everything up.
18:40mhenning[d]: ah, yeah that'll do it
18:42gfxstrand[d]: snowycoder[d]: How old? Fermi ISA old or Kepler ISA old?
18:44snowycoder[d]: gfxstrand[d]: Uuuh, 710 old
18:45mhenning[d]: Looks like that's Kepler 2 based on https://www.techpowerup.com/gpu-specs/geforce-gt-710.c1990
18:46mhenning[d]: so Kepler ISA
18:46gfxstrand[d]: Yeah, wikipedia says GK208
18:46mohamexiety[d]: it's not that simple sadly because there were GT 710s based on Fermi too
18:46mhenning[d]: ugh yeah the part naming can be annoying
18:46gfxstrand[d]: So is it a 710 or a 710M?
18:46mohamexiety[d]: https://www.techpowerup.com/gpu-specs/geforce-gt-710.c2614
18:46gfxstrand[d]: Because the M is fermi
18:47gfxstrand[d]: Or maybe wikipedia is wrong?
18:47snowycoder[d]: It's only a 710 if I can read the labels correctly
18:47snowycoder[d]: (can I send photos?)
18:48snowycoder[d]: Serial is GT710-SL-2GD5
18:48gfxstrand[d]: Once you plug it in, `lspci` will probably tell more info
18:48mohamexiety[d]: this should be gk208 based yeah
21:52gfxstrand[d]: mohamexiety[d]: If you're looking for something to do, VKD3D would really like VK_MESA_image_alignment_control
21:54mohamexiety[d]: got it, will look at it tomorrow. got one idea I am toying with for the kernel page size stuff atm
21:55gfxstrand[d]: ok
21:55gfxstrand[d]: Filed an issue for you: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12637
21:55gfxstrand[d]: It should be pretty easy
21:57gfxstrand[d]: With that and me figuring out the rest of the EDB issues, I think that's all of the VKD3D test suite.
21:57gfxstrand[d]: Oh, and one anisotropic filtering fail which I have no idea what's going on.