01:08dcbaker: LaserEyess: if you're targeting 23.2 just a heads up it might take a few days before it gets pulled, but I will get to it
01:09LaserEyess: I was hoping for a 23.1 backport
01:09LaserEyess: wait, is 23.2 out?
01:10LaserEyess: no? so this should be included in that
01:10LaserEyess: oh, there's already a staging branch, I guess I don't know how mesa's release cycles work
01:19alyssa: karolherbst: wonder if we can just use https://www.khronos.org/blog/whats-new-in-clang-release-14-for-opencl-developers
01:19kisak: dcbaker: fwiw, I'm of the opinion that you don't need to fully clear your backlog before cutting -rc3. You can mark that off anywhere you feel comfortable, and it'll let the few people who do rc testing a chance to jump forward while you have more time for -rc4
01:24LaserEyess: so to clarify should I put up a backport for MR for 23.1 and 23.2?
02:52LaserEyess: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25021
02:53LaserEyess: it won't allow me to assign it to the maintainer, I think because it's my first contribution
03:03LaserEyess: and https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25022 because I didn't get an answer if I should do one or both
04:56dcbaker: LaserEyess: you should open a backport for each branch you want to have a patch applied to. There are usually two maintainers, one doing the current release and one doing the previous release. So you did the right thing
04:58dcbaker: kisak: that’s my plan. I kinda forgot that Monday is a holiday in the us (for me), so I guess we’ll have a release on Tuesday and another near the end of the week
09:09karolherbst: alyssa: we can't
09:09karolherbst: it's still lacking important features
09:09karolherbst: but anyway, I think for now clang uses the translator under the hood
09:09karolherbst: for the spirv targets
09:10karolherbst: and we can't really use it, because we have to be explicit about the extensions we support and other things
09:10karolherbst: `But there is one caveat - currently clang requires an external tool ‘llvm-spirv’ from the SPIRV-LLVM-Translator repo to be installed separately` ah yes
09:11karolherbst: but yeah.. you _can_ manually compile via clang + llvm-spirv directly and just ship that spir-v
10:02DavidHeidelberg[m]: alyssa: thanks for disabling the WHL
10:02DavidHeidelberg[m]: https://lava.collabora.dev/scheduler/device_type/dell-latitude-5400-8665U-sarien
13:17alyssa: karolherbst: ack
16:49MrCooper: zamundaaa[m]: could be that glFinish waits only for the GPU command stream to finish processing, whereas the fences signal only once all results have been written back to memory; not sure offhand whether the former would be valid or a bug though
17:25LaserEyess: dcbaker: thanks! I still can't assign the maintainers, but I suppose you are aware of it now. No worries if it takes a bit, just hoping it gets in so that I can finally use vaapi again
19:55DavidHeidelberg[m]: airlied: https://www.youtube.com/watch?v=HzzLY5TdnZo nice talk! thanks.
22:15karolherbst: alyssa: btw, there is a clc to spir-v offline compilation script in my cts runner repo, so I can run the entire CTS with SPIR-Vs instead of source code in case you want to see how one would use it
22:16alyssa: karolherbst: I mean, mesa_clc works fine for me
22:17alyssa: I'm just thinking about whether it makes sense to avoid the `native: both` mess long-term
22:17alyssa: But if the long term is actually mesa_clc generating serialized NIR so we can do a pile of lowering+opt ahead-of-time, well, ok the
22:17karolherbst: ahh, fair enough. It might make sense however to port over to the interface the CTS expects and then we can also use it for CTS runs and ahead-of-time compilations more generally
22:17karolherbst: there are some people interested in having a tool to precompiled OpenCL C
22:17karolherbst: *precompile
22:18alyssa: I don't want to be in the business of supplying a generic tool
22:18alyssa: and more importantly I don't want Mesa to have that support burden
22:18karolherbst: me neither, but if we decide to have such a tool, we might as well make it compatible for such use cases
22:18alyssa: no, I disagree
22:18alyssa: this is purely for internal use. if later we decide to change how the pipeline looks (doing some NIR in there or whatever), we should be able to do so without regard for external suers
22:18karolherbst: yeah, that's fair
22:18alyssa: I explicitly don't want out-of-tree users
22:19alyssa: especially when there are projetcs better suited for that (namely, clang itself)
22:20karolherbst: right, but the point of suchs tools is more like shipping the native binary blobs, which I absolutely don't want to support, but I also kinda see the point of having 0 compilation overhead at runtime... it's just that nothing we care about would want to use that. It's more in the HPC space
22:21karolherbst: but yeah.. I wished the CTS itself would ship that tool.. I should pring people again or just upstream my script
22:23karolherbst: I'm still wondering if stopping at the spir-v with binary blobs will be a problem as CL has an API to fetch compiled blobs and some applications make heavy use of it. I hope we won't be forced (out of performance reasons) to ship native GPU binaries ever...
22:23alyssa: right. I recognize that we have differing priorities here probably
22:24alyssa: you're interested in shipping CL, i'm interested in mesa internally using a subset of CL C for graphics stuff
22:24karolherbst: yeah.. I just want that mesa provides some compute API so distributions/users/devs can rely on it being there and to crazi things, not really caring about HPC or any of that "let's ship native binaries" nonsense
22:24alyssa: yeah
22:25alyssa: for my side, the fact that CL is involved is an implementation detail
22:25alyssa: what I actually want is just "get a nir_shader for some C code"
22:25alyssa: not even necessarily invoked as a compute kernel, possibly just a single function that gets inlined into a frag shader by a nir lowering pass
22:25karolherbst: yeah, that's fair. I just won't be surprised if in the far future we'll end up doing more with such a tool. Or maybe we won't.
22:26karolherbst: yeah..
22:26alyssa: sure, and we can discuss those possibilities in the future
22:26karolherbst: so... some people are working on emiting vulkan spir-v btw
22:26alyssa: it just.. might involve a second tool, perhaps, and that's finetoo
22:26karolherbst: from OpenCL C
22:26alyssa: the spirv is also an implementation detail, that's also what I'm getting at
22:26karolherbst: not sure if it's going anywhere, but the translator kinda has a bit of support for it
22:27alyssa: the API i'm exposing is "files in Mesa in, nir_shader* out", and whatever's happening in the middle should be irrelevant to everyone else
22:28karolherbst: oh sure, I'm just thinking out loud here mostly
22:28alyssa: that's internally passing through opencl spir-v but again that's an internal impl detail even from the perspective of the GL & VK Mesa drivers that will consume the final nir_shader,
22:28alyssa: sure
22:28alyssa: what I'm getting at is "I like your project and I hope you like my project but they're very different projects and trying to share code other than src/compiler/ is probably not what either of us want at this stage"
22:28alyssa: if that makes sense?
22:29alyssa: IDK. I could be totally wrong here. It happens a lot :D
22:30karolherbst: nah, that's perfectly fine. and you are not wrong. I was mostly just rambling and sharing some of my internal toughts around all this binary mess I'm ignoring for now
22:30alyssa: ah, yeah
22:31alyssa: TBH the VK_EXT_shader_object model is probably saner than a standalone Mesa compiler.
22:33lumag: jani, excuse me. I'm trying to understand if the CI failure is a result of the patchset or not: https://patchwork.freedesktop.org/series/120395/
22:33karolherbst: yeah.. probably. Depends a little on what you want to do I guess?
23:00DemiMarie: Will the Xe driver have less kernel-side attack surface once it is ready?
23:01airlied: what is a kernel side attack surface and how to you have less of it?
23:02airlied: like if you can't answer that sort of question, it's unlikely anyone else can, your threat model is not my threat model etc
23:03karolherbst: I think there is a disconnect with those kinda discussions. I understand why one would like to esstimate "security" from a theoretical point of view, _but_ sadly that's just some academic approach and irrelevant to reality and users. What matters is, how many bugs are known and how quickly do they get fixed.
23:03karolherbst: and that bugfixes (not security fixes) get backported in time
23:04karolherbst: we can have academical discussion on how secury something is in theory, but that's really a pointless discussion if you want to know about actual security
23:04karolherbst: and actual security you only know about finding bugs and writing exploits to get them fixed quickly
23:13DemiMarie: There is also the question of “how likely is somebody to be able to find and exploit a 0day for this”.
23:13DemiMarie: That happens quite a bit in browsers for example.
23:13karolherbst: sure, but if you want to know that, you pay sec people to do an audit
23:13karolherbst: normally
23:14karolherbst: maybe intel does audits themselves, maybe they don't
23:14DemiMarie: yeah
23:14karolherbst: but it's really hard for random kernel developers to anwer general statements about code security, because I suspect most of the kernel devs don't actually know enough about security to actually give reliable statements here
23:15DemiMarie: you are probably right, which is sad
23:15DemiMarie: maybe my expectations were too high
23:15karolherbst: well.. nobody gets taught about programing security :P
23:15DemiMarie: I blame the schools for that.
23:15karolherbst: same
23:16DemiMarie: When I was in university, I was taught that one can always assume one’s inputs to be valid, which is a great way to learn to write extremely vulnerable code.
23:16airlied: in the old internet, everyone was nice, I blame the new internet :-P
23:17karolherbst: I thought that's the reason to valide html forms in javascript :P
23:18DemiMarie: On the one side, I have users someone might be willing to burn a 0day on. On the other side, I have toolkit authors who have decided that ordinary applications being nearly unusable without GPU acceleration isn’t a bug.
23:19karolherbst: yeah....
23:19DemiMarie: And if I can’t figure out what the risks of GPU acceleration are, then my userbase has no hope of doing so.
23:20karolherbst: though if a toolkit is unusably slow with software rendering, that's kinda... uhm.. weird
23:20karolherbst: and somebody should probably optimize the toolkit instead
23:20DemiMarie: For me gnome-text-editor used 80% CPU scrolling quickly on a certain text file
23:20DemiMarie: That toolkit is GTK4 btw
23:21karolherbst: yeah... smooth scaling might do that if software rendered...
23:21karolherbst: ehh
23:21karolherbst: smooth scrolling
23:21DemiMarie: smooth scrolling?
23:21karolherbst: like instead of scrolling row by row, it's all smothed out
23:22karolherbst: dunno.. maybe they listen more if you show it's also slow on "usual" intel GPUs?
23:22DemiMarie: are some of those pretty slow?
23:22karolherbst: I know that intel can't keep up on a 4k display
23:23karolherbst: on gnome that is. And that problem kinda isn't prioritized enough, so it's all suboptimal
23:23DemiMarie: which Intel?
23:23karolherbst: 10th gen or something
23:23DemiMarie: do they only care about fancy dGPUs?
23:24karolherbst: I have no idea
23:24karolherbst: they problably just don't run on 4k
23:25karolherbst: anyway, I suspect people will stop caring about sw rendering, because that's kinda a maintainance burdon, what however can do is to show that it's slow on normal users machines
23:25karolherbst: if it's not, then I guess that strategy won't work
23:25karolherbst: but from my experience, there are a few performance issues in gnome
23:25DemiMarie: airlied: to a crude approximation, “kernel side attack surface” would be the various uAPI ioctls
23:26DemiMarie: I’m scared people will also stop caring about old slow iGPUs
23:26DemiMarie: and then I am really in a bad spot
23:27karolherbst: maybe desktop environments should set them some goals and say "it should run smoothly on GPUs from the last 10 years" or something :D
23:28karolherbst: and then it's all more transparent or something
23:30kchibisov: karolherbst: isn't smooth scrolling is usually done by allocating larger canvas/texture and just moving viewport?
23:30karolherbst: maybe?
23:30kchibisov: So I'd guess with 4k they just have pretty large things in memory.
23:30kchibisov: but gtk stuff is really slow when there's no hwaccel, like gnome-terminal is unusable on Wayland basically.
23:37DemiMarie: kchibisov: I wonder if they are tripping over a bug in llvmpipe or just doing something really really unoptimized.
23:37kchibisov: They use cairo.
23:37kchibisov: no llvmpipe.
23:37kchibisov: ¯\_(ツ)_/¯
23:38karolherbst: would llvmpipe be faster though? :D
23:38kchibisov: alacritty with llvmpipe is faster iirc.
23:38DemiMarie: karolherbst: thanks for at least being willing to talk to me about this stuff, even when you don’t have an answer.
23:38kchibisov: I mean, faster than gnome terminal.
23:38DemiMarie: kchibisov: GTK3 used Cairo for everything. GTK4 uses OpenGL by default. One can switch to Cairo (`GSK_RENDERER=cairo`) but it breaks certain apps and is deprecated.
23:39kchibisov: DemiMarie: maybe, we just explicitly benchmarked all of those apps recently, and they were sort of slow.
23:39DemiMarie: kchibisov: those = GTK apps with no HW accel?
23:40kchibisov: DemiMarie: we were benchmarking input latency though, but some benchmarks showed that frame rate was not that great.
23:40DemiMarie: kchibisov: did KDE do better?
23:41alyssa: llvmpipe's shiny new linear renderer probably helps :)
23:41DemiMarie: alyssa: wait what??? please tell!
23:42kchibisov: DemiMarie: https://mastodon.online/@YaLTeR/110818542557525729 . We haven't bothered to benchmark kde, because only some kde apps.
23:43kchibisov: But as I said, we were measuring latency, not fps, it was just observable with some payloads that certain things struggle.
23:49DemiMarie: Makes sense.
23:51alyssa: DemiMarie: Apparently it was merged 2 years ago, maybe not so shiny anymore?
23:51alyssa: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11969
23:51alyssa: oh https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24102 is maybe why it's fresh in my mind
23:52DemiMarie: alyssa: why the hack specifically for gnome-shell and mutter?
23:53kchibisov: DemiMarie: if you look at PR, it seems like you can configure it.
23:54DemiMarie: kchibisov: that part doesn’t surprise me, what does surprise me is turning it on for gnome-shell and mutter specifically
23:54kchibisov: Well, it could be just what was tested.
23:54DemiMarie: Probably