ChanServ changed the topic of #asahi-gpu to: Asahi Linux GPU development (no user support, NO binary reversing) | Keep things on topic | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Logs: https://alx.sh/l/asahi-gpu
hertz has joined #asahi-gpu
amarioguy2 has joined #asahi-gpu
amarioguy has quit [Ping timeout: 480 seconds]
blazra2 has joined #asahi-gpu
blazra has quit [Ping timeout: 480 seconds]
blazra2 is now known as blazra
karolherbst_ has joined #asahi-gpu
karolherbst has quit [Ping timeout: 480 seconds]
jackhill has quit [Remote host closed the connection]
hertz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
cylm_ has joined #asahi-gpu
possiblemeatball has quit [Quit: Leaving]
karolherbst_ is now known as karolherbst
SSJ_GZ has joined #asahi-gpu
amarioguy has joined #asahi-gpu
amarioguy2 has quit [Ping timeout: 480 seconds]
bluetail1 has joined #asahi-gpu
bluetail has quit [Ping timeout: 480 seconds]
bluetail1 is now known as bluetail
hertz has joined #asahi-gpu
<marcan> alyssa, lina: BTW, does asahi handle multiplanar formats yet? DCP supports a bunch of those (and we're going to need them for some use cases), and Apple use multiplanar RGB10+A8 by default for UI stuff (compressed) so I assume it's supported by the hardware somehow (or is that just effectively "lol MRT"?)
<marcan> in particular kwin seems to prefer alpha formats over alphaless, but right now we only *actually* support X2R10G10B10 as a 10-bit format (we claim A2 also but it's a lie). so right now kwin picks the A2 format even though it has no real alpha. we should offer it a proper 2-plane 10-bit alpha format as the best choice.
<jannau> did you test "w40a" 40-bit single plane ARGB10? I think I saw that as supported as well but it was missing from dcp_surfaces.txt
karolherbst_ has joined #asahi-gpu
karolherbst has quit [Ping timeout: 480 seconds]
karolherbst_ is now known as karolherbst
<jannau> w40a works for dcp but is despite its name 64 bit per pixel
<dottedmag> Is it 10-bit with 6-bit unused per channel?
<dottedmag> Also Wayland implicitly implies that all the buffers are single-planar in wl_shm constructor. Nobody uses this constructor for anything useful, but well.
<jannau> yes, 6 bit padding per component. I guess handling 40 bit per pixels is annoying on HW side as well. the kwin code in question uses zlinux_dmabuf
possiblemeatball has joined #asahi-gpu
<dottedmag> dmabuf _seems_ not to hardcode assumptions: width/height/format plus a number of weird flags (y invert, interlaced, bottom-first-interlaced), so it might work with multiplanar if they are advertised.
<jannau> multi-planar YUV works with dmabuf without issues
amarioguy has quit [Remote host closed the connection]
amarioguy has joined #asahi-gpu
bcrumb has joined #asahi-gpu
bcrumb has quit []
<daniels> single-planar also works fine with wl_shm, you just don’t get to choose your chroma offset or stride
<marcan> jannau: w40a is in there (#4), and I would expect it works but it's such a massive waste of memory bandwidth... not a good idea for the main framebuffer
<marcan> bi-planar formats are much nicer because the alpha is going to be all 0xff 99% of the time, which should compress down to ~nothing with framebuffer compression
<marcan> so in practice w40a is going to be close to ~2x the memory bandwidth of w18p or b3a8
<eric_engestrom> lina: any chance that "apple logo" at boot is its own hardware plane and it's missing a clear in your driver's init?
<eric_engestrom> I'm getting leftover text from the linux console in the shape of an apple in the middle of my screen, and it's above everything else (including the cursor), but it's like it's rendered with a single value used for all channels (only grey, and the opacity seems to match the luminosity, black being fully transparent), so I'm guessing it might have been missed because if there's no text that happens to be right there, it will
<eric_engestrom> appear fully transparent
<eric_engestrom> also, just tried to take a screenshot: the cursor is included, the apple logo isn't (not sure what info that really adds though)
<marcan> that's fixed in the 6.2-rc2 rebase I just pushed
<eric_engestrom> (using grim for the screenshot)
<eric_engestrom> marcan: are you replying to me? awesome :)
<jannau> eric_engestrom: fixed in 9e3157ab6af08531191f25709dc3494eb2c65f0a
<eric_engestrom> thanks both :)
<marcan> and yes, that happened when we switched to plane 1 because plane 0 seems to be special on t600x, combined with the lack of alphaless formats (which we were unknowingly cheating by marking them as premultiplied)
<jannau> screenshot will not work since it's blended in the display controller
<marcan> the apple shape is the original iBoot alpha, which interestingly does not actually apply on boot because DCP does some optimization where fullscreen single planes end up ignoring alpha anyway
<marcan> which is why the iBoot framebuffer works as intended, but then the apple comes back later when we enable another plane
<marcan> it's all pretty cursed
<eric_engestrom> yup, just read the commit message and that's exactly what I'm experiencing :)
<marcan> I'm still quite annoyed that there isn't a "turn off alpha" bit anywhere as far as I can tell, and no XRGB8888 support at all
<marcan> we can cheat that with premultiplication for the bottommost planes, but not any overlay planes
<marcan> *bottommost plane
<marcan> (also obviously the hardware supports it, it's just DCP firmware that doesn't because I guess Apple never needed it for macOS?)
<marcan> (still feels really weird though)
<marcan> see https://gist.github.com/marcan/d93ebdffce5b36be9aaa06079a60503f for what I've been able to find about supported pixel formats
hightower2 has quit [Ping timeout: 480 seconds]
<marcan> jannau: btw, now that I noticed, I think there's one missing thing still. when layers are removed, they should have their bits set in swap_enabled
<marcan> it's not really "enabled", more like "update/request"
<marcan> AIUI if a bit is set there and the surface is NULL, the plane is removed
<marcan> not that it really matters right now since we only support a single plane anyway...
<jannau> marcan: I think it is there, each plane's update bit gets set if the plane was changed, see the for_each_oldnew_plane_in_state() loop in dcp_flush
hightower2 has joined #asahi-gpu
<marcan> jannau: you're right, sorry... misread the patch
<marcan> I should get some sleep :p
<jannau> np, I think without it dcp/disp0 would crash instantly crash on fb unmap
systwi_ has joined #asahi-gpu
systwi has quit [Ping timeout: 480 seconds]
Telessia_ has joined #asahi-gpu
Telessia_ has quit []
lawrence has quit [Quit: The Lounge - https://thelounge.chat]
bcrumb has joined #asahi-gpu
bcrumb has quit []
bcrumb has joined #asahi-gpu
djorz has joined #asahi-gpu
lawrence has joined #asahi-gpu
bcrumb has quit [Quit: WeeChat 3.7.1]
cylm_ has quit [Ping timeout: 480 seconds]
WindowPa- has joined #asahi-gpu
WindowPain has quit [Ping timeout: 480 seconds]
amarioguy has quit [Remote host closed the connection]
alyssa has quit [Quit: leaving]
LinuxM1 has joined #asahi-gpu
possiblemeatball has quit [Quit: Leaving]
cr1901 has quit [Remote host closed the connection]
cr1901 has joined #asahi-gpu
LinuxM1 has quit [Quit: Leaving]
hightower2 has quit [Ping timeout: 480 seconds]
hightower2 has joined #asahi-gpu
SSJ_GZ has quit [Ping timeout: 480 seconds]
mkurz has joined #asahi-gpu
mkurz has quit [Quit: Leaving]
alyssa has joined #asahi-gpu
<alyssa> GL_CLAMP in hardware on agx (wrap=4) wat?!
<alyssa> border colour 3 is definitely for custom
<alyssa> sampler, 7fff 3fff 1fff ffff
<alyssa> those.. aren't floats are they..
<alyssa> ah lol
<alyssa> rgba16 unorm texture
<alyssa> so the custom border colour is packed in the actual format
<alyssa> what a delight
<alyssa> though it seems to still apply the API swizzle specified maybe