01:53 Fya: If I may be some bold to make a joke; https://files.catbox.moe/esvuyu.png But in all seriousness, is there something wrong with ANV's acceleration structures?
01:54 Fya: s/some bold/bold enough
02:07 HdkR: That's some good stuff right there.
09:13 Ermine: are there libdrm env variables for debug output?
09:15 tzimmermann: sima, thanks again for dealing with that regression on Fri. what's the current status? AFAICS the reverts didn't make it, but the original fix went into upstream
09:43 pq: Ermine, 'git grep -p getenv' says LIBGL_DEBUG=verbose might do something.
10:05 karolherbst: Anybody want to review my basic Initializer support for CrossWorkgroup Variables MR? https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24515/diffs
10:55 sima: tzimmermann, yeah see my reply to linus' mails on dri-devel, I figured not rushing the reverts is the prudent choice
10:55 sima: plus turned out it was an epoll regression which was responsible for the delays
10:55 sima: tzimmermann, I do think switching back to ->import_attach.dmabuf is prudent, I'll type up a mail with justification for that
10:55 tzimmermann: sima, but the patches are still supposed to be reverted?
10:56 sima: and also what I think the options for the handle_count patches are
10:56 pinchartl: sima: it was nice reading Linus apologizing. that feels good
10:56 tzimmermann: ah, i see
10:56 tzimmermann: :D
10:57 sima: tzimmermann, yeah since it was pretty clear that your fix was good enough for now for linus and his regressions something else, I didn't want to rush anything
10:57 sima: given our track record at not understanding this part of the code base
10:57 tzimmermann: makes sense
10:57 sima: gives us another week at scratching our heads :-)
10:58 tzimmermann: i think we should already revert the patches outside of drm-misc (amd + tegra IIRC). otherwise things will get chaotic in he next release cycle
10:59 tzimmermann: with the most recent fix in place, we can also undo the import_attach->dmabuf changes without touching the framebuffer-handle changes
11:00 tzimmermann: so that problem with handles would remain fixed for now (until we have a better solution there)
11:01 sima: yeah that's what I'm leaning towards, too
11:01 sima: at least for v6.16
11:14 Ermine: pq: didn't help, but thank you nonetheless
11:15 Ermine: is ARM_AFBC a modifier?
11:17 Ermine: drm_info groups plane's IN_FORMATS, and several groups are labelled by "ARM_AFBC(...)"
12:48 sima: tzimmermann, typed some text with my thoughts
12:48 tzimmermann: thanks
12:49 sima: maybe one thing to add that I forgot: I wouldn't rush the handle_count reverts into 6.16, even if you decide to go with them
12:50 sima: this is all a bit too scary stuff
12:54 pq: Ermine, AFBC is a set of modifiers, yes.
15:39 robclark: karolherbst: is this even legal (ie. local size 0x0x64):
15:39 robclark: https://www.irccloud.com/pastebin/bNEEdZly/
15:39 robclark: (rusticl doesn't seem to throw an error.. but the grid seems to get dropped)
15:41 karolherbst: well.. I don't think it's illegal, but I think it's legal that it runs 0 threads
15:41 karolherbst: "The total number of work-items in a work-group is computed as local_work_size[0] × …​ × local_work_size[work_dim - 1]"
15:42 karolherbst: well..
15:42 karolherbst: maybe undefined if you go by this: "Otherwise, when non-uniform work-groups are not supported, the size of each work-group must be uniform. If local_work_size is specified, the values specified in global_work_size[0], …​, global_work_size[work_dim - 1] must be evenly divisible by the corresponding values specified in local_work_size[0], …​,
15:42 karolherbst: local_work_size[work_dim - 1]. If local_work_size is NULL, the OpenCL runtime must choose a uniform work-group size."
15:43 karolherbst: that _should_ run in a division by 0 thing...
15:44 robclark: ok.. so UB
15:45 karolherbst: rusticl seems to try to make it work regardless
15:45 karolherbst: but... I'm sure it might ask for nonsense values
15:45 karolherbst: let me see what intel would be doing...
15:46 karolherbst: it runs..
15:46 karolherbst: ehh wait
15:46 karolherbst: I messed up
15:47 karolherbst: intel fails to launch :)
15:48 karolherbst: mhh
15:48 karolherbst: rusticl seems to throw an error for me...
15:48 karolherbst: robclark: is it 0x0x64 or 64x0x0?
15:48 karolherbst: and what's the dimension?
15:49 robclark: no, it really is 0x0x64
15:49 karolherbst: like if work_dim == 1 then this is perfectly legal
15:49 karolherbst: probably
15:49 karolherbst: depending if [0] or [2] being 64
15:49 robclark: somehow clintercept isn't printing workdim
15:50 karolherbst: rusticl does pipe work_dim through to the driver
15:50 karolherbst: so it should show up in pipe_grid_info
15:50 robclark: correct.. just not logged here
15:50 karolherbst: so maybe your driver just sees 0 and launches 0 threads
15:51 robclark: anyways, I can debug more, I just wanted to see what the correct/expected behavior is
15:51 karolherbst: and should sanitize the values to 1? could also make it the frontends responsibility
15:51 karolherbst: could also hard code 3 and make it's the frontends problem
15:51 robclark: from looking at cmdstream trace, I think the grid gets dropped
15:51 karolherbst: yeah.. but can you configure a 1 dimensional grid?
15:51 karolherbst: or do you assume it's always 3D
15:52 robclark: yup, we pass workdim down to the hw
15:52 karolherbst: ahh..
15:52 robclark: (gl and zink always assume 3d due to api limitations)
15:52 karolherbst: does it work forcing 3D and replacing 0s with 1s?
15:52 karolherbst: probably I guess..
15:53 robclark: I don't _think_ it is getting as far as gallium but maybe I'm lining up the CP_EXEC_CS in cmdstream incorrectly
15:54 karolherbst: mhh
15:54 karolherbst: well launching a 8, 0, 0 with dim 1 seems to work on iris
15:55 karolherbst: GALLIUM_TRACE=/dev/stdout
15:55 karolherbst: I think I've fixed it enough that it shouldn't crash anymore
15:56 karolherbst: impossible to read but: <arg name='info'><struct name='pipe_grid_info'><member name='variable_shared_mem'><uint>0</uint></member><member name='block'><array><elem><uint>8</uint></elem><elem><uint>1</uint></elem><elem><uint>1</uint></elem></array></member><member
15:56 karolherbst: name='grid'><array><elem><uint>16</uint></elem><elem><uint>1</uint></elem><elem><uint>1</uint></elem></array></member><member name='indirect'><null/></member><member name='indirect_offset'><uint>0</uint></member><member
15:56 karolherbst: name='globals'><array><elem><ptr>0x02b13750</ptr></elem><elem><ptr>0x02b13cb0</ptr></elem><elem><ptr>0x02b0b390</ptr></elem><elem><ptr>0x02b13990</ptr></elem></array></member></struct></arg>
15:58 karolherbst: maybe rusticl should sanitize those 0s with 1s, maybe we should just stop pretending it's a thing on hardware 🙃
15:58 karolherbst: like dunno
15:59 robclark: I mean, this could be an app bug.. not sure why on a x1-85 I get sane(ish) looking 1x1x64 but on this smaller thing I get 0x0x64 ;-)
16:01 karolherbst: mhhh
16:01 karolherbst: I see
16:01 karolherbst: maybe some math going wrong
16:02 karolherbst: I've hit CTS bugs where the math was broken and it sent nonsense values because it couldn't cope with limits being too high/low
16:05 robclark: so I see in the driver the launch_grid before and after the "bogus" one, but the "bogus" on is skipped.. adding some assert!()
16:05 karolherbst: but maybe rusticl should also error when it hits a 0, just not sure it's _explicitly_ stated that it's an error
16:05 karolherbst: mhhh
16:07 robclark:wonders why rust assert!() generates 96 levels of assert related stack frames :-P
16:07 karolherbst: :D
16:08 karolherbst: it uhm.. shouldn't, but sometimes...
16:08 robclark: fwiw:
16:08 robclark: https://www.irccloud.com/pastebin/dE3uKERN/
16:08 robclark: work_dim=3
16:09 karolherbst: fun
16:09 karolherbst: anyway, brb
16:09 karolherbst: well might take a while actually
16:09 robclark: np, I can debug more.. I was just wanted to get your spec opinion on what should happen ;-)
16:10 robclark: https://www.irccloud.com/pastebin/BiGBWRaX/
16:14 robclark: yup, we are hitting that case.. so at least that mystery is solved
16:37 xeyler: does anyone happen to know if Neil Armstrong has been on vacation? i sent out a patch which will likely make its way upstream through him
16:41 gfxstrand: mareko, ajax: Does one of you know what's up with setBackgroundContext? It's looking like maybe it's only releveant for DRI2 and since we burned that, maybe we can burn this, too?
16:46 MrCooper: gfxstrand: doubtful, since it's used in src/glx/dri3_glx.c
16:51 alyssa: xeyler: last I heard he was somewhere in space
16:53 vsyrjala: agd5f: hwentlan_: can i get some acks for merging the amd parts of https://patchwork.freedesktop.org/series/147541/ via drm-misc?
17:01 karolherbst: robclark: ohh.. I couldn't find that part :) thanks for finding it
17:01 karolherbst: robclark: though I think that's only valid for the _global_ size
17:02 robclark: oh, well global size also had zero's
17:02 robclark: anyways, fixed it.. https://github.com/robclark/tensorflow/commit/2613dd1b638b7272b1c764e54909fbb019712060
17:03 karolherbst: hah
17:04 robclark: 32/64 => 0
17:04 karolherbst: ahh.. yeah...
17:04 karolherbst: classic
17:05 karolherbst: but I like that rusticl is at the state that most issues are actually application side bugs 🙃
17:06 robclark: running tflite on a _tiny_ gpu exposes a lot of bad assumptions ;-)
17:06 karolherbst: heh
17:06 robclark: I guess no one ever tried running tensorflow on a watch before :-P
17:06 karolherbst: :D
17:08 xeyler: alyssa: got it. thanks.
17:17 alyssa: xeyler: (I'm just being silly)
17:25 gfxstrand: MrCooper: I see that. But I can't figure out what it actually does.
18:52 xeyler: alyssa: oh.
18:53 xeyler: well if that means he’s _not_ somewhere in space, does that mean the kernel needs a new maintainer for drm/panels? i wonder who i should forward this patch to..
19:41 mareko: tarceri: FYI, I'm going to merge this soon: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36091
19:43 mareko: gfxstrand: good question, it sets ctx as the current context in the consumer thread of glthread
19:43 gfxstrand: Yes but what does that actually do?
19:44 gfxstrand: Does the threaded context stuff call back into EGL/GLX?
19:44 gfxstrand: I guess maybe for things like binding drawables to textures?
19:45 gfxstrand: I guess I could delete it and see what explodes
19:45 mareko: that's also a good approach
19:47 mareko: it allso st/mesa and st/dri to call glX/EGL in the consumer thread, though I hope that never happens
19:47 mareko: *allows
19:47 gfxstrand: Yeah, that's what I was thinking
19:47 gfxstrand: I could kind of see it for DRI2 but not DRI3
19:47 gfxstrand: And it's only ever used for X11 and not Wayland so I'm having trouble coming up with use cases
19:48 mareko: if st/dri calls back into GLX/EGL via callbacks, those callbacks could have beeen implemented by getting the current context from TLS instead of from parameters
19:49 zmike: I deleted a lot of those callbacks
19:55 mareko: fun idea: glX implemented on top of libEGL
19:55 Sachiel: strange concept of fun
19:56 mareko: it could be more fun than zink on lavapipe on softpipe
20:06 mareko: karolherbst: maybe you know how to fix the rust compile failure here: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36094/diffs?commit_id=37c365e9662b5075a8b8511e916f8cbf0218d26e#64fdb9722099fe40b33c373a81dc89ae5e7b4797
20:11 alyssa: mareko: can we get a virtual machine boundary in there somewhere to make it extra fun? :P
20:13 karolherbst: mareko: "self.screen().nir_options[shader as usize]"
20:14 karolherbst: just need to explicitly cast
20:18 mareko: glX -> EGL -> zink -> venus -> glX -> EGL -> zink -> lavapipe -> softpipe
20:19 mareko: zmike: ^^ your next new CI job
20:20 karolherbst: if you run that on xwayland, do you get an EGL -> glX in front?
20:21 mareko: that's just X I think
20:21 karolherbst: mhhh could be
20:22 karolherbst: so it's wayland -> glX
20:22 karolherbst: no idea honestly
20:25 karolherbst: mareko: ohh and also drop the unsafe around that, it's not needed anymore after your change
20:33 zmike: mareko: surely d3d12 in there somehow with dozen
20:35 alyssa: take 1 down, pass it around, 98 layers of graphics on the stack
21:26 gfxstrand: Every day you can delete something from dri_interface.h is a good day. :D
21:27 alyssa: =D
21:27 gfxstrand: I'm going to run ALL OF CI on this, though. :joy:
21:30 gfxstrand: Ugh... This might not work...
21:31 gfxstrand: I might need to do actual work.
21:35 gfxstrand: Actually, it might be okay. None of this should come from the thread
21:38 gfxstrand: Okay, I'm gonna walk home while that CIs
22:29 karolherbst: eric_engestrom: you want to branch mesa tomorrow?