anarsoul|2 has quit [Remote host closed the connection]
anarsoul|2 has joined #panfrost
<alyssa>
robclark: The issue is that the ARM driver isn't even DRM
<alyssa>
Like, Gallium can't even -load- the driver
<alyssa>
(we're currently pretending to be softpipe for loading)
<alyssa>
afaik for freedreno, for instance, the msm driver at lest pretends to be DRM (opening a /dev/dri device)
<robclark>
so, in early days I used a kgsl_drm shim fake driver thing that qcom used to have..
<robclark>
but I guess I didn't look into how etnaviv/vc4/v3d did it
<robclark>
at any rate, as far as opinion of other mesa dev's.. I think as long as whatever lands upstream doesn't break build for others, it is all-good
<alyssa>
so I've heard
<robclark>
so even if what is merged upstream doesn't work on it's own, but means needing smaller out-of-tree patch .. then it is a fine option
<alyssa>
I mean, the 'right' option is to let pipe loader work for non-DRM cases so we can support people that can't/won't upgrade kernel but..
<robclark>
plus it is useful for us to be able to at least compile-test gallium and nir changes with your code
* alyssa
murps
<robclark>
the driver loading part of the code doesn't change too much, so if you have to keep some hacks around that downstream in order to upstream the other 90% of the code, that's fine
<alyssa>
(It'd be 1% downstream, 99% upstream but)
<alyssa>
["Even better. Stop making excuses." "Blurp"]
<robclark>
anyways, nir is fast moving.. gallium less so but there are still changes coming there (I'm working on some for glDiscardFrambuffer()/glInvalidateFramebuffer()).. the loader code less so
<robclark>
so until you have upstream driver, the thing you should thing about is how to minimize what you have downstream and need to rebase
<alyssa>
I mean
<alyssa>
Are you suggesting "throw 12kloc onto mesa-dev and don't ask questions"? :P
<anarsoul|2>
robclark: so what's the threshold for upstreaming the driver?
<anarsoul|2>
i.e. should it be done for lima considering that it's not full-featured driver yet?
<robclark>
alyssa, well, there might ofc be some review comments.. but mesa-dev's know that rome (aka full gpu driver stack) wasn't built in a day
<alyssa>
alright.
<alyssa>
aside: ahhh function pointers what the cornball
<robclark>
and they are more accommodating than kernel, imho.. as far as landing stuff to make your life easier rather than waiting until everything is finished
<alyssa>
So I've noticed
<alyssa>
ADmittedly trivial patches but same-day review and upstreamed next day for the few things I've sent
<robclark>
anarsoul|2, threshold, as far as mesa code, is don't break things for other drivers and other devs
<alyssa>
Compare LKML where it was a month before any comments whatsoever and I got scared off :P
<anarsoul|2>
alyssa: I'd ping maintainers if there's no comments for a week
<anarsoul|2>
but kernel is a bit different, yeah
<robclark>
anyways, kernel won't land until there is a userspace.. userspace take some time so mesa is ok about landing wip stuff as long as you don't break things for others
<robclark>
plus that gives you the userspace needed to land the kernel bits
<alyssa>
Alright
<robclark>
once you get to point of having upstream kernel, it shifts a bit.. but worry about that later
* anarsoul|2
wishes he had more time to work on lima
<robclark>
alyssa, anyways, no harm in patch-bombing mesa-dev w/ an RFC.. just summarize current kernel state in cover letter.. but my experience from other devs in early days of freedreno was more or less 'well, as long as it doesn't break me, sounds fine'
<alyssa>
alright
<alyssa>
(Seriously, is there no way to get 'typeof' in mesa?!)
<alyssa>
Unless someone smarter than me can figure out how to migrate this code
<alyssa>
o wait can i just uh
<alyssa>
Oh I can just __typeof__ instead
<alyssa>
>_______>
<robclark>
for fancyness.. it might be worth checking that what you depend on is avail in clang.. since eventually people will want to build driver for android.. they might send patches too but at that point you won't want to re-write whole driver ;-)
<alyssa>
mmmf
* alyssa
drowns in compiler
<HdkR>
Welcome to my world
<anarsoul|2>
:)
<alyssa>
help
* anarsoul|2
throws compiler-proof life-preserver
<alyssa>
oh, now I'm fighting mesa's lists
anarsoul|2 has quit [Ping timeout: 240 seconds]
<alyssa>
Why does the linked list traversal SEGFAULT i just
<alyssa>
THIS IS NOT SUPPOSED TO BE THE HARD PART
<alyssa>
..there we go :)
<alyssa>
Totally wasn't about to give up
<robclark>
this is where kernel's list-debug stuff would be nice.. list_head stuff is totally easy until you mess it up ;-)
<alyssa>
;)
<alyssa>
All in all, this adds about 3kloc to the driver
<alyssa>
Not bad all things considered
<alyssa>
(2k of that is the actual decoding/dumping, unrelated to LD_PRELOAD and such)
<alyssa>
More importantly, we're now down to a single mali-job.h!
<alyssa>
Blugh what do you mean cannot open shared object file
<alyssa>
Fine I guess I'll compile mesa on board :V
cwabbott_ has quit [Ping timeout: 272 seconds]
anarsoul has quit [Remote host closed the connection]
anarsoul has joined #panfrost
<chewitt>
I'd ask that you reconsider combining the mesa code into a single repo
<chewitt>
rebase should be simple because you're not really touching the main mesa code .. it's all in the panfrost subdir?
<chewitt>
packaging for various distro's that would like to support panfrost then becomes trivial
anarsoul|2 has joined #panfrost
anarsoul|2 has quit [Remote host closed the connection]
_whitelogger has joined #panfrost
sleepymario has joined #panfrost
<sleepymario>
hello everyone. i read on a. rosenzweigs blog that there's been big improvements with the mali drivers. How near to usable is it? Is it Tinkerboard-Testing prime time yet or should I be quiet and wait for some longer? Thanks for the hard work btw :)
<HdkR>
I'd recommend waiting at least until winsys issues are sorted
<sleepymario>
HdkR: all right. any guess how long that'll approximately take or is that very hard to say?
<HdkR>
That's a bit more difficult to nail down. Probably requires a new kenel module still :P
<HdkR>
(Seems to be the consensus anyway)
<anarsoul>
sleepymario: I guess the answer is "when it's ready"
<sleepymario>
okie, thanks for the update
_whitelogger has quit [Remote host closed the connection]