03:48Company: and this is why GLSL is shit
03:48Company:just learned the concept of a "dynamically uniform expression"
03:49Company: and nothing anywhere ever even hinted that it exists
03:53Company:goes sprinkling nonuniformEXT into his glsl hoping to catch all the places where it's needed
08:41MrCooper: doras sima: re https://github.com/flathub/org.chromium.Chromium/pull/309#issuecomment-1674732328 note that a different file descriptor can still be problematic, if it references the same file description
12:19penguin42: karolherbst: Can you remind me where your repo with that updated vectorise patch was?
12:20karolherbst: https://gitlab.freedesktop.org/karolherbst/mesa/-/tree/si/vectorize
12:21penguin42: karolherbst: Excellent; I'm going to try and get back to using the profiling I added to see where we're upto on my original test
12:22karolherbst: cool
12:23penguin42: ...after I recurse into getting myself a newer meson
12:24karolherbst: just use pip or git clone it
12:27sima: MrCooper, yeah I never know what's the right word that means "separate struct file in the kernel" :-/
12:28sima: that's why I clarified with open() (but I guess should have mentioned that a dup() is not enough)
12:28MrCooper: that's the file description, a file descriptor is essentially just a reference-counting identifier for a file description
12:41koike: robclark hi o/ , I would like to check with you if you intent to pick the drm ci patch and do a pull request from drm-msm or if we should go with another workflow to get it merged
12:51doras: MrCooper: can you clarify the relationship between file descriptor and file description in this context?
12:52doras: Oh, you commented on it.
12:52emersion: file descriptor = number for a process
12:52emersion: file description = ref'counted kernel struct
12:52emersion: file descriptors 42 and 43 can point to the same file description
12:52MrCooper: doras: a file descriptor is essentially just a number to identify a file description; open() creates a new file description and returns a descriptor referencing it, dup() and friends create a new descriptor referencing the same description
12:54doras: MrCooper, emersion: thanks.
12:56doras: I agree that use of dup() or similar on the file descriptor would result in bad things, but I think (or rather hope) that Chromium's use of the handle/fd from GBM doesn't violate this.
12:57doras: And as such, the solution implemented in nouveau is appropriate.
12:57doras: Please let me know if you think I may be mistaken, I am not experienced in these areas.
12:58MrCooper: descriptor/description thing mainly matters for DRM file descriptors (because GEM handles have a per-DRM-file-description namespace), not for dma-buf file descriptors
13:42robclark: koike: send a MR pls.. that way I can merge it as well to run CI for msm-next
15:06DavidHeidelberg[m]: anholt: you're the final reviewer, can you glaze eye and say if you like or dislike? https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24646
15:18koike: robclark you mean, MR for gitlab ?
15:51robclark: koike: no, sorry, meant pull request
15:51robclark: I assume it should land via drm-misc
17:42karolherbst: I need that global var relocation stuff :') what a pain
18:03alyssa:trying to figure out how to properly express this loop in NIR:
18:03alyssa: for (int i = 0; i < 10; ++i) {
18:03alyssa: foo(x + i, y + i)
18:03alyssa: }
18:04alyssa: where x and y are loop-constant but not known at compile-time
18:04alyssa: I would like to reexpress as
18:04alyssa: int diff = y - x;
18:04alyssa: for (int i = x; i < (x + 10); ++i) {
18:04alyssa: foo(i, diff + i)
18:04alyssa: }
18:04alyssa: saving the add inside the loop
18:04alyssa: but when I do that, the loop fails to unroll
18:14karolherbst: alyssa: did you check where find_trip_count bails on the trip count known thing?
18:16karolherbst: I suspect you have to improve try_find_limit_of_alu a bit
18:16alyssa: I didn't but ended up just special casing constant trip count entirely since I can do fun vector stuff that vectorize_load_store doesn't seem able to handle (?)
18:17karolherbst: heh
18:17karolherbst: but yeah, it kinda looks like that loop_analyze can't look behind code like that
18:18karolherbst: so there might be some optimization opportunities there even
18:54gfxstrand: jenatali: You around?
18:55jenatali: I'm on parental leave, so, not really. What's up?
18:59jenatali: gfxstrand: ?
18:59gfxstrand: Oh, there's a DXIL patch in !24668 which, IMO, leaves a bit of a mess but it probably needs someone who knows the DXIL stuff to clean it up.
18:59gfxstrand: It's fine as-is, it just leaves you with a couple weirdly similarly named helpers.
18:59gfxstrand: It can probably be cleaned up later
19:00gfxstrand: jenatali: ^^
19:01jenatali: Yeah, feel free to @ me in a comment on it, or file an issue, I can clean it up when I get back since it's not urgent
19:03gfxstrand: Okay, I'll file a quick issue.
19:06gfxstrand: jenatali: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9566
19:06jenatali: 👍
19:43airlied: konstantin: you got XPass by zink-lvp
19:48zmike: I updated and marged again for him
21:53alyssa: nir_opt_cse is misbehaving wtf
21:53alyssa: how is it CSE'ing from a block that never executes this is not ok
21:54alyssa: Ooooooooooh
21:54alyssa: ok I deserved that
22:10zmike: ok, let it be said that while all this nir refactoring is cool the pacing of constantly landing MRs which cause every other compiler-related patch to conflict needs more thought
22:13alyssa: zmike: we're almost done https://gitlab.freedesktop.org/mesa/mesa/-/issues/9396
22:14zmike: okay, so then how about take the rest of the week off so people can actually land stuff
22:15airlied: https://imgflip.com/i/7vrigb for zmike
22:15zmike: every week is a bad week for it
22:15zmike: eating fresh chocolate chip cookies to temper the 🤕
22:18alyssa: for the record I am currently debugging regressions from 76725452239 ("gallium: move vertex stride to CSO") so.. nobody is innocent \shrug/
22:18koike: robclark PR sent
22:18robclark: ok, thx
22:25gfxstrand:is rebasing NAK. It's "fun"...
22:26gfxstrand: Not every commit conflicts...
22:26alyssa: gfxstrand: :crab_dancing:
22:27alyssa: (FWIW -- https://gitlab.freedesktop.org/asahi/mesa/-/commit/8ec4b6a58c02469116fa2721d6cce2ac7c3ef076 )
22:27gfxstrand: It's not like the branch is 200 patches or anything
22:28alyssa: >:D
22:43gfxstrand: zmike: We probably should rename nir_src::ssa to nir_src::def but that's the last one.
22:43gfxstrand: Or at least the last one with this level of impact
22:44gfxstrand: zmike: The pacing was "try to do it all over the week-end so we conflict with people as little as possible".
22:44gfxstrand: Since I don't like working 40h week-ends, it leaked into Monday a bit.
22:46zmike: the pacing I'm referring to is how all these were landed with no lead-up, communication, or timetable so people could try to avoid being conflicted or even know when it would happen / how long it would last
22:48gfxstrand: Yeah, I thought about sending a mail with like 2 weeks notice and trying to declare a NIR flag week.
22:49gfxstrand: But that would have just caused people to freak and try to shove stuff as fast as they could and a half-dozen people would have asked for extensions and....
22:49zmike: even sending something last week saying everyone would be conflicted over the weekend would've been something
22:49gfxstrand: As for how long it would take: There's no way to know that until you try to do it at which point you've got a commit that touches 300 files that you really don't want to re-do and everything conflicts with it.
22:50gfxstrand: Yeah, sending an e-mail might have been good
22:54jenatali: Apparently I picked a good time to be on vacation
23:04emonmeena: Hey Amazing Community! 🚀 I'm Emon Meena, proud IIT Roorkee alum and currently making waves as an A.I. engineer at IHC in the dazzling city of Dubai. Remember GSoC'21? Yep, I had the honor of being a fellow developer with Scorelab. Here's the BIG news: Along with a team of brilliant minds as passionate about tech as you are, we're forging a groundbreaking developer platform powered by ChatGPT. 🛠️✨ Curiosity piqued? T
23:07gfxstrand: How many of those minds are just ChatGPT? (-:
23:07HdkR: I like that IRC has message size limits so the spam couldn't quite make it through
23:08Company: https://www.instagram.com/emon_meena/
23:11Company: question: GL 4.6 has SPIRV support - can I share spirv between Vulkan and GL or do they need different ones?
23:11gfxstrand: They have to be a bit different. Descriptor binding isn't quite the same.
23:12Company: so it's not really worth it to do SPIRV on GL yet I guess
23:12gfxstrand: IDK. IDK how people work around that
23:13Company: is it worth doing spirv if I also have to support regular text GLSL?
23:13Company: does it produce better code? faster startup? something like that?
23:13gfxstrand: Really, SPIR-V for GL is really only useful if it lets you use HLSL
23:13gfxstrand: That's the big feature
23:14zmike: that and not having to go through mesa's painfully slow non-rust-based glsl compiler
23:14HdkR: rusty before rust was a thing
23:15zmike: have to imagine it'd be at least 6-8x faster in rust
23:15airlied: we could have a slow rust-based glsl compiler instead? :-)
23:15zmike: nah pretty sure just being rust would make it faster
23:15Company: you could do an llvm target that produces GLSL
23:15karolherbst: pls stop
23:16zmike: exactly
23:16zmike: stop writing non-rust glsl compilers
23:16Company: how does Unity do this?
23:16Company: they use HLSL, and they need to support GLSL
23:17Company: do they feed spirv-cross output to Mesa?
23:17gfxstrand: I'm not sure about Unity. Unreal embeds an entire copy of the Mesa compiler stack circa 2015. (They may have updated it. I don't know.)
23:17karolherbst: oof
23:18zmike: I can't even meme about that
23:18Company: now I wonder what GL versions UE5 and Unity even require
23:18airlied: we should just write a hlsl frontend in rust
23:19airlied:goes to review zmike so he can screw up the nir refactors
23:19HdkR: GL_EXT_HLSL
23:20Company: HdkR: as long as it works on GLES2, everyone will be happy!
23:31Company: I've been googling for 10 minutes and I still have no idea what GL version UE5 needs
23:32Company: only that the newest features require Vulkan or DX12