stikonas has quit [Remote host closed the connection]
anarsoul has quit [Remote host closed the connection]
anarsoul has joined #panfrost
vstehle has quit [Ping timeout: 258 seconds]
megi has quit [Ping timeout: 245 seconds]
rcf has quit [Ping timeout: 245 seconds]
rcf has joined #panfrost
herbmilleriw has quit [Ping timeout: 244 seconds]
herbmilleriw has joined #panfrost
vstehle has joined #panfrost
yann has quit [Ping timeout: 245 seconds]
<tomeu>
shadeslayer: I was thinking of strings so one can also put stuff such as dimensions, format, texture kind, maybe even the proc name of the client that created it, ...
<tomeu>
we are going to be hacking a lot on panfrost, so I think this is going to pay off in the future
<tomeu>
I'm thinking of using this for debugging BO leaks and for aiding in making sure shared buffers have the expected format and modifiers
guillaume_g has joined #panfrost
adjtm_ has quit [Ping timeout: 246 seconds]
warpme_ has joined #panfrost
yann has joined #panfrost
pH5 has joined #panfrost
adjtm_ has joined #panfrost
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
warpme_ has quit [Client Quit]
warpme_ has joined #panfrost
<shadeslayer>
tomeu: yep, can totally be done
<shadeslayer>
so I came up with a approach that suits us, we have a PANFROST_DRM_BO_TYPE_* (<bbrezillon> texture, polygon-list, tiler-heap, ...) field and a char *label in the args, we store the label in each BO and have the kernel print memory allocated to each type in debugfs
<shadeslayer>
and we can have a PANFROST_DRM_BO_TYPE_USER for anything custom
<shadeslayer>
no need for hashing :)
chewitt has joined #panfrost
<shadeslayer>
we can just index the array with the BO type, so easy to keep track of size
<bbrezillon>
shadeslayer: I think BO_TYPE_TEXTURE,POLYGON_LIST, ... should just be user BOs
<bbrezillon>
the kernel doesn't know about those things
<bbrezillon>
so, I guess just passing a string at BO creation time is fine
<shadeslayer>
bbrezillon: ok, then we need to figure out if we want to print how much memory each of these BO's takes to debugfs
<bbrezillon>
shadeslayer: yep, sounds like a good idea
<shadeslayer>
bbrezillon: that's kind of a performance issue I fear, we'd need to have a string/int k/v hash
<shadeslayer>
and that'd lead to performance penalties
<bbrezillon>
shadeslayer: you might also want to implement the use case described by alyssa (print the BO type when you get a page fault)
<shadeslayer>
bbrezillon: sounds like a pretty good idea yes
<tomeu>
that will be great
<bbrezillon>
shadeslayer: you'll anyway need to hash the string if you want to avoid duplication
<shadeslayer>
bbrezillon: hash the string for?
<bbrezillon>
to avoid copying allocating memory for the same string over and over again
<bbrezillon>
this being said, a BO already allocates a lot of memory, maybe we don't care about the extra few bytes needed here
<shadeslayer>
do you think we'd be allocating the same string if we add stuff like pid, dimensions, format, etc
<shadeslayer>
that sounds like a pretty unique string to me
<tomeu>
guess userspace could only set strings when DEBUG or so
<bbrezillon>
oh, then you won't be able to classify things if you do that
<shadeslayer>
^^ that's what I was thinking, guard behind a #ifdef DEBUG
<shadeslayer>
bbrezillon: well, we could do a coarse classification for printing to DEBUGFS
<shadeslayer>
for eg App A and App B could would both allocate BO_TYPE_TEXTURE, but their label's would be different, so we can figure out how much texture memory is allocated all together, but not on a per app basis
<bbrezillon>
I guess we can dump all BOs and let a userspace tool do the classication based on the label
<shadeslayer>
bbrezillon: also a option, makes everything a lot more easier
<bbrezillon>
BTW, BOs can be passed to other processes
<shadeslayer>
bbrezillon: as in a shared BO?
<bbrezillon>
yes
<shadeslayer>
uhhh ... yeah ... that's gonna not fly
<shadeslayer>
I think I'll just implement the basic label'ing and printing on page fault for now
<shadeslayer>
because printing to debugfs will need some consideration clearly
<bbrezillon>
have you discussed with anholt?
<shadeslayer>
I haven't no
<shadeslayer>
I'll ping him
megi has joined #panfrost
raster has joined #panfrost
warpme_ has quit [Quit: warpme_]
raster has quit [Remote host closed the connection]
raster has joined #panfrost
warpme_ has joined #panfrost
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
megi has quit [Ping timeout: 258 seconds]
NeuroScr has quit [Ping timeout: 244 seconds]
NeuroScr has joined #panfrost
jolan has joined #panfrost
warpme_ has quit [Quit: warpme_]
chewitt has quit [Ping timeout: 245 seconds]
warpme_ has joined #panfrost
chewitt has joined #panfrost
raster has quit [Remote host closed the connection]
raster has joined #panfrost
NeuroScr has quit [Quit: NeuroScr]
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
afaerber has joined #panfrost
megi has joined #panfrost
guillaume_g has quit [Quit: Konversation terminated!]
guillaume_g has joined #panfrost
davidlt has joined #panfrost
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
davidlt has quit [Ping timeout: 244 seconds]
davidlt has joined #panfrost
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
davidlt has quit [Ping timeout: 246 seconds]
guillaume_g has quit [Quit: Konversation terminated!]
chewitt has quit [Quit: Adios!]
guillaume_g has joined #panfrost
guillaume_g has quit [Quit: Konversation terminated!]
raster has quit [Remote host closed the connection]
pH5 has quit [Quit: bye]
stikonas has joined #panfrost
herbmilleriw has quit [Remote host closed the connection]
<popolon>
I compiled panfrost 19.2.0RC1 and last git on RK3288 with ArchLinuxARM, and lot of things works now :) Thanks for all the developpers !!
<popolon>
on last git, glmark crash, but 2 new opensource games work perfectly : briquolo and foobillard+
<popolon>
on 19.2.0RC1 glmark2 work perfectly but a little artifact on projected shadow on ideas bench. The shadow works fine with last git version
<popolon>
warzone2100 works very fast on both, but with big glitchs (large tiangles mask little objects
<popolon>
this one can probably used for test/debug.
<popolon>
I made my tests on an Asus C201 laptop
<popolon>
I don't know if I can help by adding bug reports or information on what work/don't work with test. I would not like to make you lost time in your progress.
<HdkR>
WOo! Sounds like a good experience :)
<popolon>
yes in 2 days, I'm very happy to see all this stuff working.
<popolon>
weston 7.0.0 doesn't work anymore with both 19.2 (weston 6.x worked well)
<popolon>
7.0 reached archlinuxARM this morning
<popolon>
Some WebGL experiment work (very slowly) in firefox too :)