<alyssa>
gathering data for this layout is... annoying
<alyssa>
since apple only seems to use it with sparse, and apple's idea of sparse is crazy.
<alyssa>
but juryrigged something
<alyssa>
for 3x7x5, mipmapped 3D
<alyssa>
according to the sparse map that spans 5 pages, each specified at 0x200 offsets
<alyssa>
in units of 4
<alyssa>
which is what we expect
<alyssa>
PBE descriptors looks almost like we expect. only weird thing is page-aligned layers isn't set?!
<alyssa>
even though obviously they are
<alyssa>
ditto for the texture descriptor
<alyssa>
first,last level = 0..2
<alyssa>
unk mipmappe dis set
chrisl has joined #asahi-gpu
<alyssa>
oh dEQP-GLES3.functional.texture.filtering.2d.sizes.3x7_linear_mipmap_linear fails too
chrisl has quit [Ping timeout: 480 seconds]
<alyssa>
oh, sure
<alyssa>
mipmapping first divides, then rounds
<alyssa>
instead of rounding first then dividng
<alyssa>
so the hw is a bit more efficient than my original guess.
<alyssa>
cool
<alyssa>
nice
dapsayemolt^ has quit [Remote host closed the connection]
<alyssa>
there we go
<alyssa>
...except for compressed
<alyssa>
so it shares the same weird special case as gpu-tiled
<alyssa>
that makes sense, I guess
<alyssa>
wait what
<alyssa>
then why did we break dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32ui.texture2d_to_cubemap
<alyssa>
serious wat
<alyssa>
found a fault for a 65x65x6 cubemap case with r32f .. ok
<alyssa>
so why is 65x65 different than 3x7?
<alyssa>
er, 65x63
<alyssa>
i guess maybe major vs minor axis is the actual issue here
<alyssa>
ohhhh
<alyssa>
I *think* it does round-then-divide to figure out where levels start
<alyssa>
but divide-then-round to figure out the actual tile sizes in the levels
<alyssa>
this is better than always doing round-then-divide, because at least within a level stuff is nice and packed so you access fewer cache lines --> faster perf
<alyssa>
(perf is the same as divide-then-round, the "correct" approach)
<alyssa>
but worse then divide-then-round for RAM usage since there's extra padding sometimes
<alyssa>
but that doesn't matter for perf since levels are cache line padded anyway
<alyssa>
...except for compressed?
<alyssa>
OK yes here we go
<alyssa>
cts likes this now
<alyssa>
/* AGX: Even the exceptions have exceptions */
<alyssa>
ok, gl cts passing now with twiddled images
<alyssa>
vk, you're up next
pb17 has quit [Ping timeout: 480 seconds]
pb17 has joined #asahi-gpu
WindowPain6 has joined #asahi-gpu
WindowPain has quit [Ping timeout: 480 seconds]
WindowPain6 is now known as WindowPain
chrisl has joined #asahi-gpu
chrisl has quit [Ping timeout: 480 seconds]
<jannau>
agx driver compiles again after replacing a ton stale rust dependencies with upstream changes or patches under active discussion
chrisl has joined #asahi-gpu
chrisl has quit [Ping timeout: 480 seconds]
master91122 has quit [Quit: Connection closed for inactivity]