hightower2 has quit [Remote host closed the connection]
hightower2 has joined #asahi-gpu
<alyssa>
16: 9e138c0202840100 imadd r4_r5.cache, r6.cache, 32, u2
<alyssa>
I *think* the u2 should be u2_u3..
<alyssa>
from context of the shader I'm staring at
<alyssa>
(Spoiler alert: bindless image writes are 100% a thing and it's a straightforward mechanism and I just need a bit more staring to get the details)
<alyssa>
or not, uh
<alyssa>
oh, no
<alyssa>
I see what's happening. cute.
<alyssa>
they implement (u32 * u32) + u64 in two instructions
<alyssa>
lo_hi = mad(u32, u32, u64_lo)
<alyssa>
hi = hi + u64_hi
<alyssa>
i just mised the second add due to the scheduling
<alyssa>
ok, so there's full bindless image_write, so what? well..
<alyssa>
next question is whether there's proper bindless image load i missed
<alyssa>
I still feel like I'm missing something
<alyssa>
are these addresses 32-bits or not?!
<alyssa>
maybe I just need to try to wire this stuff up and see what breaks.
pthariensflame has joined #asahi-gpu
pthariensflame has quit []
<TellowKrinkle>
I think the bindless register references are register pairs and we're not decompiling correctly
<TellowKrinkle>
It usually sets up a valid pair before each of those calls
<TellowKrinkle>
Actually maybe not
c10l9 has quit []
c10l9 has joined #asahi-gpu
skmp__ has quit []
md_ has joined #asahi-gpu
<i509vcb>
hey ella-0, I recall hearing you have gotten vkcube to "work" on agxv. vkcube obviously requires WSI and agxv is probably some time away from working wsi so I imagine that showcase was probably from some fork of vkcube. I was wondering if you had the vkcube fork somewhere (if it even exists) to experiment with?
<i509vcb>
I am interested in trying to see if I *could* help with agxv, but I guess I am a bit unfamiliar with the hardware and I imagine some stuff is probably blocking larger open contribution on that
md_ has quit [Quit: Konversation terminated!]
md_ has joined #asahi-gpu
md_ has quit []
bisko has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bisko has joined #asahi-gpu
MajorBiscuit has joined #asahi-gpu
bisko has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
stickytoffee has quit [Quit: brb]
seeeath has joined #asahi-gpu
bisko has joined #asahi-gpu
seeeath has quit [Ping timeout: 480 seconds]
stickytoffee has joined #asahi-gpu
cylm has joined #asahi-gpu
Cyrinux9 has quit []
Cyrinux9 has joined #asahi-gpu
jannau_ has quit []
jannau has joined #asahi-gpu
seeeath has joined #asahi-gpu
seeeath has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
seeeath has joined #asahi-gpu
possiblemeatball has joined #asahi-gpu
tertu has quit [Ping timeout: 480 seconds]
tertu has joined #asahi-gpu
stickytoffee has quit [Ping timeout: 480 seconds]
stickytoffee has joined #asahi-gpu
stickytoffee has quit []
possiblemeatball has quit [Quit: Quit]
MajorBiscuit has quit [Ping timeout: 480 seconds]
seeeath has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
seeeath has joined #asahi-gpu
linuxgemini1 has quit []
kesslerd has joined #asahi-gpu
mkurz_ has joined #asahi-gpu
kesslerd has quit [Ping timeout: 480 seconds]
mkurz__ has joined #asahi-gpu
mkurz has quit [Ping timeout: 480 seconds]
alyssa has left #asahi-gpu [#asahi-gpu]
mkurz_ has quit [Ping timeout: 480 seconds]
mkurz__ has quit [Read error: No route to host]
mkurz__ has joined #asahi-gpu
mkurz__ has quit []
zalyx has quit [Ping timeout: 480 seconds]
alyssa has joined #asahi-gpu
<alyssa>
an unknown ALU instruction? on M1?
<alyssa>
likelier than you would think
<alyssa>
er no it's a funny encoding of convert
mkurz has joined #asahi-gpu
<alyssa>
this doesn't make any sense, why are they converting a float from uint to float
<alyssa>
what kind of witchcraft is this
mkurz has quit []
<alyssa>
be91c8280000 is the spicy convert
<alyssa>
for anyone following along at home
<alyssa>
this is for alpha to coverage with msaa 4x
<alyssa>
First, they calculate the alpha and clamp it to [0.0, 1.0]
<alyssa>
Then, they multiply it with 255.0
<alyssa>
So now they have a 32-bit float in the range of [0.0, 255.0]
kesslerd has joined #asahi-gpu
<alyssa>
Then they... reinterpret the float as a 32-bit integer and convert it to a float?
<alyssa>
Range (0.0, 255.0] corresponds to an exponent of [-126, 7]
<alyssa>
encoded as [1, 134]
<alyssa>
sign bit is clear
<alyssa>
and then adding back 0 we get an exponent range of [0, 134]
seeeath has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<alyssa>
mantissa is free (save for denormals which have been flushed), so we end up encoding [0, 135 << 23)
seeeath has joined #asahi-gpu
zalyx has joined #asahi-gpu
<alyssa>
so end up with a float in the range [0, 1132462080.0) i guess
<alyssa>
this, this doesn't make sense to me why they would do that, which makes me think i'm missing something
<dottedmag>
Ability of Apple engineers to make bugs?
<alyssa>
dottedmag: No, I don't have any reason to think it's wrong
<alyssa>
It just doesn't make sense what's happening