11:29 fdobridge: <!​[NVK Whacker] Echo (she) 🇱🇹> How easy is it to implement nir_intrinsic_reduce? :triangle_nvk:
11:48 fdobridge: <g​fxstrand> Probably not horrible except that it's a subgroup op and neither compiler has proper re-convergence semantics right now.
12:06 fdobridge: <p​homes> gfxstrand: I did start on the pipeline cache, but real life happened. I can try to get back to it tonight or you can also implement it yourself if you prefer. Don't wait for me if you need it soon 🙂
12:31 fdobridge: <g​fxstrand> Nah. It'll be nice once we have it but for now I'm happy to let it be
12:32 fdobridge: <g​fxstrand> I mentioned it because it occurred to me yesterday that I think the reason NAK runs take longer (by 10-15 min) is because I'm running more NIR optimizations. Then I realized we could be caching all that.
12:33 fdobridge: <g​fxstrand> But also meh? 🤷🏻‍♀️
12:33 fdobridge: <g​fxstrand> We should eventually but it's fine for now
12:33 fdobridge: <g​fxstrand> The whole compile pipeline is a mess and will be until we land NAK and use it for everything.
12:37 fdobridge: <g​fxstrand> I guess we could add some wrappers to make codegen look more like NAK. 🤔
15:29 fdobridge: <g​fxstrand> `Pass 405328 Fail 56 Crash 65 Warn 4
15:32 fdobridge: <g​fxstrand> IDK what I think about threads. We'll see how it works out.
15:33 fdobridge: <k​arolherbst🐧🦀> me neither... I'm always keeping in mind that medium-term we want to move something else anyway 🙃
15:34 fdobridge: <k​arolherbst🐧🦀> I'm kinda thinking about giving matrix another go as it did improve in the meantime and might actually provide what we'd need
15:34 fdobridge: <!​[NVK Whacker] Echo (she) 🇱🇹> Meta/Facebook Threads is definitely concerning though
15:34 fdobridge: <k​arolherbst🐧🦀> but it also bridges better to here
15:34 fdobridge: <k​arolherbst🐧🦀> just have to find the spoons to set everything up
15:35 fdobridge: <k​arolherbst🐧🦀> matrix also has threads since last year...
15:35 fdobridge: <k​arolherbst🐧🦀> just the permission system is totally and entirely broken and useless
15:35 fdobridge:<k​arolherbst🐧🦀> but
15:36 fdobridge: <k​arolherbst🐧🦀> we can have a FDO "space" and sub-spaces for each individual driver
15:36 fdobridge: <k​arolherbst🐧🦀> and it kinda looks like discord servers
15:36 fdobridge: <k​arolherbst🐧🦀> so that's what initially was my reason to just ignore it
15:41 fdobridge: <g​fxstrand> @marysaka did you make any SPH progress while I was asleep?
15:43 fdobridge: <m​arysaka> oh yeah I forgot to push, but I'm not that happy with the result so far tbh
15:43 fdobridge: <g​fxstrand> Ok, cool. Please push!
15:43 fdobridge: <g​fxstrand> I'm going to try and pull that in today and see if it fixes all my VS woes.
15:45 fdobridge: <m​arysaka> On it 👍
15:47 fdobridge: <k​arolherbst🐧🦀> I think I need to ping again on the thread to get the sph docs 🙃
15:47 fdobridge: <k​arolherbst🐧🦀> @gfxstrand how is your endeavor with getting docs doing?
17:33 fdobridge: <g​fxstrand> Not great. If I don't hear anything by then, I'm going to pester people at the F2F after XDC
17:37 fdobridge: <g​fxstrand> @marysaka The good news is that your SPH stuff looks mostly like what I was hoping for. The bad news is that it doesn't work with non-constant offsets and neither do the NIR intrinsics today. 🤦🏻‍♀️
17:37 fdobridge: <g​fxstrand> I need to think about that. One option is to do a bit of NIR hackery to add the information. Another is to look at semantics (a bit annoying). A third would be to propagate more detailed information from C but I was really hoping to avoid that one.
17:38 fdobridge: <g​fxstrand> In any case, it should be good enough for FS so I'm going to go ahead and do a run.
17:38 fdobridge: <m​arysaka> Oh no :vReiAgony:
17:38 fdobridge: <g​fxstrand> Totally my fault, that one.
17:39 fdobridge: <m​arysaka> yeah I kind of thought it was weird but kept it that way if you are talking about the interpolated stuffs 😅
17:39 fdobridge: <g​fxstrand> It's a fundamental hole in my current I/O lowering plan.
17:41 fdobridge: <!​[NVK Whacker] Echo (she) 🇱🇹> How much I/O lowering does NAK do?
17:43 fdobridge: <g​fxstrand> The normal amount?
17:43 fdobridge: <k​arolherbst🐧🦀> random thought: we might want to wire up 32 bit addressing mode to safe on 64 bit alus... not sure if it makes sense with vulkan though....
17:43 fdobridge: <g​fxstrand> What would that do?
17:43 fdobridge: <k​arolherbst🐧🦀> pointers are 32 bit
17:43 fdobridge: <k​arolherbst🐧🦀> it's the `.E` flag on `LD` and `ST`
17:43 fdobridge: <g​fxstrand> Yeah, we can't restrict our global address space that far
17:44 fdobridge: <k​arolherbst🐧🦀> `.E` -> 64 bit, 32 bit otherwise
17:44 fdobridge: <g​fxstrand> It's fine for local and shared but not global.
17:44 fdobridge: <k​arolherbst🐧🦀> yeah...., but local and shared are already 32 bit anyway
17:44 fdobridge: <k​arolherbst🐧🦀> I'm sure it made more sense 15 years ago 😄
17:45 fdobridge: <k​arolherbst🐧🦀> CUDA still allows you to choose though, I wonder how long they'll keep it
17:45 fdobridge: <k​arolherbst🐧🦀> but it does make sense for performance
17:47 fdobridge: <g​fxstrand> I'm sure it's a legacy "nvidia never deletes hardware" thing at this point. It makes no sense whatsoever when my card has 12GB of VRAM.
17:53 fdobridge: <k​arolherbst🐧🦀> yeah...
17:55 fdobridge: <k​arolherbst🐧🦀> maybe something we could consider on low VRAM cards on older gens at some points, but then again... it doesn't really matter
18:07 fdobridge: <g​fxstrand> no
18:07 fdobridge: <g​fxstrand> That's just asking for bug reports I can't reproduce
18:08 fdobridge: <g​fxstrand> In exchange for a performance gain I can't reproduce, either.
18:08 fdobridge: <k​arolherbst🐧🦀> yeah...
18:08 fdobridge: <k​arolherbst🐧🦀> fermi supports 64 bit pointers afaik, so that only leaves us with nv50
18:09 fdobridge: <k​arolherbst🐧🦀> and nv50.... is uhm....
18:09 fdobridge: <k​arolherbst🐧🦀> they have native ssbos
18:09 fdobridge: <k​arolherbst🐧🦀> 16 slots of 32 bit address space
18:10 fdobridge: <k​arolherbst🐧🦀> no idea if the hardware does OOB checks
18:10 fdobridge: <k​arolherbst🐧🦀> but if we want to ditch codegen, we'd have to support nv50
18:10 fdobridge: <k​arolherbst🐧🦀> or we keep codegen for old hardware
18:10 fdobridge: <g​fxstrand> codegen for old hardware
18:11 fdobridge: <g​fxstrand> Throw it in amber and forget it exists
18:11 fdobridge: <k​arolherbst🐧🦀> I knew you'd say that 😛
18:11 fdobridge: <k​arolherbst🐧🦀> yeah...
18:11 fdobridge: <k​arolherbst🐧🦀> nv50 has its own driver anyway
18:11 fdobridge: <k​arolherbst🐧🦀> so that's fine
18:11 fdobridge: <g​fxstrand> Repeat after me: Life's too short to optimize nv50
18:12 fdobridge: <k​arolherbst🐧🦀> 😄
18:12 fdobridge: <k​arolherbst🐧🦀> I agree
18:12 fdobridge: <k​arolherbst🐧🦀> kepler is kinda the gen where nvidia started to become saneish
18:12 fdobridge: <k​arolherbst🐧🦀> fermi is an oddball 🙃
18:13 fdobridge: <k​arolherbst🐧🦀> however, Ben mentioned we could in theory make the dma-copy class work on fermi...
18:13 fdobridge: <g​fxstrand> https://cdn.discordapp.com/attachments/1034184951790305330/1156292383739215935/PfWJP7AAAAABJRU5ErkJggg.png?ex=651470b3&is=65131f33&hm=95bbdf66bfa3541de097f5f9f6734085462ce8b97f802818bb75a63488f3310d&
18:13 fdobridge: <k​arolherbst🐧🦀> just needs firmware from nvidia
18:13 fdobridge: <k​arolherbst🐧🦀> but fermi doesn't have reclocking, soooo.. again.. whatever
18:13 fdobridge: <!​[NVK Whacker] Echo (she) 🇱🇹> Unless 🔺 starts learning NVIDIA hardware (and tries to make Teslakan) 😅
18:14 fdobridge: <k​arolherbst🐧🦀> yo, no
18:14 fdobridge: <k​arolherbst🐧🦀> I'm sure you can't make a compliant vk 1.0 driver on tesla 😄
18:14 fdobridge: <k​arolherbst🐧🦀> maybe on the 3rd gen of tesla...
18:14 fdobridge: <g​fxstrand> You can't make a 1.3 driver on Kepler
18:14 fdobridge: <k​arolherbst🐧🦀> but uhhh
18:14 fdobridge: <k​arolherbst🐧🦀> the horrors
18:15 fdobridge: <k​arolherbst🐧🦀> because of some image stuff?
18:15 fdobridge: <g​fxstrand> No, something with atomics and caching. It can't pass the memory model tests.
18:15 fdobridge: <k​arolherbst🐧🦀> uhh.. pain
18:15 fdobridge: <g​fxstrand> And nvidia folks are very sure it's a HW thing
18:15 fdobridge: <k​arolherbst🐧🦀> yeah.. sounds about right
18:16 fdobridge: <k​arolherbst🐧🦀> kinda sad, but also...
18:16 fdobridge: <k​arolherbst🐧🦀> is vk 1.3 strictly needed for dxvk anyway?
18:17 fdobridge: <k​arolherbst🐧🦀> worst case people see some weirdo glitches, with the only alternative being not being able to game at all
18:17 fdobridge: <k​arolherbst🐧🦀> sooo...
18:17 fdobridge: <!​[NVK Whacker] Echo (she) 🇱🇹> It does use the memory model stuff I think (at least v2.0+)
18:17 fdobridge: <k​arolherbst🐧🦀> pain
18:21 karolherbst: zink intel: Pass 2417 Fails 35 Crashes 2 AMD: Pass 2285 Fails 30 Crashes 139 lvp: Pass 2286 Fails 30 Crashes 138
18:21 karolherbst: I think that's good enough :D
18:22 karolherbst: though the crash might be something silly
18:22 karolherbst: ehh
18:22 karolherbst: wrong channel
19:14 fdobridge: <d​adschoorse> it needs d3d11 behavior, so what ever kepler does for atomics is fine
19:15 fdobridge: <d​adschoorse> but really, are there even users with kepler left?
19:15 fdobridge: <k​arolherbst🐧🦀> it's the only generation we can more or less properly reclock
19:15 fdobridge: <k​arolherbst🐧🦀> and there are users using those GPUs for that reason
19:16 fdobridge: <k​arolherbst🐧🦀> if you absolutely not want to install binary drivers, kepler is kinda your only option if you want to play some games
19:16 fdobridge: <d​adschoorse> I guess then you can just add an app profile that enabled 1.3 for dxvk 🐸
19:17 fdobridge: <k​arolherbst🐧🦀> yeah.. something
19:17 fdobridge: <k​arolherbst🐧🦀> as I said, the alternative is poor performance gaming through opengl
19:18 fdobridge: <d​adschoorse> some of these gpus are getting old enough that you might have to worry about dying capacitors 🐸
19:19 fdobridge: <k​arolherbst🐧🦀> yeah...
19:19 fdobridge: <k​arolherbst🐧🦀> but we also have users of 20+ year old GPUs
19:19 fdobridge: <k​arolherbst🐧🦀> and the bugs we see are generally driver bugs 🙃
19:19 fdobridge: <!​[NVK Whacker] Echo (she) 🇱🇹> I'm getting https://wiki.archlinux.org/title/Intel_graphics#OpenGL_2.1_with_i915_driver flashbacks
19:19 fdobridge: <k​arolherbst🐧🦀> though I have some nv40 GPUs I'm convinced are dying
19:20 fdobridge: <!​[NVK Whacker] Echo (she) 🇱🇹> Are they all AGP?
19:20 fdobridge: <k​arolherbst🐧🦀> PCIe
19:20 fdobridge: <k​arolherbst🐧🦀> I don't have AGP or PCI gpus 😄
19:20 fdobridge: <k​arolherbst🐧🦀> it's kinda wild to put those old "beasts" into a system with a 12th gen intel cpu
21:07 fdobridge: <m​arysaka> ... I think I still have a Geforce 6600 somewhere, not sure if it still works tho
21:10 fdobridge: <k​arolherbst🐧🦀> should run gnome 🙃
21:11 fdobridge: <k​arolherbst🐧🦀> I have a wonky nv40 which runs gnome without issues, but crashes once you start glxgears
21:11 fdobridge: <k​arolherbst🐧🦀> and with gnome I mean like modern gnome
21:15 fdobridge: <m​arysaka> The fact it even run it is a miracle :AkkoDerp:
21:16 fdobridge: <k​arolherbst🐧🦀> hey.. we fixed a critical bug like.. 3 years ago
21:16 fdobridge: <k​arolherbst🐧🦀> it was a hilarious bug
21:17 fdobridge: <k​arolherbst🐧🦀> https://gitlab.freedesktop.org/mesa/mesa/-/commit/1387d1d41103b3120d40f93f66a7cfe00304bfd7
21:17 fdobridge: <k​arolherbst🐧🦀> okay.. 2.5 years
21:18 fdobridge: <d​adschoorse> I have a laptop with a GeForce2 card somewhere still, is that still supported?
21:18 fdobridge: <k​arolherbst🐧🦀> gnome was _broken_ without that
21:18 fdobridge: <k​arolherbst🐧🦀> like entirely and completely 😄
21:18 fdobridge: <k​arolherbst🐧🦀> it was a bunch of random vertices doing random stuff
21:18 fdobridge: <k​arolherbst🐧🦀> sure
21:18 fdobridge: <k​arolherbst🐧🦀> without GL though 😄
21:18 fdobridge: <k​arolherbst🐧🦀> but you should get kms
21:19 fdobridge: <k​arolherbst🐧🦀> though it might be broken depending on if users still use it and if they do report bugs 😄
21:20 fdobridge: <k​arolherbst🐧🦀> I know that we get some bug reports for nv40 era hardware
21:20 fdobridge: <k​arolherbst🐧🦀> maybe nv30?
21:20 fdobridge: <k​arolherbst🐧🦀> dunno
21:21 fdobridge: <d​adschoorse> I actually used it in 2017-2018 for school essays and watching yt videos with mpv
21:22 fdobridge: <k​arolherbst🐧🦀> oh wow
21:23 fdobridge: <d​adschoorse> my first computer where I used linux full time, LXDE was the only thing that could run with decent performance
23:24 pabs: from #debian-offtopic:
23:24 pabs: <tomman> related: if you wanna swap to VRAM on a noVideo card, do NOT use Nouveau (much less the blob!) - either live without a framebuffer console, or fallback to uvesafb
23:24 pabs: <tomman> if you tell Nouveau to only use, say, 8MB VRAM, Nouveau will say "oooook, but no warranties, I'm free to do what I please with the VRAM so go away" *kernel panics*
23:24 pabs: <tomman> but if you tell uvesafb to use 8MB VRAM, it will use 8MB VRAM and not a single byte outside that range!