ChanServ changed the topic of #asahi-gpu to: Asahi Linux: porting Linux to Apple Silicon macs | GPU / 3D graphics stack black-box RE and development (NO binary reversing) | Keep things on topic | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Logs: https://alx.sh/l/asahi-gpu
quarkyalice has quit [Ping timeout: 480 seconds]
quarkyalice has joined #asahi-gpu
quarkyalice has quit [Ping timeout: 483 seconds]
Emantor has quit [Quit: ZNC - http://znc.in]
Emantor has joined #asahi-gpu
quarkyalice has joined #asahi-gpu
quarkyalice has quit [Ping timeout: 480 seconds]
yuyichao has joined #asahi-gpu
chadmed has joined #asahi-gpu
PhilippvK has joined #asahi-gpu
phiologe has quit [Ping timeout: 480 seconds]
chadmed has quit [Remote host closed the connection]
chadmed has joined #asahi-gpu
al3xtjames has quit [Quit: The Lounge - https://thelounge.chat]
al3xtjames has joined #asahi-gpu
chadmed has quit [Ping timeout: 480 seconds]
nafod has quit [Read error: Connection reset by peer]
nafod has joined #asahi-gpu
quarkyalice has joined #asahi-gpu
quarkyalice_ has quit [Quit: Leaving]
quarkyalice_ has joined #asahi-gpu
quarkyalice has quit []
al3xtjames has quit [Quit: The Lounge - https://thelounge.chat]
al3xtjames has joined #asahi-gpu
al3xtjames has quit [Quit: The Lounge - https://thelounge.chat]
al3xtjames has joined #asahi-gpu
al3xtjames has quit []
chadmed has joined #asahi-gpu
al3xtjames has joined #asahi-gpu
al3xtjames has quit []
al3xtjames has joined #asahi-gpu
chadmed has quit [Remote host closed the connection]
chadmed has joined #asahi-gpu
chadmed has quit [Ping timeout: 480 seconds]
chadmed has joined #asahi-gpu
aleasto has joined #asahi-gpu
choozy has joined #asahi-gpu
alyssa has joined #asahi-gpu
alyssa has left #asahi-gpu [#asahi-gpu]
bloom has joined #asahi-gpu
* bloom thinking of doing some housekeeping on the mesa driver
<bloom> may or may not stream, thinking about it though
<jix> would probably watch if you stream... might be too distracted to actually follow what's going on today though
<chadmed> now im conflicted as to whether to fall asleep to such a stream or stay up and learn something
choozy has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<bloom> I don't want to be the reason someone's not sleeping!
<bloom> Alright. Sure. Let me get a bite to eat first. 20 minutes, then? (Starting at ~10:30am?)
<jix> works for me, it's afternoon here, so me not sleeping is probably a good thing ^^
<chadmed> bloom: hence my dilemma, its almost 1am so i should sleep, but i also want to watch
<bloom> :F
<bloom> Just getting setu now
<bloom> on air
<jix> can hear you :)
<jix> I've heard that even recent-ish discrete desktop GPUs use tiling (need to dig out the blog post which had some code to actually demonstrate that)
<jix> bloom: do you need to exclude already freed entries in track_free?
<jix> bloom: yeah your change of zeroing everything was what I was thinking of when I wrote that
<jix> bloom: I think the stream freezed
<jix> audio is still fine but it only shows the broken demo
<jix> yeah can hear you
<bloom> should be back now
<jix> yeah
<jix> i wonder, are the handles at the end of the header and at the end of each entry, or are they actually at the start of each entry? (might be obvious with more context, but isn't to me)
<jix> no still fine
<jix> maybe that code got culled at some point ;)
choozy has joined #asahi-gpu
phiologe has joined #asahi-gpu
PhilippvK has quit [Ping timeout: 480 seconds]
<jix> I'm a bit confused by having DIRTY_ANY defined to be a specific bit, or do you set it whenever you set another bit? (might have missed that)
<jix> at least that's what I had expected
<jix> wouldn't this also change the thing you were testing last?
<jix> (I might be totaly confused though)
<jix> ah yeah that was what I was missing, thanks :)
* bloom wondering how dirty tracking of user uniforms was ever supposed to work...
<xerpi[m]> Regarding this random hang/HW issue: are the CPU and GPU cache coherent? If so, only LLC or also L1/L2? Maybe you need to flush some shared stuff/descriptors up to LLC
<jix> is the windowserver log msg just forwarding errors from kernel, or is it having an additional error when this happens?
<jix> (I was asking because I was wondering whether the windowserver error has anything to do with how you get stuff on screen in the end (not knowing how you do that/how that works on osx), but just everything starting to fault makes sense, especially after seeing OBS hang before)
<xerpi[m]> Let's hope this was not the issue and that the GPU also snoops the L1/L2, otherwise it will get hairy, you would also need to invalidate BOs when reading data the GPU has written..
<xerpi[m]> Would be nice if the GPU reported some kind of error code. Maybe macOS kernel doesn't expose it to userspace, but would mmio tracing help?
<xerpi[m]> Maybe the debug/developer macOS kernel printks a nice error message
<jix> is there any apple code talking to the GPU that would need to be synchronized with what your mesa driver is doing? if it's not some cache issue, it seems like a race condition to me, just from the random timing and how it is affected by debug printing etc..
quarkyalice has joined #asahi-gpu
<jix> thanks for streaming :)
<bloom> thanks for watching!
<xerpi[m]> :D
<xerpi[m]> Probably one of those magic numbers is related to this
<bloom> nod
<bloom> managed mode doesnt make sense for unified memory
<bloom> but maybe they play cache games
<jix> "In iOS and tvOS, the managed storage mode is not available.
<xerpi[m]> Hmm but maybe you don't need to have CPU and GPU caches coherent for some buffers, so this "managed" mode can help reduce traffic
<jix> sounds to me like they might have forgotten to update that this to say that it also includes macos on apple silicon
<sven> fwiw, so far all dma transactions i've seen between the cpu and any peripheral have been cache coherent
<bloom> sven: to be fair, gpu is "special" as far as peripherals go..
<sven> fair enough :-)
<bloom> sven: but this is definitely one of those "impossible" issues :|
<bloom> it does seem to be worse at higher frame rates and with higher geometry load
<jix> does it get worse when other processes do more GPU stuff at the same time?
quarkyalice__ has joined #asahi-gpu
quarkyalice has quit [Remote host closed the connection]
choozy has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
quarkyalice__ has quit [Ping timeout: 480 seconds]
<bloom> jix: yes, absolutely
<bloom> (which made me think the problem is preemption, but I can't prove that)
<jix> I wonder if dtrace would help in figuring out when this happens
<bloom> maybe? I' not familiar with dtrace
<jix> me neither, but I think it should allow you to do selective system wide tracing of stuff... e.g. the IOKit calls and scheduling/preemption of threads/processes
<jix> at least that's what I remember from when it was introduced and I was still using mac os, never did more than trying a few example dtrace scripts though... and that was ~14 years ago, so I have no idea how well it is supported today
<bloom> nod
<jix> there's also the instruments GUI app that's based on dtrace, and looking at https://web.archive.org/web/20200620075030/https://developer.apple.com/documentation/metal/using_metal_system_trace_in_instruments_to_profile_your_app that seems useful, if you can add rules to also trigger on the calls the mesa driver makes
<jix> (or without web.archive.org ... it's still online, that was just the link from wikipedia)
quarkyalice_ has quit [Quit: Leaving]
quarkyalice has joined #asahi-gpu
aleasto has quit [Quit: Konversation terminated!]