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
kesslerd has quit [Remote host closed the connection]
pthariensflame has joined #asahi-gpu
kesslerd has joined #asahi-gpu
pthariensflame has quit []
<alyssa> Coaxing Metal to tell me how bindless textures work seems less effective than just playing with the hardware under Linux and seeing what happens
<alyssa> so, with flags=3 and everything else as usual, it's looking up "passed uniform + 32-bit register"
<alyssa> that's enough to emulate bindless but it's not as nice as I was hoping
<alyssa> what I really want is a "64-bit register" mode
<TellowKrinkle> So does Metal just have a massive array of texture descriptors that it allocates out of and then uses 32 bit offsets into that array as texture pointers?
<alyssa> I don't know.
<alyssa> It's certainly possible.
<alyssa> That's basically the "heap" model. It's how NVIDIA works at a hardware level, and how DX12 works at an API level.
<alyssa> while heaps are just as expressive as pointer-style bindless, I guess I'm a bit surprised to not see a way to do real pointers
<alyssa> given that the hardware is all pointers internally
<alyssa> Like, my current mental model is that the hardware is internally pointer-style bindless
<alyssa> and the texture state registers (ts0 etc) and this uniform+reg mode are both conveniences for the driver to emulate binding tables and heaps respectively
<alyssa> but I'd be surprised if there wasn't a raw pointer mode in here too, if that's what's happening
<alyssa> where I'm at is, if this is indeed how bindless works on this hardware (and the only way it works), then I can make this work in the drive
<alyssa> r
<alyssa> but it seems more likely that we're missing some encodings than that this is really what Apple intended
<alyssa> ---
<alyssa> By the way, does Metal support atomics on images now?
<TellowKrinkle> Still no image atomics in Metal
<alyssa> k. Maybe that'll come in the next version bump then.
opticron has quit [Ping timeout: 480 seconds]
opticron has joined #asahi-gpu
<alyssa> TellowKrinkle: I think u4 is the SampleURegDesc
<alyssa> that said, SampleURegDesc is missing a few bits of extensions
<alyssa> (Unless you can't use the upper bits for this. Again, while possible that seems less likely than I don't know which bits are the extension.)
<TellowKrinkle> How many unknown bits do we have left at this point?
<alyssa> enough
<alyssa> texture_sample has a known SampleURegDesc but no known extension bits
<alyssa> but q4 and q6 are both plausibly extension
<alyssa> (8 bits between them)
<alyssa> wait, q6 is gather stuff at least in part
<alyssa> and q4 is kill at least in part
<alyssa> hm
<alyssa> q6 has like 1 free bit
<alyssa> and q4 has 1 free bit
<alyssa> and extensions seem to always be 2-bits, so maybe there is no extension
<alyssa> just seems .. odd
<alyssa> but regardless, image_write::u4 being a URegDesc (maybe) is a nice take-home message
<alyssa> because with that I have enough to implement heaps, even if I'm still unconvinced I should have to
<alyssa> OTOH, shader code and pipelines and things use a heap-like model too
<alyssa> in that you only get 32-bits of VA but can place it wherever you want
<alyssa> so, shrug
<alyssa> maybe it is in line with the hardware
<alyssa> my brain is very much still in Arm mode
<TellowKrinkle> Are arm GPUs all pointers? (I know almost nothing about arm GPUs)
<alyssa> nah, mali is ... a mix of models that has changed over time
<alyssa> I guess it's also like heaps in some ways
<alyssa> the valhall model i mean
<alyssa> shrug
djorz has quit [Ping timeout: 480 seconds]
pbsds has quit [Ping timeout: 480 seconds]
DarkShadow4444 has joined #asahi-gpu
DarkShadow44 has quit [Ping timeout: 480 seconds]
pbsds has joined #asahi-gpu
seeeath has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
seeeath has joined #asahi-gpu
seeeath has quit [Read error: Connection reset by peer]
possiblemeatball has quit [Quit: Quit]
Dementor has quit [Read error: Connection reset by peer]
Dementor has joined #asahi-gpu
pjakobsson has joined #asahi-gpu
i509vcb has quit [Quit: Connection closed for inactivity]
MajorBiscuit has joined #asahi-gpu
kesslerd has quit [Remote host closed the connection]
kesslerd has joined #asahi-gpu
MajorBiscuit has quit [Quit: WeeChat 3.6]
tertu has quit [Ping timeout: 480 seconds]
bisko has joined #asahi-gpu
kesslerd has quit [Quit: Leaving]
kesslerd has joined #asahi-gpu
karolherbst_ has joined #asahi-gpu
karolherbst has quit [Ping timeout: 480 seconds]
karolherbst has joined #asahi-gpu
hightower2 has quit [Ping timeout: 480 seconds]
karolherbst_ has quit [Ping timeout: 480 seconds]
hightower2 has joined #asahi-gpu
cylm has quit [Ping timeout: 480 seconds]
tertu has joined #asahi-gpu
hightower2 has quit [Ping timeout: 480 seconds]
Dementor2 has joined #asahi-gpu
Dementor has quit [Ping timeout: 480 seconds]
Dementor2 is now known as Dementor
bisko has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bisko has joined #asahi-gpu
bluetail986 has quit []
kesslerd has quit [Remote host closed the connection]
kesslerd has joined #asahi-gpu
zzywysm has quit [Quit: Textual IRC Client: www.textualapp.com]
nela has quit [Ping timeout: 480 seconds]
nela has joined #asahi-gpu
ah- has quit [Read error: Connection reset by peer]
bisko has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bluetail986 has joined #asahi-gpu
ah- has joined #asahi-gpu
kesslerd has quit [Remote host closed the connection]
kesslerd has joined #asahi-gpu
zzywysm has joined #asahi-gpu
possiblemeatball has joined #asahi-gpu
bluetail986 has quit []
bluetail has joined #asahi-gpu
nyilas has joined #asahi-gpu
<alyssa> lina: thanks for the review, your reward is... more patches to review ;p
<sven> :D
possiblemeatball has quit [Quit: Quit]
cylm has joined #asahi-gpu
kesslerd has quit [Quit: Leaving]
djorz has joined #asahi-gpu
yamii_ has joined #asahi-gpu
yamii has quit [Read error: Connection reset by peer]
kesslerd has joined #asahi-gpu
<alyssa> z32f+s8 msaa4x has, notably
<alyssa> unk 212=8
<alyssa> sample count=4
<alyssa> sample positions set
<alyssa> tile height=16
nyilas has quit [Quit: Konversation terminated!]
<alyssa> layout 32x16
<alyssa> sample count 4
<alyssa> bytes per threadgroup 16384
<alyssa> unk 1 true
<alyssa> I'm suspicious I'm actually hitting a kernel bug here ..
kesslerd has quit [Remote host closed the connection]
kesslerd has joined #asahi-gpu
hightower2 has joined #asahi-gpu