flatz has quit [Remote host closed the connection]
ATiltedTree has quit [Remote host closed the connection]
ATiltedTree has joined #asahi-gpu
cylm__ has joined #asahi-gpu
nepeat has joined #asahi-gpu
flatz has joined #asahi-gpu
flatz has quit [Ping timeout: 480 seconds]
flatz has joined #asahi-gpu
as400 has quit [Remote host closed the connection]
as400 has joined #asahi-gpu
as400 has quit [Remote host closed the connection]
mkurz has joined #asahi-gpu
as400 has joined #asahi-gpu
rpirea has quit []
flatz has quit []
bisko has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
crcvxc has quit [Read error: Connection reset by peer]
lena6 has joined #asahi-gpu
amarioguy has joined #asahi-gpu
iaguis has joined #asahi-gpu
joek has joined #asahi-gpu
crabbedhaloablut has quit [Remote host closed the connection]
crabbedhaloablut has joined #asahi-gpu
arkalon has joined #asahi-gpu
iaguis has quit [Quit: leaving]
iaguis has joined #asahi-gpu
possiblemeatball has joined #asahi-gpu
Misthios1 has joined #asahi-gpu
Misthios1 has quit []
Misthios1 has joined #asahi-gpu
Misthios has quit [Quit: Misthios]
Misthios1 has quit []
Misthios1 has joined #asahi-gpu
Misthios1 is now known as Misthios
possiblemeatball has quit [Quit: Quit]
possiblemeatball has joined #asahi-gpu
joek has quit [Ping timeout: 480 seconds]
cr1901 has quit [Remote host closed the connection]
cr1901 has joined #asahi-gpu
bisko has joined #asahi-gpu
iaguis has quit [Quit: leaving]
<i509vcb>
I believe I've done lowering for base_vertex and num_workgroups correctly. But I need to have these values be set before the main shader executes somehow? I'd imagine I need to do something when recording the command to load the uniform registers with the expected values?
<i509vcb>
(how do I go from the parameters passed into vkCmdDispatch to putting those in the uniform registers I have reserved for that sysval)
<i509vcb>
for indirect, probably the same thing but I just tell where to load the values from?
<i509vcb>
(well I mean what buffer to read from for indirect)
<alyssa>
i509vcb: agx_usc_uniform
<alyssa>
along with each shader, the driver specifies a list of GPU addresses to be preloaded into uniform register ranges
<alyssa>
grep for agx_usc_uniform to see how that works
<alyssa>
AHAHAHAH
<alyssa>
alyssa you just need to add a load_texture_handle_agx intrinsic
<alyssa>
then the special cases disappear
<alyssa>
good ok i like this.
flom84 has joined #asahi-gpu
billak has joined #asahi-gpu
flom84 has quit [Remote host closed the connection]
c10l2 has joined #asahi-gpu
flom84 has joined #asahi-gpu
c10l has quit [Ping timeout: 480 seconds]
crabbedhaloablut has quit []
billak has quit [Quit: Konversation terminated!]
flom84 has quit [Ping timeout: 480 seconds]
cr1901_ has joined #asahi-gpu
nst has quit [Ping timeout: 480 seconds]
cr1901__ has joined #asahi-gpu
cr1901 has quit [Ping timeout: 480 seconds]
cr1901_ has quit [Ping timeout: 480 seconds]
nst has joined #asahi-gpu
<i509vcb>
is there a way I can dump the state of uniform registers?
<alyssa>
not really
<alyssa>
could hack decode.c
<alyssa>
----------------
<alyssa>
I just discovered that, due to a horrendously small sampler heap, it is impossible to implement standards conformant bindless samplers on M1
<alyssa>
That means DX12 is impossible on this hardware
<alyssa>
I am really peaved about this. What a stupid corner to cut.
<alyssa>
Makes the "game porting toolkit" announcement even more obnoxious when I now *know* that samplers are necessarily broken in there.
<i509vcb>
I guess I'll have to guess where I went wrong since the dEQP says I have the wrong values
cr1901__ is now known as cr1901
<i509vcb>
something a bit simpler, dumping nir?
<alyssa>
AGX_MESA_DEBUG=shaders
<alyssa>
if you need to see NIR before/after every pass, NIR_DEBUG=print but it's very verbose
<alyssa>
ASAHI_MESA_DEBUG=trace AGX_MESA_DEBUG=shaders is my go-to
possiblemeatball has quit [Quit: Quit]
c10l2 has quit []
c10l has joined #asahi-gpu
<i509vcb>
The shader looks fine, I can see the load from the right uniform registers and the store into the buffer where the dEQP test compares the result