alyssa changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - - Logs - <daniels> avoiding X is a huge feature
<hanetzer> coreboot with linux as a payload. not yet working.
<alyssa> Having deja vu writing new code.... all gfx drivers starting to look the same..? :P
<HdkR> They are all implementing the same specs, so it ends up being fairly similar
vstehle has quit [Ping timeout: 250 seconds]
<hanetzer> yep... you start to recognize patterns when you sample a lot of the same thing for various platforms
<alyssa> OK, I still need to do a *lot* of cleanup, but I have a set of changes for doing BO reference counting etc the right way
<alyssa> Long story short is, performance gains across the board, especially noticeable in vertex heavy workloads like games.
<HdkR> :D
vstehle has joined #panfrost
<tomeu> alyssa: how do you atm run deqp?
rellla has quit [Quit: see you later]
rellla has joined #panfrost
pH5 has joined #panfrost
stikonas has joined #panfrost
yann has quit [Ping timeout: 240 seconds]
stikonas has quit [Remote host closed the connection]
<janrinze> just a question: do people here use gcc-8 or g++8 on arm64? I noticed that switching on optimization generates error during runtime whereas gcc-7 / g++-7 runs fine.
MoeIcenowy has quit [Quit: ZNC 1.6.5+deb1+deb9u1 -]
MoeIcenowy has joined #panfrost
yann has joined #panfrost
mateo` has quit [Ping timeout: 250 seconds]
mateo` has joined #panfrost
afaerber has quit [Quit: Leaving]
raster has joined #panfrost
afaerber has joined #panfrost
<tomeu> janrinze: I'm using 8 here
<tomeu> janrinze: can you paste the errors?
<janrinze> tomeu: the error is free() invalid size. Since I use stl objects it seems it's related to memory management in the c++ library. If i compile with -g to trace the error it simply disappears.
<tomeu> maybe if you check what pointer is being free'ed, you will see the reason?
<tomeu> guess it could be with how a struct is packed
<janrinze> tomeu: since it only happens with optimization turned on and hence hard to track where it happened. No specific packing of structs used here.
<janrinze> tomeu: I just wondered if others had seen similar issues with g++-8. The issue is not there on g++-7
raster has quit [Ping timeout: 252 seconds]
raster has joined #panfrost
robher has quit [Changing host]
robher has joined #panfrost
robher has joined #panfrost
<alyssa> tomeu: cd deqp/build/modules/gles2 ; ./deqp-gles2 # -n whatever.whatever.*
thefloweringash has joined #panfrost
yann has quit [Ping timeout: 264 seconds]
chewitt has joined #panfrost
pH5 has quit [Quit: bye]
raster has quit [Remote host closed the connection]
stikonas has joined #panfrost
pH5 has joined #panfrost
yann has joined #panfrost
afaerber has quit [Quit: Leaving]
BenG83 has joined #panfrost
<HdkR> Today is Panfrost day
<Lyude> nice :)
<Lyude> what are you planning on working on today?
<HdkR> job generation and submission
<Lyude> ahh, still using the dummy job stuff you had correct?
<HdkR> Never even did any job stuff. Just had the command line app for shader compilation :P
<Lyude> ahh
<Lyude> oh erm, I might have misworded that
<Lyude> I was trying to refer to the one-instruction-per-clause stuff you had
<HdkR> yea, that was purely compilation. I hadn't gotten far enough to even start pushing it over to the GPU to run yet
<alyssa> HdkR: I would encourage focusing on the compiler...
<HdkR> Sure. I'm also using it as an excuse to take a break from compiler work though :P
<HdkR> So infrastructure outside of that would be cool
<alyssa> HdkR: Sure
<alyssa> HdkR: Well, if you insist on doing command stream stuff, I'd say submit patches early and often. I'm willing to merge bifrost patches ahead-of-time, and I definitely want to do review so we don't diverge in bad ways.
<HdkR> Awesome. I was going to ask if you would allow that :)
<alyssa> <3
<alyssa> HdkR: I figure I'm going to end up maintaining parts of this at some point anyway, so.. :P
<HdkR> hah
<HdkR> You'll have me for ten hours a week at least :P
<anarsoul> alyssa: are you planning to rework varyings any time soon?
afaerber has joined #panfrost
<robher> alyssa: I've been looking at the 32 vs. 64 bit support. I think the best way to address it is stick with the 64-bit version of structs everywhere and then copy 64-bit struct elements into the 32-bit struct in panfrost_vertex_tiler_job(). The only alternative I've come up with is start splitting context functions into 32 and 64 bit versions which seems hard to maintain. Thoughts?
<alyssa> anarsoul: Eventually? Yes. Soon? Probably not.
<alyssa> robher: I mean, one option is just... always using 64-bit structs.
<alyssa> Which is... fine. It's more memory usage on 32-bit, though.
<anarsoul> alyssa: I think I'll end up with allocating bo per job and reusing it later. Reallocating it if it's not large enough for current verteces count
<alyssa> anarsoul: :+1:
<anarsoul> I have no idea why Qiang decided to use suballocator for it. It just doesn't fit here
<anarsoul> (it can't resize bo)
<robher> alyssa: oh! I had the impression that the T6xx/7xx h/w only supported 32-bit?
<robher> I did see there's some flag though to set the size.
<HdkR> bifrost_compiler branch rebased
<robher> alyssa: It would be strange that the h/w supports 2 different layouts of midgard_payload_vertex_tiler.
stikonas has quit [Remote host closed the connection]
pH5 has quit [Ping timeout: 246 seconds]
<alyssa> robher: It is strange, but that's what the hardware does :P
<alyssa> AFAIK
<alyssa> Fairly sure at least
<alyssa> We probably have bugs preventing us from getting the 32-bit structs on T8xx etc, but conceptually, it's my understanding it does both.
<anarsoul> alyssa: then why not to go 64-bit on T6xx/T7xx?
<alyssa> HdkR: Maybe hold off on the compiler, but if you want to send a patch with just the standalone disassembler, I could probably merge that and get a good chunk of code off your hands
<robher> alyssa: then I'm confused as to what's not working for folks? Juno with T624 is a 64 bit system BTW.
<HdkR> alyssa: I could do that. Would shave off a lot
<alyssa> robher: I don't have traces of the blob running on 32-bit doing a 64-bit thing and vice versa, since I don't test on Juno or whatever
<alyssa> The hardware can do it. I just can't.
<alyssa> HdkR: :)