02:17 fdobridge: <g​fxstrand> HdkR: It's pretty straightforward, honestly. There's a few oddities around per-vertex I/O in general but once you know how GS is supposed to work, it wasn't too bad.
02:34 HdkR: gfxstrand: Something slightly better than a glorified compute shader writing to memory that needs to be allocated prior? :D
02:41 fdobridge: <g​fxstrand> Oh, yeah, it's all 100% automatic.
02:41 HdkR: Which is so good
02:42 HdkR: Downside, you have no visibility in to the throughput of the hardware. Upside, you have visibility that it isn't garbage due to writing to memory constantly
02:43 HdkR: and the whole...how much to allocate problem
02:48 fdobridge: <g​fxstrand> Well, and it isn't really allocating... It is but it's a streaming allocation. It's not static in any sense.
02:49 HdkR: Yea, allocating is a concern on the hardware that implements GS as a glorified compute shader
02:50 HdkR: Like AGX and...Mali?
02:51 fdobridge: <g​fxstrand> Yeah, but when you have a hardware GPU scheduler and fast streaming space, everything goes way faster and easier.
02:51 fdobridge: <g​fxstrand> But, yeah, AGX and Mali do GS on hard mode.
02:52 HdkR: Such a nice way for NVIDIA to implement it
02:57 HdkR: Also helps that NVIDIA way overspeced their vertex processing so it never really is a bottleneck. Still shipping that half-rate vertex processing compared to Quadro even :D
03:01 fdobridge: <g​fxstrand> Intel and AMD are similar, though AMD is more work because of their weird combined shader thing.
03:02 HdkR: The AMD NGG thing is neat
06:25 fdobridge: <_​maide> Oh, not sure how I didn't see that before, thanks.
07:14 fdobridge: <!​[NVK Whacker] Echo (she) 🇱🇹> Could NVK work on BSDs (like FreeBSD)? How would the new uAPI be implemented there? 😈
08:27 fdobridge: <k​arolherbst🐧🦀> by copying the code
08:28 fdobridge: <!​[NVK Whacker] Echo (she) 🇱🇹> VM_BIND might be a problem though
09:14 fdobridge: <k​arolherbst🐧🦀> yeah, but they don't have a choice
09:43 fdobridge: <a​irlied> Has any bsd ported nouveau? They normally seem fine with proprietary driver
09:45 fdobridge: <k​arolherbst🐧🦀> depends on the BSD
09:46 fdobridge: <k​arolherbst🐧🦀> I think?
09:47 fdobridge: <k​arolherbst🐧🦀> but occasionally there is this (always changing) BSD developer who informs us of their plans to write a driver from scratch, so uhhh.. it's complicated
10:54 uis: What should be used(GEM or TTM) for GPU, that can only work with textures in VRAM?
14:58 fdobridge: <g​fxstrand> uis: TTM is just a bunch of helpers for implementing GEM that also takes care of a bunch of discreet memory problems for you.
15:01 fdobridge: <g​fxstrand> NVK may change that. We'll see.
15:01 fdobridge: <g​fxstrand> Not that I'm looking forward to having BSD bug reports...
15:02 fdobridge: <g​fxstrand> At least they're mostly on clang now.
15:04 fdobridge: <g​fxstrand> It's gonna be interesting to see who all complains when we have a hard Rust dependency... 🦀
17:55 fdobridge: <k​arolherbst🐧🦀> I think they don't complain about rust in general, just if we bump the version req too often and too quickly 😄
17:55 fdobridge: <k​arolherbst🐧🦀> uhm.. too high
19:19 uis: I do. Or at least I complain about insanely huge compiler.
19:53 karolherbst: well.. every compiler becomes big over time, the more performance and features they have, so that's not an argument
22:52 fdobridge: <c​onan_kudo> as long as I don't have to deal with it, I don't care
22:53 fdobridge: <c​onan_kudo> you want to write it all in rust, have fun 🙂
22:57 fdobridge: <c​onan_kudo> my problems with rust come down to three things:
22:57 fdobridge: <c​onan_kudo>
22:57 fdobridge: <c​onan_kudo> * the community attitude toward people like me (distro folks)
22:57 fdobridge: <c​onan_kudo> * compiler over specification (no gcc-rs yet)
22:57 fdobridge: <c​onan_kudo> * projects that use rust nightly/unstable features
23:08 fdobridge: <k​arolherbst🐧🦀> yeah... 1 is a real problem. 2 is just one in theory I don't think having gcc-rs will give us any benefits, rather the contrary: more pain for projects using rust, as there will be those "but it doesn't compile with gcc-rs" GNU dudes. Maybe they won't show up every time you rely on something rustc implements, but not gcc-rs, maybe they will, but I'm very skeptical so far. 3. is something mesa absolutely shouldn't do anyway.