ChanServ changed the topic of #lima to: Development channel for open source lima driver for ARM Mali4** GPUs - Kernel driver has landed in mainline, userspace driver is part of mesa - Logs at https://oftc.irclog.whitequark.org/lima/
camus has joined #lima
camus1 has joined #lima
camus has quit [Ping timeout: 480 seconds]
camus has joined #lima
camus1 has quit [Read error: Connection reset by peer]
camus1 has joined #lima
camus has quit [Ping timeout: 480 seconds]
drod has quit [Remote host closed the connection]
camus has joined #lima
camus1 has quit [Read error: Connection reset by peer]
camus has quit [Remote host closed the connection]
camus has joined #lima
camus1 has joined #lima
camus has quit [Ping timeout: 480 seconds]
camus has joined #lima
camus1 has quit [Remote host closed the connection]
drod has joined #lima
camus has quit [Remote host closed the connection]
camus has joined #lima
camus1 has joined #lima
camus has quit [Ping timeout: 480 seconds]
chewitt has joined #lima
alyssa has joined #lima
<alyssa> anarsoul: yikes.. did not see how many places lima_resource.c depends on pixels vs blocks
<anarsoul> yeah, unfortunately it's not trivial to fix
<alyssa> given I don't even own utgard hw, I guess the alternative is to define the tiling routines to operate on pixels and then I don't need to touch lima at all
<alyssa> (and lima still gets the bugfix)
<anarsoul> alyssa: didn't I mention drm-shim? :)
<alyssa> you did, didn't I mention my laziness? :-p
<alyssa> also "doesn't crash" isn't the bar for correct here ;)
<anarsoul> I can test it (and probably spend an hour or two to fix it) if it doesn't crash
<alyssa> I see prior art in mesa for both transforming pipe_box to units of blocks (v3d) or not and being very careful when doing texture address calculations (freedreno)
<alyssa> I don't have a strong preference. But given lima already does freedreno style it's tempting to do the same in panfrost and stop bikeshedding
<anarsoul> alyssa: is there any reason not to keep it in pixels?
<alyssa> Mmh, it's not clear to me logically what it means for x/y/w/h to be unaligned (with respect to block size)
<alyssa> Maybe the spec forbids that?
<alyssa> Insisting on "integers in units of blocks" in the tiling routine prototypes makes it blatantly obvious that subblock access is illegal
<anarsoul> well
<anarsoul> not illegal
<anarsoul> they just get forcefully aligned
<anarsoul> :)
<alyssa> I shudder
<anarsoul> maybe just add assert to pan_tiling.c if x/y/w/h aren't aligned to block size and then align it in the drivers?
<alyssa> "The width and height of each sub-image must be a multiple of the block size for the format"
<alyssa> "Modifying compressed images along aligned block boundaries is possible"
<alyssa> I don't see anything in es3.2 spec about how unaligned access is supposed to work (silent alignment? error?)
<alyssa> ah here page 184 of the spec
<alyssa> INVALID_OPERATION if not a multiple of the block size
<alyssa> So assert sounds about right
<alyssa> I imagine vk is the same
<enunes> alyssa: CI is still not back up (I was still trying to improve the runtime a bit) but it kinda works, I had run your commits through it here: https://gitlab.freedesktop.org/enunes/mesa/-/pipelines/476327
<enunes> if you need to test it shortly, maybe pulling the CI enable commit for a quick run may help
<alyssa> enunes: ack
<alyssa> strongly considering picking the approach that involves no lima changes and no possible lima breakage 😅
camus has joined #lima
camus1 has quit [Remote host closed the connection]
* alyssa applies Delete The Code methodology
camus1 has joined #lima
camus has quit [Remote host closed the connection]
<anarsoul> alyssa: let me run your rewritten MR through deqp...
<alyssa> warning: it's not even a little tested.
<anarsoul> tjat
<anarsoul> that's what deqp for :)
camus has joined #lima
camus1 has quit [Remote host closed the connection]
<alyssa> anarsoul: CI says panfrost is happy with the changes, you tell me if lima is
<anarsoul> alyssa: still compiling it on my rock64 :)
<alyssa> ah well yes
<anarsoul> alyssa: no new failures in deqp
<alyssa> anarsoul: woohoo!
<alyssa> it should also fix a piglit, should.
<anarsoul> we'll need enunes to confirm that
<anarsoul> :)
<alyssa> enunes: You have been paged :-p
<anarsoul> it's night time for him
<alyssa> ah yes timezones
<anarsoul> alyssa: btw there's no native s3tc support in utgard
<enunes> I happen to be around, I can rebase that CI branch
<anarsoul> so I'm not sure if there'll be any piglit fixes
<alyssa> anarsoul: ack
<alyssa> it should still fix a bug with texsubimage+etc1
<anarsoul> is it supported in panfrost?
<alyssa> dunno?
<anarsoul> well, you removed some s3tc-related failures in your change :)
<alyssa> The buggy case is doing glTexSubImage with a nonzero x/y start coordinate, if the format is a block compressed texture
<alyssa> it's not s3tc specific
<alyssa> I don't know if Piglit tests ETC1 + glTexSubImage + nonzero x/y start
<anarsoul> looks like panfrost indeed supports s3tc
<anarsoul> nice
<enunes> alyssa anarsoul: this should work: https://gitlab.freedesktop.org/enunes/mesa/-/pipelines/477255
<enunes> and then I should probably send the MR to enable it again, rather than prolonging the efforts to improve it while offline...
<anarsoul> enunes: you can just enable deqp for now if piglit isn't ready yet
<alyssa> panfrost piglit still isn't ready 🙃
<enunes> I think piglit is fine, but the boards timeout on dhcp every now and then which increase the runtime by about 3 minutes as it eventually works after some retries
<enunes> doesnt seem to be dhcp itself but looks like the nic thinks it sent dhcp requests, but none reach the dhcp server
<enunes> not a u-boot/firmware issue on my tests so far, maybe a linux driver issue but thats where I stopped troubleshooting
<enunes> static ip doesnt seem to help as the boards just dont have connectivity and fail to mount nfs
<enunes> so eh, it did work for months retrying that dhcp request a couple of times when it happened
<alyssa> for us, the piglit run itself is a mess
<alyssa> I guess it would be fine if we used a judicious skip list, but, eh
<alyssa> The compromise is to keep it as a manual job which someone triggers on interesting MRs to update expectations
<enunes> I saw some drivers do that, turning it into manual would be my fallback plan if piglit turns out to be flaky
<alyssa> gpu faults sometimes cause problems for other processes on panfrost
<alyssa> don't think too hard on what went wrong in the kernel for that ....
<enunes> I guess the tradeoff is that if some MR did regress piglit tests, the next person to manually trigger it would see issues that are not their fault?
<alyssa> so any faulting tests lead to random flakes
<alyssa> Yep
<alyssa> and if some MR fixes piglit tests the next to trigger would get unaccounted for UnexpectedPass's and would have to update the expectations separately
<enunes> in that case you send a standalone MR just to update the expectation lists?
<alyssa> yeah
<alyssa> or just toss the commit onto whatever MR, I have bad MR hygiene :-p
<anarsoul> I wish there was deqp for desktop gl2 :)
<anarsoul> piglit is a mess
<anarsoul> and piglit failures are often hard to debug
<icecream95> It seems that my original two-line commit did work on Lima (tested on Mali450) with no other changes. There were no Piglit tests that could've been useful here, so I had to s/DXT1/ETC1/ on arb_get_texture_sub_image-getcompressed