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
odmir has joined #asahi-gpu
odmir has quit [Remote host closed the connection]
odmir has joined #asahi-gpu
odmir has quit [Remote host closed the connection]
odmir has joined #asahi-gpu
odmir has quit [Ping timeout: 268 seconds]
odmir has joined #asahi-gpu
Emantor has joined #asahi-gpu
odmir has quit [Ping timeout: 240 seconds]
solarkraft has joined #asahi-gpu
odmir has joined #asahi-gpu
odmir has quit [Ping timeout: 240 seconds]
odmir has joined #asahi-gpu
odmir has quit [Remote host closed the connection]
odmir has joined #asahi-gpu
phiologe has joined #asahi-gpu
Necrosporus has quit [Read error: Connection reset by peer]
Necrosporus has joined #asahi-gpu
odmir has quit [Remote host closed the connection]
phiologe has quit [*.net *.split]
Emantor has quit [*.net *.split]
morelightning[m] has quit [*.net *.split]
hypergenesis[m] has quit [*.net *.split]
Bastian[m] has quit [*.net *.split]
mrkajetanp has quit [*.net *.split]
Augur[m] has quit [*.net *.split]
wicast has quit [*.net *.split]
the-mentor3 has quit [*.net *.split]
Necrosporus has quit [*.net *.split]
josiahmendes[m] has quit [*.net *.split]
rockinrobstar[m] has quit [*.net *.split]
bylaws has quit [*.net *.split]
emily has quit [*.net *.split]
Jasper[m] has quit [*.net *.split]
phiologe has joined #asahi-gpu
Emantor has joined #asahi-gpu
Necrosporus has joined #asahi-gpu
the-mentor3 has joined #asahi-gpu
wicast has joined #asahi-gpu
Augur[m] has joined #asahi-gpu
morelightning[m] has joined #asahi-gpu
rockinrobstar[m] has joined #asahi-gpu
hypergenesis[m] has joined #asahi-gpu
josiahmendes[m] has joined #asahi-gpu
bylaws has joined #asahi-gpu
Bastian[m] has joined #asahi-gpu
emily has joined #asahi-gpu
Jasper[m] has joined #asahi-gpu
mrkajetanp has joined #asahi-gpu
stemnic has joined #asahi-gpu
kit_ty_kate has joined #asahi-gpu
tbodt has joined #asahi-gpu
Hakon has joined #asahi-gpu
comex has joined #asahi-gpu
prusnak has joined #asahi-gpu
daniels has joined #asahi-gpu
NekomimiScience has joined #asahi-gpu
GaveUp has joined #asahi-gpu
Lightsword has joined #asahi-gpu
XeR has joined #asahi-gpu
radex1 has joined #asahi-gpu
gruetzkopf has joined #asahi-gpu
ar has joined #asahi-gpu
JTL has joined #asahi-gpu
cyrozap has joined #asahi-gpu
DarkShadow44 has joined #asahi-gpu
larbob has joined #asahi-gpu
dottedmag has joined #asahi-gpu
DrWhax has joined #asahi-gpu
krzywix- has joined #asahi-gpu
tomtastic has joined #asahi-gpu
marcan has joined #asahi-gpu
zkrx has joined #asahi-gpu
bpye has joined #asahi-gpu
mxw39 has joined #asahi-gpu
Z750 has joined #asahi-gpu
tardyp has joined #asahi-gpu
HotSwap has joined #asahi-gpu
Yuzu has joined #asahi-gpu
x56_ has joined #asahi-gpu
DragoonAethis has joined #asahi-gpu
Stary has joined #asahi-gpu
tarzeau_ has joined #asahi-gpu
Simonx22 has joined #asahi-gpu
riatre has joined #asahi-gpu
narmstrong has joined #asahi-gpu
jn__ has joined #asahi-gpu
puhitaku has joined #asahi-gpu
nkaretnikov has joined #asahi-gpu
sbingner has joined #asahi-gpu
linkmauve has joined #asahi-gpu
jkkm has joined #asahi-gpu
Baughn has joined #asahi-gpu
robinp has joined #asahi-gpu
varad has joined #asahi-gpu
zarvox has joined #asahi-gpu
commandoline has joined #asahi-gpu
robher has joined #asahi-gpu
mrkajetanp has quit [Max SendQ exceeded]
winocm has quit [Ping timeout: 245 seconds]
Bastian[m] has quit [Ping timeout: 258 seconds]
josiahmendes[m] has quit [Ping timeout: 244 seconds]
rockinrobstar[m] has quit [Ping timeout: 244 seconds]
emily has quit [Ping timeout: 244 seconds]
davidrysk[m] has quit [Ping timeout: 252 seconds]
meiji163[m] has quit [Ping timeout: 260 seconds]
cepheus has quit [Ping timeout: 245 seconds]
mofux[m] has quit [Ping timeout: 245 seconds]
blazra has quit [Ping timeout: 245 seconds]
uartman[m] has quit [Ping timeout: 245 seconds]
zzoon has quit [Ping timeout: 252 seconds]
Lockna[m] has quit [Ping timeout: 252 seconds]
user1tt[m] has quit [Ping timeout: 252 seconds]
bylaws has quit [Ping timeout: 245 seconds]
brentr123[m] has quit [Ping timeout: 248 seconds]
HeN has quit [Ping timeout: 260 seconds]
konradybcio has quit [Ping timeout: 245 seconds]
Jasper[m] has quit [Ping timeout: 245 seconds]
izzyisles[m] has quit [Ping timeout: 246 seconds]
Augur[m] has quit [Ping timeout: 258 seconds]
simjnd[m] has quit [Ping timeout: 276 seconds]
svenpeter has quit [Ping timeout: 276 seconds]
JJJollyjim has quit [Ping timeout: 276 seconds]
morelightning[m] has quit [Ping timeout: 258 seconds]
hypergenesis[m] has quit [Ping timeout: 258 seconds]
rkjnsn[m] has quit [Ping timeout: 246 seconds]
HeN has joined #asahi-gpu
_alice has quit [Ping timeout: 252 seconds]
svenpeter has joined #asahi-gpu
mrkajetanp has joined #asahi-gpu
meiji163[m] has joined #asahi-gpu
cepheus has joined #asahi-gpu
emily has joined #asahi-gpu
mofux[m] has joined #asahi-gpu
user1tt[m] has joined #asahi-gpu
uartman[m] has joined #asahi-gpu
Bastian[m] has joined #asahi-gpu
rkjnsn[m] has joined #asahi-gpu
Lockna[m] has joined #asahi-gpu
Augur[m] has joined #asahi-gpu
konradybcio has joined #asahi-gpu
izzyisles[m] has joined #asahi-gpu
winocm has joined #asahi-gpu
rockinrobstar[m] has joined #asahi-gpu
Jasper[m] has joined #asahi-gpu
_alice has joined #asahi-gpu
davidrysk[m] has joined #asahi-gpu
bylaws has joined #asahi-gpu
blazra has joined #asahi-gpu
simjnd[m] has joined #asahi-gpu
brentr123[m] has joined #asahi-gpu
JJJollyjim has joined #asahi-gpu
josiahmendes[m] has joined #asahi-gpu
hypergenesis[m] has joined #asahi-gpu
zzoon has joined #asahi-gpu
morelightning[m] has joined #asahi-gpu
vlixa has quit [Remote host closed the connection]
Glanzmann has joined #asahi-gpu
vlixa has joined #asahi-gpu
Glanzmann has quit [Quit: leaving]
glibc has joined #asahi-gpu
<glibc> Do you have suggestions of "relatively" easy tasks to help the project?
<robinp> glibc: your probably better off asking in the main channel #asahi. I think at the moment they are just getting through the low level initial support - I'm hoping that there will be more JJ once they get that sorted
<glibc> thanks
<jn__> glibc: it somewhat depends on your field of interest, too — what kind of work are you particularly interested in?
<glibc> either GPU reverse engineering, or driver work
<jn__> ok
<jn__> i'll wait for bloom or someone else to come around with good ideas :)
vlixa has quit [Remote host closed the connection]
<bloom> dougall: I have to hand it to you, no clue how you figured out the control flow stuff <3
<bloom> even have spilling disassembled correctly, nice!
_whitelogger has joined #asahi-gpu
vlixa has joined #asahi-gpu
odmir has joined #asahi-gpu
odmir has quit [Ping timeout: 260 seconds]
<DarkShadow44> bloom: Would you mind sharing a shader that uses that? Would be helpful to understand that.
<bloom> Can you find the pattern in this?
<bloom> Specifically, can you write a function that takes in the left number (340) and outputs the right one (6), fitting so well that it can predict the results for future data?
simjnd[m] has quit [Quit: Idle for 30+ days]
<glibc> @bloom: thank you for your suggestion. I will have a look.
<jn__> bloom: how much data do you have for the validation of functions?
<jn__> i have a fitted function and it seems reasonably compact, but it could be overfitted still
<DarkShadow44> jn__: mind showing?
<DarkShadow44> hm interesting
<bloom> jn__: what's f2gen?
<jn__> it generates the boundaries (0x20, 0x40, etc.) along with the output numbers (2,3,4,..)
<bloom> got it
<bloom> it's certainly a possibility :)
<bloom> It's the division-by-3 that's baffling me
<bloom> clearly you are right, that's in the data. but why?
<jn__> my approximation is more or less a floating point with a mantissa of between one and two bits
<jn__> or, wait
<jn__> actually two bits of mantissa?
<bloom> heh
<jn__> no, less
<jn__> else 0x30 would be in it
<bloom> fwiw, the equivalent field on Mali is https://cgit.freedesktop.org/mesa/mesa/tree/src/panfrost/lib/pan_scratch.c#n70 explanation in the comments
<bloom> uh. apparently that comment is wrnog, should be ceil(log2(s / 16)) but I digress
<bloom> er
<bloom> ceil(log2(ceil(s / 16))) I guess it was
<glibc> ah, the input number is TLS byte size in shader?
<bloom> Yeah
<bloom> On Mali, the idea is that the hardware allocates a power-of-two number of 16-byte slots
<bloom> so we need to round up the number of 16-byte slots, and then round up the power-of-two
<bloom> table.py shows a clear logarithmic pattern (as jn__ also identified) so this doesn't seem far off from AGX
<bloom> but the coefficients get all weird for small n
<bloom> (36, 2),
<bloom> (20, 1),
<bloom> ^ This should be bugging you
<bloom> If it's log2, then why is the there are threshold betweeen 20 and 36?
<bloom> Worse:
<glibc> actually what bothers me is the 372/388 boundary :) 20/36 -> computation could simply be in unit of 32 bytes
<bloom> (372, 6),
<bloom> (388, 7)
<bloom> glibc: yeah
<bloom> me too
<bloom> glibc: The "explanation" there is if you divide by 3, that becomes a 124/129 boundary -- fine, 128
<bloom> But again... why 3?!
* jn__ finds this table much easier to look at in hex
<bloom> ----Oh shit
<bloom> jn__: ty
<bloom> d'oh
<bloom> it's not about division by 3 at all, gah
<jn__> bloom: the pattern i fitted is like 1 - 2 3 4 - 8 12 16 -- one big step (double the number), two small steps (increment the two most significant bits), repeat
<bloom> jn__: Yeah, I think you got it spot on.
<bloom> something like upper bits are powers of 4, lower bits are 2/3
<DarkShadow44> bloom: Out of curiousity, how does one get those test numbers? I'd be interested in the result of (for example) 800
<bloom> DarkShadow44: modifying a shader to vary its register pressure, disassembling the shader to get the amount spilled (X), and parsing the command stream to get the amount reported (Y)
<glibc> how about having a function-local array, dynamically indexed by a uniform/attribute?
<bloom> worth checking as well, and would probably be easier :)
<glibc> alright :)
<DarkShadow44> bloom: Using pandecode_cmdstream after a computer shader?
<bloom> mm
<bloom> vert in this case
<DarkShadow44> doesn't work for computer shader yet?
<bloom> And for my next trick, I shall pull a rabbit out of a hat!
<bloom> ("Go back to sleep, Bloom.")
vijfhoek has quit [*.net *.split]
chrisf has quit [*.net *.split]
Shiz has quit [*.net *.split]
ch3sh1r3c4t has quit [*.net *.split]
anuejn has quit [*.net *.split]
Ziemas has quit [*.net *.split]
rbenua has quit [*.net *.split]
bloom has quit [*.net *.split]
ch3sh1r3c4t has joined #asahi-gpu
Shiz has joined #asahi-gpu
chrisf has joined #asahi-gpu
bloom has joined #asahi-gpu
anuejn has joined #asahi-gpu
Ziemas has joined #asahi-gpu
vijfhoek has joined #asahi-gpu
rbenua has joined #asahi-gpu
odmir has joined #asahi-gpu
<DarkShadow44> dougall: I found some issue with your documentation
<DarkShadow44> Would you mind taking a look at this: https://pastebin.com/0f6ey9vu
odmir has quit [Remote host closed the connection]
odmir has joined #asahi-gpu
odmir has quit [Ping timeout: 240 seconds]
odmir has joined #asahi-gpu
odmir has quit [Ping timeout: 265 seconds]
odmir has joined #asahi-gpu
odmir has quit [Ping timeout: 240 seconds]
aratuk has joined #asahi-gpu
aratuk has quit [Client Quit]
mxw39 has quit [Quit: Konversation terminated!]
mxw39 has joined #asahi-gpu
odmir has joined #asahi-gpu
<dougall> DarkShadow44: good catch, thanks - i'll try to look later today, but i'm guessing 0b00 is the correct encoding there https://github.com/dougallj/applegpu/blob/main/applegpu.py#L859-L860
odmir has quit [Remote host closed the connection]
odmir has joined #asahi-gpu
odmir has quit [Ping timeout: 268 seconds]
odmir has joined #asahi-gpu
* bloom has a WIP XMLification of applegpu's disassembler
<bloom> Though tbh I am thinking we'd be happier just pulling applegpu.py into mesa