08:32ity: Hi, is there some uAPI for forcing the modesetting of an output ?
09:14MrCooper: sima: FYI, I decided not to land my mutter MR for the 48 release, so you can rest easy, at least for another 6 months :)
09:16MrCooper: ity: what exactly do you mean by "forcing the modesetting of an output"? FWIW, modes are technically set on CRTCs, not connectors/outputs
09:18sima: MrCooper, I'm trying to come up with at least a plan to fix the kernel side
09:18sima: but also kinda sucks that this is delayed
09:18MrCooper: sounds good, I'll be happy to collaborate on the mutter side, though I'm afraid I'm unlikely to push much on the kernel side myself
09:19MrCooper: it's fine, not the end of the world
09:20MrCooper: BTW, last night a user reported that my MR is pretty broken on Meteor Lake
09:22MrCooper: (which might mean so is Xorg)
09:40sima: MrCooper, my worry is more that I got this wrong a few times already
09:51pq: ity, if you are asking about an API to set a mode behind someone else's (e.g. display server) back, then no.
09:53buhman: I noticed "Radeon 7000 - Radeon 9250" were removed from mesa, according to https://docs.mesa3d.org/systems.html ; shouldn't that mean https://www.x.org/wiki/RadeonFeature/ should be updated to un-greenify most/all r100 and r200 rows back to TODO?
14:15MrCooper: buhman: they're still supported on the Mesa amber branch
20:02alyssa: daniels: "stride of compression == 8 * (ROUND_UP(w, 16) / 16)"
20:02alyssa: I'm not seeing how this works..
20:03alyssa: If the whole image is 16x16, there is a single 8 byte compression tile
20:03alyssa: But that formula would give stride of compression == 8 * (16 / 16) = 8
20:03alyssa: implying that the compression plane as a whole is stride * height = 8 * 16 = 128 bytes
20:04alyssa: from Mesa's perspective it doesn't matter regardless, it's just an arbitrary number anyway
20:04alyssa: but if we're trying make dumb dump-and-copy work, that's going to blow up
20:05alyssa: maybe more to the point, there's no integer value of stride that "works" in the sense that stride * height = 8 for height=16
20:05alyssa: in effect, the "stride" should be 1/2
20:06alyssa: i'm sure the modifier-unaware dump-and-copy is going to love a fractional stride though >.<
20:10alyssa: if making this work is a hard requirement, I can invent something dumb adding extra padding but I'm.. not sure what problem we're trying to solve here exactly, and I don't know of userspace that actually does this dance
20:10alyssa: (please enlighten me so I can test..)
20:13alyssa: "stride of compression == max((8 * round to power of two(w)) / 256, 1)"
20:13alyssa: I /think/ that works
20:13alyssa: in the pathological 16x16 case, it sets stride to 1 and so we overread by 8 bytes but that's fine
20:13alyssa: and in all real cases it's correct.
20:14alyssa: so i guess just a lack of creativity on my part :p
20:50alyssa: no but that's not quite right either because that fails to model the fact that the height must also be padded to power-of-two for the metadata plane but not for the main plane
20:50alyssa: how are strides supposed to work at all for nonlinear images?
20:50alyssa: is any of this documented?
20:51alyssa: just blindly setting to (width*bpp) is the only thing that actually makes sense in my brain
20:51alyssa: since stride.. doesn't make sense for these nonlinear formats at all, we just need to plug in the thing that the core is expecting (and if not for that legacy tradition I'd be setting to zero.)
20:58classactatcode: I did not understand what was unreadable for that pdf content at all. I was telling you the whole time that one alu is somewhere between 32768 to 65536 digits worth of allocated range in a storage location, because they handle carry and sum for 0 and 1 , they do it in 17-18bits or so instead of the former in hardware in the pdf. In other words there was binary distribution which is
20:58classactatcode: well elaborated and explained in the pdf and if that happens to summed up sequence of size 1500 decimal digits for example you take base 2 logarithm of 1500 multiplied by base two logarithm of 32, cause every field in the bitfield of powers is equiprobable, so the author concludes exactly the same as i did say all the time so round about i mean moreover perhaps. But me splitting ways
20:58classactatcode: for me applies i suppose, and i am better off leaving.
21:15alyssa: actually thinking it more.. yeah, any tool that uses the stride for *anything* without understanding the modifier itself is fundamentally broken
21:15alyssa: we just don't have the information standardized to do anything generically other than "memcpy the entire bo->size"
21:16alyssa: so the correct thing to do is choose some convention arbitrarily (as long as the core's checks are satisfied) and stick to it
21:16alyssa: and the simplest possible convention that satisfies the core's checks is what I'm doing right now so I see very little reason to do otherwise
21:17alyssa: ditto for planes at that point
21:17alyssa: so that's back to "copy how AFBC works"
21:35misyl: Anyone know what I need to try out DRM native context for AMDGPU? It seems like maybe the qemu side wasn't merged yet? Or am I mistaken and I am missing it somewhere?
21:38alyssa: misyl: virglrenderer patches, probably
21:39alyssa: misyl: https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1330 minimally
21:41misyl: ya, I saw that... but not sure how I enable it to be used by virglrenderer, etc? eg. for the -device virtio-vga-gl cmdline
21:42misyl: It seems there was some discussion about `drm=on` on the ML for virtio-gpu in qemu, but not seeing if that went anywhere...
21:44alyssa: misyl: maybe try https://github.com/AsahiLinux/muvm
21:45alyssa: I know that has all the virtio-gpu stuff plumbed
21:46misyl: Interesting
21:49misyl: was kinda interested in full system stuff, but this is still cool
21:54alyssa: misyl: muvm is full system :clown:
21:56misyl: alyssa: I was mainly wanting to see the Gamescope situation under DRM native context as I was curious
21:58alyssa: ah
23:49alyssa: alyssa's todo list: "check if sparse_residency_and is correct in honeykrisp"
23:49alyssa: alyssa, an hour later: *reworks sparse residency lowering in every driver in tree*
23:51alyssa: 22 files changed, 119 insertions(+), 198 deletions(-)
23:51alyssa: i'll take it