marcan 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
JoshuaAshton has joined #asahi-gpu
_whitelogger has joined #asahi-gpu
ar has quit [Quit: brb]
ar has joined #asahi-gpu
rwhitby has joined #asahi-gpu
rwhitby has quit [Quit: rwhitby]
rwhitby has joined #asahi-gpu
rwhitby has quit []
crabbedhaloablut has quit []
crabbedhaloablut has joined #asahi-gpu
phiologe has joined #asahi-gpu
richbridger has quit [Remote host closed the connection]
sven has quit [Quit: ZNC 1.8.2 - https://znc.in]
sven has joined #asahi-gpu
sven has quit []
sven has joined #asahi-gpu
psydroid[m] is now known as psydroid
Lightsword has joined #asahi-gpu
ar has quit [Quit: leaving]
ar has joined #asahi-gpu
alyssa has joined #asahi-gpu
bloom has joined #asahi-gpu
<bloom> Hello hello :)
alyssa has left #asahi-gpu [#asahi-gpu]
<TheLink> \o/
<bloom> marcan: can i haz op? :-p
<marcan> bloom: done, rejoin should autoop
<bloom> marcan: thank you uwu :p
<bloom> well, no excuse not to AGX today then!
<marcan> ^_^
<bloom> and tomorrow might be a stat holiday so I might even get something done
<marcan> I'm definitely going back to the hypervisor tomorrow, better hope I don't finish that too soon or else I'll start working on the drm drver :p
<bloom> I'm kinda over it
<bloom> finish your hypervisor, start the DRM driver, see what I care ;-p
<marcan> aw, and you'd gotten me excited :p
<bloom> :D
cepheus has joined #asahi-gpu
kubes has joined #asahi-gpu
choozy has joined #asahi-gpu
ar has quit [Quit: brb]
ar has joined #asahi-gpu
mini has quit [Quit: ZNC closing...]
minimaul has joined #asahi-gpu
ar has quit [Quit: brb]
ar has joined #asahi-gpu
kubes has quit [Quit: Leaving]
richbridger has joined #asahi-gpu
yrlf has quit [Quit: The Lounge - https://thelounge.chat]
yrlf has joined #asahi-gpu
<bloom> I admit I'm confused by the idioms the Metal compiler uses for loops
choozy has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<bloom> I guess the primitive is "do { ... } while(x)" as opposed to plain while
<bloom> which means "while(x) { .. }" becomes "if (x) { do { ... } while (x) }"
<bloom> of course, it could also become "do { if (!x) { break } ... } while(true)"
<bloom> which is the natural translation from the NIR `loop { if (!x) { break } .. }`
<bloom> the number of instructions is the same between the two -- HOWEVER, the Metal translation should be faster
<bloom> why? the loop body is much smaller
<bloom> the literal NIR way has a body of "if_fcmp, break, pop_exec, ..., while_fcmp, jmp_exec_any"
<bloom> whereas the Metal way, despite adding 2 instructions _outside_ the loop, has a body only of "..., while_fcmp, jmp_exec_any"
<bloom> so for a single iteration they're the same, for 2 or more the Metal one is faster