alyssa changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - https://gitlab.freedesktop.org/panfrost - Logs https://freenode.irclog.whitequark.org/panfrost - <daniels> avoiding X is a huge feature
* alyssa just did some cleanup
<alyssa> "dump" "dummp" "floof"
<alyssa> What file names..
<alyssa> Really I just need to implement a MIR helper to inserting instructions after scheduling
<alyssa> Which is stupidly hard but definitely doable and it should be worth it in the end (?)
nickolas360 has quit [Ping timeout: 272 seconds]
<alyssa> Oy vey.
<alyssa> Eh, it'll be a good compiler improvement anyway
MoeIcenowy has quit [Ping timeout: 268 seconds]
* alyssa has a _lot_ of refactoring needed to make this possile
MoeIcenowy has joined #panfrost
<alyssa> Should bundles be a linked list then...?
* alyssa doesn't really want to rewrite even more code for what's literally just a compiler _experiment_
nickolas360 has joined #panfrost
vstehle has quit [Ping timeout: 272 seconds]
MistahDarcy has joined #panfrost
<alyssa> Well, conceptually I think this makes sense
<alyssa> In practice there are some hairs since we really do have to split bundles in some cases for spilling to succeed and that....
<alyssa> It's not hard, it's just more code :p
unoccupied has joined #panfrost
unoccupied is now known as _4of7
_4of7 is now known as leah
leah is now known as unoccupied
* alyssa back from nomming
<alyssa> Let's try to do bundle splitting I guess....?
* alyssa would really rather not T_T
<alyssa> ....and I don't think I actually have to, within reason
<alyssa> The largest possible bundle reads 2 diff. arguments in 5 different slots
<alyssa> So if we have 10 registers, there's no need to break bundles. Easy peasy lemon squeezey.
<alyssa> (In practice that never happens. 8 is plenty.)
<alyssa> gah valgrind is *not* happy with me
<alyssa> ==3956== Invalid write of size 8
<alyssa> ==3956== at 0x5A15598: list_addtail (list.h:76)
<alyssa> Seriously ummmmmm
unoccupied has quit [Quit: WeeChat 2.5]
<alyssa> Oh come on
<alyssa> No glmark changes after all that :V
<alyssa> Pushing the code to CI.. Let's just say this created... quite a bit of "negative knowledge"
_whitelogger has joined #panfrost
* alyssa has been toying with projection optimizes inspired by lima work
<alyssa> Hopefully this pans out better than the above crapshoot :p
<alyssa> "Instructions are HURT"
<alyssa> Not something I want to read, tut tut
<HdkR> Who hurt the innocent instructions?
<HdkR> Emotionally or physically?
<alyssa> HdkR: Emotionally....
<HdkR> Dang. Those poor instructions
<alyssa> Re RA-then-schedule or vice versa, one beneift to doing RA first (the easy way) is that coalescing is easier.
davidlt has quit [Remote host closed the connection]
davidlt has joined #panfrost
vstehle has joined #panfrost
<tomeu> alyssa: I'm seeing "Unhandled ALU op fddx" when trying to launch the webgl aquarium
<HdkR> No derivatives this day :)
<tomeu> hmm, looks like it's something chromium does to all webgl, even a simple clear
<tomeu> webkit works fine
<tomeu> ah, also get "Unhandled ALU op fdph" on webkit, but that's only when compositing the page for the second time
guillaume_g has joined #panfrost
yann has quit [Ping timeout: 268 seconds]
somy has joined #panfrost
pH5 has joined #panfrost
<tomeu> alyssa: afaics, we reach OOM because we never evict from the cache
<tomeu> if there's no mechanism in EGL to notify mesa of memory pressure conditions, then I guess mesa could listen for them on its own
<tomeu> many moons ago I implemented such a listener for webkit, I guess mesa could do the same: https://bugs.webkit.org/show_bug.cgi?id=123532
<tomeu> but even then, we should probably put a limit on the size of the cache
<tomeu> alyssa: regarding use of glReadPixels to composite webgl surfaces, that seems to be because gtk only supports non-shared ES2 contexts
<tomeu> and creation of GL contexts fails, I guess due to some missing format or so
<tomeu> next step would be finding out why exactly context creation fails
<tomeu> guess that will reduce the amount of memory needed as well
raster has joined #panfrost
yann has joined #panfrost
<guillaume_g> tomeu: using master, panfrost is not selected anymore and it tries to use llvmpipe (tested with kmscube). So, we have a regression compared to 19.1.2
<tomeu> guillaume_g: on what hw?
<guillaume_g> tomeu: snow (exynos5250 + t604)
<tomeu> guillaume_g: yeah, you will have to whitelist that GPU
<guillaume_g> tomeu: Ok. How could I do that?
<tomeu> guillaume_g: something like this: http://paste.debian.net/1092853/
<guillaume_g> tomeu: Ok. According to kernel traces it is detected as 0x600, not 0x604.
<tomeu> ok, then 0x600
<rtp> so it's 0x600. I was wondering what was the gpu id for it
<tomeu> guillaume_g: is it working?
thefloweringash has quit [Ping timeout: 250 seconds]
calcprogrammer1 has quit [Ping timeout: 240 seconds]
sphalerit has quit [Ping timeout: 276 seconds]
jcureton has quit [Remote host closed the connection]
thefloweringash has joined #panfrost
sphalerit has joined #panfrost
guillaume_g has quit [Quit: Konversation terminated!]
guillaume_g has joined #panfrost
<raster> guillaume_g: that's suspiciously similar to the odroid xu3/xu4 but not quite there. some chromebook?
<rtp> raster: snow is the first arm chromebook from samsung
<raster> the chromebook 2? i thought that was exynos4xxx?
<rtp> no, samsung XE303C12 aka snow is 5250. The other ones, samsung arm chromebook 2 (XE5*) are peach pi (5800) and peach pit (5420)
<raster> hmm i may have the latter
<raster> i thought it was exynos4 ... but seemingly not
<rtp> I dont know for the peach pi but snow's case is grey and peach pit's case is black.
<rtp> iirc peach pi has also a bigger screen
<raster> mine is a grey with slight goldish metal tinge
<raster> 1920x1080 screen
<rtp> so it's peach pi. the others have smaller screen
<raster> i once got linux working on it
<raster> but then dev mode screwed up...
<raster> so it has been collecting dust ever since :)
<rtp> 11" (1366x768) vs 13" (?) iirc
<raster> yeah 13" and 4gb ram
<raster> i remember that much
<raster> yeah - the latter one
<raster> thats it
<raster> though https://en.wikipedia.org/wiki/Exynos says its the same gpu as (exynos5250 which it says is a t628 mp6)
<raster> which is the same as on the odroid xu3/4 which is why it just smells so similar
<rtp> 5250 has 604. that's what the HW is saying :)
<raster> not sure what t604 is about?
<raster> hmm
<raster> wikipedia thinks otherwise :)
<raster> oh wait
<raster> no 5420
<raster> not 5250
<raster> never mind
<raster> yeah - wikipedia agrees 604.
<raster> sorry - messed up the number-soup :)
<rtp> yeah, 5420 is 628 (r0p1 iirc)
<daniels> snow is exynos 5250 / mali t604, peach-pi is exynos 5420 / mali-t628, peach-pit is exynos 5800 / mali-t628
<daniels> sorry, got pi and pit the wrong way around
<daniels> the 5800 in the peach-pi is _almost_ exactly the same as the 5422 in the odroid-xu3
<raster> too many numbers, code names and ... soup :)
<rtp> I only remember that because I've a snow and a peach pit. otherwise, I surely won't :)
<daniels> those devices used to work really well with mainline, but then every release they got broken by tizen changes
<raster> rtp: haha :)
<raster> daniels: i notied they partly worked way back - but not that well and it didn't improve so it ended up a good dust collector. :(
<raster> err i noticed
<rtp> daniels: yeah but no 3D
<raster> i ened up having to hit ctrl-d every boot to boot into linux as opposed to chrome-os and that was very irritating.
<daniels> rtp: indeed
* rtp thinks it's ctrl-u :)
BenG83 has joined #panfrost
* guillaume_g removed chromeOS (as it is no more supported) and installed openSUSE Tumbleweed on internal eMMC :) => no more ctrl-u on boot
jcureton has joined #panfrost
<jcureton> alyssa: thanks for the explanation! i'll try to hunt down that patch today and find some time to try it out
<alyssa> tomeu: Derivatives are doable (it's ES3.0), just haven't had an app using them to justify
<alyssa> fdph should have been lowered by NIR so I dunno what's up there
<alyssa> BO cache eviction is supposed to happen from a madvise() from trhe kernel but that needs kernel help.
<alyssa> raster: guillaume_g rtp; Ctrl-U for USB, Ctrl-D for internal
* alyssa hits Ctrl-D every boot for Debian on her internal eMMC
<alyssa> jcureton: Good luck!
<raster> from memory it was ctrl+d to boot from sd card
<raster> i never tried usb :)
<alyssa> eMMC is just a silly SD card.. ;)
<raster> well kind of - but i needed ctrl+d to boot from sd card i think as oppose to internal emmc
<guillaume_g> on snow, ctrl-d is for Internal eMMC, ctrl-u for external (SD and/or usb)
guillaume_g has quit [Quit: Konversation terminated!]
guillaume_g has joined #panfrost
somy has quit [Quit: Leaving...]
<daniels> you can use crossystem to autoboot without ctrl-d/u
<alyssa> daniels: Doesn't that defeat the security model?
<daniels> only in as much as disabling vboot etc does in the first place
<daniels> i mean, yeah it does lessen security, but it is your own device after all
<alyssa> daniels: Yeah, but disabling vboot causes big scary warning hence the ctrl-d
<alyssa> ChromeOS's security model, not mine
BenG83 has quit [Quit: Leaving]
* alyssa just did some SFBD toying
<alyssa> (For T600/T720)
<alyssa> Back to compiler core
guillaume_g has quit [Quit: Konversation terminated!]
megi has joined #panfrost
<alyssa> Making progress on the compiler but.. I didn't know how much I didn't know, haha
<HdkR> Knowledge is power
pH5 has quit [Quit: bye]
<alyssa> You got to be kidding me
* alyssa just implemented the scheduler change to accomodate this new thing.. still broken..
<alyssa> "27 work registers"
<alyssa> That might be related, lol
<alyssa> ......................Yup
<alyssa> Just needed that one line change
<alyssa> All the scheduler changes I can drop.
<alyssa> Sigh, that's how you learn!
<alyssa> C'est la vie
<alyssa> Alrighty, with my new RA branch I have -bbuild working
<alyssa> Next up will be special register spilling, for -bshading:shading=phong as the next test
* alyssa break
<rtp> alyssa: guillaume_g gave me a link to your sfbd commits. fyi, I think I'll have time to test them tonight.
raster has quit [Remote host closed the connection]
stikonas has joined #panfrost
<alyssa> rtp: Good luck!
MistahDarcy has quit [Quit: Leaving]
calcprogrammer1 has joined #panfrost
<rtp> alyssa: bad luck. black screen and a lot of status=DATA_INVALID_FAULT (it was with mesa head and the three patches). Sorry, but I prefer my hack then :)
<rtp> at least, no segfault
<alyssa> rtp: No segfault is progress? :p
<alyssa> rtp: Anyway. I'm not really surprised, it's untested code ;)
<alyssa> rtp: Mind sending the output with PAN_MESA_DEBUG=trace? Both with those 3 patches and without them (but with your hack)
<alyssa> (And then diff the two from running the same app for one-frame ideally, and see where the problem is)
jcureton has quit [Remote host closed the connection]
<rtp> alyssa: the problem is at least with the first patch. If I apply only the third one, it's working (my hack is even not applied)
<Lyude> hey narmstrong, sorry for the slow reply, some stuff came up and I've been MIA for a couple days. I'll grab you the details of the issue I was hitting today
<alyssa> rtp: Weiiiiiird?
<alyssa> The frist patch (`require_sfbd` moveabout) was supposed to be a no-op refactor :/
<alyssa> ---Oh, derp
<alyssa> rtp: Pull latest sfbd.
<rtp> alyssa: haha. I was about to tell you I found the issue: http://paste.debian.net/hidden/890f362e/
<rtp> looks like you found the same thing
<alyssa> rtp: Great minds think alike? :P
<alyssa> Bunch of regressions on my RA series. Fun.
<rtp> I'm sure you'll fix them :)
<alyssa> :)
<alyssa> rtp: Regressions don't usually involve uncertainty, just tests of patience ;)
hlmjr is now known as herbmilleriw
<alyssa> rtp: Sorted out. I hope.
<alyssa> At least a bunch are. We'll hear back from CI on the rest in about 20min.
<rtp> btw, while now it's working without crashing, the output of glmark2 is not perfect with -bbuild and -bshading. I see black triangle(?)
<alyssa> rtp: *flashbacks*
<rtp> but it's not a regression. without your patches it was already like that
* alyssa can't remember if she ever figured out the cause of that nightmare
<alyssa> Did I ever? Or did I just switch to T860 and it went away...?
<rtp> no idea. I only tried glmark2 this week so I've no idea if it worked correctly before
<alyssa> rtp: I think I saw that with T760 at one point, I mean
<rtp> ohhh
davidlt has quit [Ping timeout: 248 seconds]
<Lyude> alyssa: you still need access to that t820 btw right/
<alyssa> Lyude: Yes, please :)
<alyssa> For helping debug chewitt's issue with Kodi
<Lyude> alyssa: alright, sorry it's taking a while - i've been mia for a bit
<rcf> On the T760 glmark2 was having issues, but when I pulled from the latest git (rather than release) to try and debug things the issues went away and it completed without any OOM or serious glitches.
<rcf> glmark2-es2, at least.
<alyssa> Lyude: No worries :)
yann has quit [Ping timeout: 245 seconds]
<alyssa> rcf: Yeah, master is *MUCH* more stable than 19.1 (which wasn't supposed to be a Panfrost release, so to speak)
<rcf> I meant glmark2, not mesa. I was using their ancient 2014 release before.
<alyssa> Oh, alright
<alyssa> Wel, it also goes for mesa ;)
<rcf> (and yes mesa master makes panfrost actually usable as a normal desktop for the most part)
<alyssa> 19.2 is prophecied to be the real first release for Panfrost, a 1.0 so to speak
<alyssa> Which is.... less than two weeks away now. Shoot.
<rcf> Memory use has shot way down in the past week or so, which is nice.
<alyssa> rcf: We'll be working to get it down a lot more in the next weeks as well :)
<rcf> In any case thank you for making hell freeze over and allowing these ARM GPUs to run on mainline :)
<alyssa> rcf: My pleasure!
<alyssa> Update: CI came back, no functional regressions.
<alyssa> Still tracking down a performance regression introduced (noticed in shader-db) but we'll get it
<alyssa> Got that regression solved
<alyssa> Only perf regression remaining is an odd interaction between class spilling and use lowering
<alyssa> It would be easily enough solved with a copy prop run after RA, but that's not really feasible
<alyssa> Next best would be coalescing
<alyssa> I guess I can ignore it, it doesn't matter right now
stikonas has quit [Remote host closed the connection]
robert_ancell has joined #panfrost
<alyssa> Trying to get perspective projection ops wired in
<alyssa> Simple cases work, but there are issues with how we're forcing the r27 register (the mechanism is related but distinct from how st_vary is done)
<alyssa> set_node_reg doesn't work, I need to create a new interfering register class
herbmilleriw has quit [Remote host closed the connection]
herbmilleriw has joined #panfrost
<alyssa> There we are
<alyssa> My shiny GPU feels slow today
<alyssa> What could possibly be up
<alyssa> And it's not just this branch ummmmm
<alyssa> devfreq is somehow to blame probabl
<alyssa> It's maxxed um
* alyssa shrugs
<alyssa> Rebooted and it's fine now
yann has joined #panfrost
<alyssa> Alright, have quite a bit of a day's work here
<alyssa> Time to do the _delightful_ task of rebasing everything
<alyssa> Of course, it'll be easy since I already finished my git rebase hazing ritual ;)
<alyssa> 32 patches to deal with, not awful